Martin Roth (gaumless(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8154
-gerrit
commit d7230356eb8f5f33e11ada8963a4e2f52e106bd5
Author: Martin Roth <gaumless(a)gmail.com>
Date: Tue Jan 6 10:20:42 2015 -0700
northbridg/via/vx900: Doxygen fixes
- @todo has to be lowercase for doxygen
- Fix some parameters that had changed in the code.
- The @file entries needed to be more specific.
Change-Id: Icdce08735f581609cd25cce41e986c71435368a4
Signed-off-by: Martin Roth <gaumless(a)gmail.com>
---
src/northbridge/via/vx900/chrome9hd.c | 2 +-
src/northbridge/via/vx900/early_smbus.c | 3 ++-
src/northbridge/via/vx900/lpc.c | 2 +-
src/northbridge/via/vx900/northbridge.c | 2 +-
src/northbridge/via/vx900/pcie.c | 2 +-
src/northbridge/via/vx900/sata.c | 2 +-
src/northbridge/via/vx900/traf_ctrl.c | 2 +-
7 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/northbridge/via/vx900/chrome9hd.c b/src/northbridge/via/vx900/chrome9hd.c
index b9fed6f..326fda1 100644
--- a/src/northbridge/via/vx900/chrome9hd.c
+++ b/src/northbridge/via/vx900/chrome9hd.c
@@ -53,7 +53,7 @@
* the IGP is able to use it. GRUB2 and linux are capable of getting a usable
* text console, which uses the monitor's native resolution (even 1920x1080).
* The graphical console (linux) does not work properly.
- * @TODO
+ * @todo
* 1. Figure out what sequence we need to do to get the VGA BIOS running
* properly. Use the code provided by VIA and compare their sequence to ours,
* fill in any missing steps, etc.
diff --git a/src/northbridge/via/vx900/early_smbus.c b/src/northbridge/via/vx900/early_smbus.c
index f006ce4..0398562 100644
--- a/src/northbridge/via/vx900/early_smbus.c
+++ b/src/northbridge/via/vx900/early_smbus.c
@@ -48,7 +48,8 @@ static void smbus_delays(int delays)
/**
* Read a byte from the SMBus.
*
- * @param dimm The address location of the DIMM on the SMBus.
+ * @param smbus_dev The PCI address of the SMBus device .
+ * @param addr The address location of the DIMM on the SMBus.
* @param offset The offset the data is located at.
*/
u8 smbus_read_byte(u32 smbus_dev, u8 addr, u8 offset)
diff --git a/src/northbridge/via/vx900/lpc.c b/src/northbridge/via/vx900/lpc.c
index ac5e4c8..76280d8 100644
--- a/src/northbridge/via/vx900/lpc.c
+++ b/src/northbridge/via/vx900/lpc.c
@@ -30,7 +30,7 @@
#include "chip.h"
/**
- * @file lpc.c
+ * @file vx900/lpc.c
*
* STATUS:
* We do a fair bit of setup, and most of it seems to work fairly well. There
diff --git a/src/northbridge/via/vx900/northbridge.c b/src/northbridge/via/vx900/northbridge.c
index f9c225d..daff180 100644
--- a/src/northbridge/via/vx900/northbridge.c
+++ b/src/northbridge/via/vx900/northbridge.c
@@ -36,7 +36,7 @@ static uint64_t uma_memory_base = 0;
static uint64_t uma_memory_size = 0;
/**
- * @file northbridge.c
+ * @file vx900/northbridge.c
*
* STATUS: Pretty good
* One thing that needs to be thoroughly tested is the remap above 4G logic.
diff --git a/src/northbridge/via/vx900/pcie.c b/src/northbridge/via/vx900/pcie.c
index 109e5c9..96664e0 100644
--- a/src/northbridge/via/vx900/pcie.c
+++ b/src/northbridge/via/vx900/pcie.c
@@ -26,7 +26,7 @@
#include "vx900.h"
/**
- * @file pcie.c
+ * @file vx900/pcie.c
*
* STATUS:
* We do part of the sequence to initialize the PCIE link. The problem is that
diff --git a/src/northbridge/via/vx900/sata.c b/src/northbridge/via/vx900/sata.c
index 63295e5..4b831be 100644
--- a/src/northbridge/via/vx900/sata.c
+++ b/src/northbridge/via/vx900/sata.c
@@ -24,7 +24,7 @@
#include "vx900.h"
/**
- * @file sata.c
+ * @file vx900/sata.c
*
* STATUS: Pretty good
* The only issue is the SATA EPHY configuration. We do not know if it is board
diff --git a/src/northbridge/via/vx900/traf_ctrl.c b/src/northbridge/via/vx900/traf_ctrl.c
index 2e73ea4..5183391 100644
--- a/src/northbridge/via/vx900/traf_ctrl.c
+++ b/src/northbridge/via/vx900/traf_ctrl.c
@@ -28,7 +28,7 @@
#include "chip.h"
/**
- * @file traf_ctrl.c
+ * @file vx900/traf_ctrl.c
*
* STATUS:
* The same issues with the IOAPIC pointe in lpc.c also apply here.
Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8152
-gerrit
commit 49794feec2139566667c2f02b2a2f22ad42032de
Author: Tom Warren <twarren(a)nvidia.com>
Date: Wed Jul 2 09:25:35 2014 -0700
nyan*: I2C: Fix bus clear BC_TERMINATE naming.
In the original fix for the 'Lost arb' we were seeing on
Nyan* during reboot stress testing, I had the name of
BC_TERMINATE's bit setting wrong. Fix this to use the
IMMEDIATE (1) setting. The setting didn't change, just
the name. According to Julius this is the optimal
setting for bus clear in this instance. Also widened
the SCLK_THRESHOLD mask to 8 bits as per spec.
BUG=chrome-os-partner:28323
BRANCH=nyan
TEST=Tested on nyan. Built for nyan and nyan_big.
Original-Change-Id: I19588690924b83431d9f4d3d2eb64f4947849a33
Original-Signed-off-by: Tom Warren <twarren(a)nvidia.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/206409
Original-Reviewed-by: Julius Werner <jwerner(a)chromium.org>
(cherry picked from commit 76e08d0cb0fb87e2c75d3086930f272b645ecf4e)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Change-Id: If187ddf53660feaceab96efe44a3aadad60c43ff
---
src/soc/nvidia/tegra/i2c.c | 4 ++--
src/soc/nvidia/tegra/i2c.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/soc/nvidia/tegra/i2c.c b/src/soc/nvidia/tegra/i2c.c
index 542d4f0..6f9142c 100644
--- a/src/soc/nvidia/tegra/i2c.c
+++ b/src/soc/nvidia/tegra/i2c.c
@@ -37,9 +37,9 @@ static void do_bus_clear(int bus)
// 1. Reset the I2C controller (already done)
// 2. Set the # of clock pulses required (using default of 9)
// 3. Select STOP condition (using default of 1 = STOP)
- // 4. Set TERMINATE condition (1 = THRESHOLD)
+ // 4. Set TERMINATE condition (1 = IMMEDIATE)
bc = read32(®s->bus_clear_config);
- bc |= I2C_BUS_CLEAR_CONFIG_BC_TERMINATE_THRESHOLD;
+ bc |= I2C_BUS_CLEAR_CONFIG_BC_TERMINATE_IMMEDIATE;
write32(bc, ®s->bus_clear_config);
// 4.1 Set MSTR_CONFIG_LOAD and wait for clear
write32(I2C_CONFIG_LOAD_MSTR_CONFIG_LOAD_ENABLE, ®s->config_load);
diff --git a/src/soc/nvidia/tegra/i2c.h b/src/soc/nvidia/tegra/i2c.h
index 4b1bddd..9d7de14 100644
--- a/src/soc/nvidia/tegra/i2c.h
+++ b/src/soc/nvidia/tegra/i2c.h
@@ -115,9 +115,9 @@ enum {
enum {
I2C_BUS_CLEAR_CONFIG_BC_SCLK_THRESHOLD_SHIFT = 16,
I2C_BUS_CLEAR_CONFIG_BC_SCLK_THRESHOLD_MASK =
- 0x7f << I2C_BUS_CLEAR_CONFIG_BC_SCLK_THRESHOLD_SHIFT,
+ 0xff << I2C_BUS_CLEAR_CONFIG_BC_SCLK_THRESHOLD_SHIFT,
I2C_BUS_CLEAR_CONFIG_BC_STOP_COND_STOP = 0x1 << 2,
- I2C_BUS_CLEAR_CONFIG_BC_TERMINATE_THRESHOLD = 0x1 << 1,
+ I2C_BUS_CLEAR_CONFIG_BC_TERMINATE_IMMEDIATE = 0x1 << 1,
I2C_BUS_CLEAR_CONFIG_BC_ENABLE = 0x1 << 0,
I2C_BUS_CLEAR_STATUS_CLEARED = 0x1 << 0,
Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8151
-gerrit
commit 0e63e0c8faa8603212776ae6e4ed7be6e2ad55ec
Author: Joseph Lo <josephl(a)nvidia.com>
Date: Fri Jun 27 11:22:41 2014 +0800
tegra124: fix and fine tune the warm boot code
We assume that the clock rate of SCLK/HCLK/PCLK was 408MHz which was same
as PLLP. But that is incorrect, BootROM had switched it to pllp_out2
with the rate 204MHz. So actually the warm boot procedure was running at
the condition of SCLK=HCLK=PCLK=pllp_out2 with the rate 204MHz.
And the CPU complex power on sequences were different with what we used
in kernel and Coreboot. Fix up the sequence as below.
* enable CPU clk
* power on CPU complex
* remove I/O clamps
* remove CPU reset
Update the time of the CPU complex power on function for record.
* power_on_partition(PARTID_CRAIL): 528 uSec
* power_on_partition(PARTID_CONC): 0 uSec
* power_on_partition(PARTID_CE0): 4 uSec
Finally, removing the redundant routine of a flow controller event with
(20 | MSEC_EVENT | MODE_STOP).
BUG=chrome-os-partner:29394
BRANCH=none
TEST=manually test LP0 with lid switch quickly and make sure the last
write to restore register successfully
Original-Change-Id: Ifb99ed239eb5572351b8d896535a7c451c17b8f8
Original-Signed-off-by: Joseph Lo <josephl(a)nvidia.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/205901
Original-Reviewed-by: Julius Werner <jwerner(a)chromium.org>
Original-Reviewed-by: Jimmy Zhang <jimmzhang(a)nvidia.com>
Original-Commit-Queue: Jimmy Zhang <jimmzhang(a)nvidia.com>
(cherry picked from commit 4194a9af3999da4b061584cda9649944ec0fdfb1)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Change-Id: If21d17dc888b2c289970163e4f695423173ca03d
---
src/soc/nvidia/tegra124/lp0/tegra_lp0_resume.c | 27 +++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/soc/nvidia/tegra124/lp0/tegra_lp0_resume.c b/src/soc/nvidia/tegra124/lp0/tegra_lp0_resume.c
index 0b519d6..9b1a4b5 100644
--- a/src/soc/nvidia/tegra124/lp0/tegra_lp0_resume.c
+++ b/src/soc/nvidia/tegra124/lp0/tegra_lp0_resume.c
@@ -419,6 +419,13 @@ static void config_tsc(void)
setbits32(TSC_CNTCR_ENABLE | TSC_CNTCR_HDBG, sysctr_cntcr_ptr);
}
+static void enable_cpu_clocks(void)
+{
+ // Enable the CPU complex clock.
+ write32(CLK_ENB_CPU, clk_rst_clk_enb_l_set_ptr);
+ write32(CLK_ENB_CPUG | CLK_ENB_CPULP, clk_rst_clk_enb_v_set_ptr);
+}
+
/* Function unit configuration. */
@@ -505,15 +512,15 @@ static void power_on_main_cpu(void)
* Note that PMC_CPUPWRGOOD_TIMER is running at pclk.
*
* We need to reprogram PMC_CPUPWRGOOD_TIMER based on the current pclk
- * which is at 408Mhz (pclk = sclk = pllp_out0) after reset. Multiply
- * PMC_CPUPWRGOOD_TIMER by 408M / 32K.
+ * which is at 204Mhz (pclk = sclk = pllp_out2) after BootROM. Multiply
+ * PMC_CPUPWRGOOD_TIMER by 204M / 32K.
*
* Save the original PMC_CPUPWRGOOD_TIMER register which we need to
* restore after the CPU is powered up.
*/
uint32_t orig_timer = read32(pmc_ctlr_cpupwrgood_timer_ptr);
- write32(orig_timer * (408000000 / 32768),
+ write32(orig_timer * (204000000 / 32768),
pmc_ctlr_cpupwrgood_timer_ptr);
if (wakeup_on_lp()) {
@@ -525,10 +532,6 @@ static void power_on_main_cpu(void)
power_on_partition(PARTID_CE0);
}
- // Give I/O signals time to stablize.
- write32(20 | EVENT_MSEC | FLOW_MODE_STOP,
- flow_ctlr_halt_cop_events_ptr);
-
// Restore the original PMC_CPUPWRGOOD_TIMER.
write32(orig_timer, pmc_ctlr_cpupwrgood_timer_ptr);
}
@@ -575,12 +578,6 @@ void lp0_resume(void)
ack_width |= 408 << CAR2PMC_CPU_ACK_WIDTH_SHIFT;
write32(ack_width, clk_rst_cpu_softrst_ctrl2_ptr);
- // Enable the CPU complex clock.
- write32(CLK_ENB_CPU, clk_rst_clk_enb_l_set_ptr);
- write32(CLK_ENB_CPUG | CLK_ENB_CPULP, clk_rst_clk_enb_v_set_ptr);
-
- clear_cpu_resets();
-
config_tsc();
// Disable VPR.
@@ -588,8 +585,12 @@ void lp0_resume(void)
write32(VIDEO_PROTECT_WRITE_ACCESS_DISABLE,
mc_video_protect_reg_ctrl_ptr);
+ enable_cpu_clocks();
+
power_on_main_cpu();
+ clear_cpu_resets();
+
// Halt the AVP.
while (1)
write32(FLOW_MODE_STOP | EVENT_JTAG,
Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8150
-gerrit
commit d1ff594a9b13486eebe35a9638613f6af497ac4f
Author: David Hendricks <dhendrix(a)chromium.org>
Date: Thu Feb 13 13:07:50 2014 -0800
Primitive memory test
This adds a generic primitive memory test. We should look into
using tests in src/lib/ramtest.c, but they seem to rely too heavily
on x86 asm and this test has been useful on multiple ARM platforms.
BUG=none
BRANCH=none
TEST=builds and runs on nyan
Signed-off-by: David Hendricks <dhendrix(a)chromium.org>
Original-Change-Id: Ia0fb4e12bc59bf708be13faf63c346b531eb3aed
Original-Reviewed-on: https://chromium-review.googlesource.com/186309
Original-Reviewed-by: Stefan Reinauer <reinauer(a)chromium.org>
Original-Commit-Queue: David Hendricks <dhendrix(a)chromium.org>
Original-Tested-by: David Hendricks <dhendrix(a)chromium.org>
(cherry picked from commit e7625c15415eaf6053ce32b67d9d6ab18d776f5f)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Conflicts:
src/lib/Makefile.inc
Change-Id: I34e7aedfd167199fd5db4cd4a766b2b80ddda79b
---
src/include/lib.h | 3 +++
src/lib/Makefile.inc | 2 ++
src/lib/primitive_memtest.c | 65 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 70 insertions(+)
diff --git a/src/include/lib.h b/src/include/lib.h
index 772a66f..0cb2c0c 100644
--- a/src/include/lib.h
+++ b/src/include/lib.h
@@ -39,6 +39,9 @@ int ram_check_nodie(unsigned long start, unsigned long stop);
int ram_check_noprint_nodie(unsigned long start, unsigned long stop);
void quick_ram_check(void);
+/* Defined in primitive_memtest.c */
+int primitive_memtest(uintptr_t base, uintptr_t size);
+
/* Defined in src/lib/stack.c */
int checkstack(void *top_of_stack, int core);
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index 0501091..76dc18c 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -33,6 +33,8 @@ romstage-$(CONFIG_I2C_TPM) += delay.c
romstage-y += cbfs.c cbfs_core.c
romstage-$(CONFIG_COMMON_CBFS_SPI_WRAPPER) += cbfs_spi.c
romstage-$(CONFIG_COMPRESS_RAMSTAGE) += lzma.c lzmadecode.c
+romstage-$(CONFIG_PRIMITIVE_MEMTEST) += primitive_memtest.c
+ramstage-$(CONFIG_PRIMITIVE_MEMTEST) += primitive_memtest.c
romstage-$(CONFIG_CACHE_AS_RAM) += ramtest.c
ifeq ($(CONFIG_EARLY_CBMEM_INIT),y)
diff --git a/src/lib/primitive_memtest.c b/src/lib/primitive_memtest.c
new file mode 100644
index 0000000..d59d25f
--- /dev/null
+++ b/src/lib/primitive_memtest.c
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2014 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <inttypes.h>
+#include <lib.h>
+#include <console/console.h>
+
+int primitive_memtest(uintptr_t base, uintptr_t size)
+{
+ uintptr_t *p;
+ uintptr_t i;
+ int bad = 0;
+
+ printk(BIOS_SPEW, "Performing primitive memory test.\n");
+ printk(BIOS_SPEW, "DRAM start: 0x%08x, DRAM size: 0x%08x", base, size);
+ for(i = base; i < base + (size - 1) - sizeof(p); i += sizeof(p)) {
+ if (i % 0x100000 == 0) {
+ if ((i % 0x800000) == 0)
+ printk(BIOS_SPEW, "\n");
+ else if (i != 0)
+ printk(BIOS_SPEW, " ");
+ printk(BIOS_SPEW, "0x%08x", i);
+ }
+ p = (uintptr_t *)i;
+ *p = i;
+ }
+
+ printk(BIOS_SPEW, "\n\nReading back DRAM content");
+ for(i = base; i < base + (size - 1) - sizeof(p); i += sizeof(p)) {
+ if (i % 0x100000 == 0) {
+ if ((i % 0x800000) == 0)
+ printk(BIOS_SPEW, "\n");
+ else if (i != 0)
+ printk(BIOS_SPEW, " ");
+ printk(BIOS_SPEW, "0x%08x", i);
+ }
+
+ p = (uintptr_t *)i;
+ if (*p != i) {
+ printk(BIOS_SPEW, "\n0x%08zx: got 0x%zx\n", i, *p);
+ bad++;
+ }
+ }
+
+ printk(BIOS_SPEW, "\n");
+ printk(BIOS_SPEW, "%d errors\n", bad);
+
+ return bad;
+}
Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8149
-gerrit
commit 214400d04beb9904f9e49cff884e45737eded866
Author: David Hendricks <dhendrix(a)chromium.org>
Date: Wed Jul 2 13:50:57 2014 -0700
storm: Reserve memory from 0x4000_0000-0x414f_ffff
This marks the bottom chunk of memory, which is used by various IP
blocks, as reserved so that Depthcharge does not attempt to wipe it.
BUG=chrome-os-partner:30067
BRANCH=storm
TEST=Built and booted for storm, depthcharge shows:
Wipe memory regions:
[0x00000041500000, 0x00000051000000)
[0x000000510006a0, 0x00000053000000)
[0x00000054141260, 0x0000007fffd000)
Original-Signed-off-by: David Hendricks <dhendrix(a)chromium.org>
Original-Change-Id: I8f782f16d13620b705e1b3fbeca21dc8705b7e77
Original-Reviewed-on: https://chromium-review.googlesource.com/206516
Original-Reviewed-by: Stefan Reinauer <reinauer(a)chromium.org>
(cherry picked from commit f66f553f1594c481a74b7f40b4b1088600b1a70a)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Change-Id: I82d118abc86052f5e32f6195a4efd04fe315be5a
---
src/soc/qualcomm/ipq806x/soc.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/soc/qualcomm/ipq806x/soc.c b/src/soc/qualcomm/ipq806x/soc.c
index 53f5716..6421ccd 100644
--- a/src/soc/qualcomm/ipq806x/soc.c
+++ b/src/soc/qualcomm/ipq806x/soc.c
@@ -22,10 +22,16 @@
#include <console/console.h>
#include <device/device.h>
+
+#define RESERVED_SIZE_KB (0x01500000 / KiB)
+
static void soc_read_resources(device_t dev)
{
- ram_resource(dev, 0, CONFIG_SYS_SDRAM_BASE/KiB,
- CONFIG_DRAM_SIZE_MB * (1 << 10));
+ /* Reserve bottom 0x150_0000 bytes for NSS, SMEM, etc. */
+ reserved_ram_resource(dev, 0,
+ CONFIG_SYS_SDRAM_BASE/KiB, RESERVED_SIZE_KB);
+ ram_resource(dev, 0, CONFIG_SYS_SDRAM_BASE/KiB + RESERVED_SIZE_KB,
+ (CONFIG_DRAM_SIZE_MB * KiB) - RESERVED_SIZE_KB);
}
static void soc_init(device_t dev)
Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8148
-gerrit
commit a7ba6306240f0509a2eb17b45302d4087d040c3d
Author: David Hendricks <dhendrix(a)chromium.org>
Date: Fri Jun 27 13:30:21 2014 -0700
storm: Increase DRAM size to 1024MB
BUG=chrome-os-partner:29871
BRANCH=storm
TEST=builds and boots (sort of)
Original-Signed-off-by: David Hendricks <dhendrix(a)chromium.org>
Original-Change-Id: I82e1792152d17d689e129c9941e8972221bde366
Original-Reviewed-on: https://chromium-review.googlesource.com/206011
Original-Reviewed-by: Stefan Reinauer <reinauer(a)chromium.org>
(cherry picked from commit 8995fde9bdfb8af8fb86525fd67a61614881f78e)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Change-Id: Ice4a5382903b0ab6e085c39d05c46601373080eb
---
src/mainboard/google/storm/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/google/storm/Kconfig b/src/mainboard/google/storm/Kconfig
index 1063f83..5e34802 100644
--- a/src/mainboard/google/storm/Kconfig
+++ b/src/mainboard/google/storm/Kconfig
@@ -38,7 +38,7 @@ config MAINBOARD_PART_NUMBER
config DRAM_SIZE_MB
int
- default 512
+ default 1024
config DRAM_DMA_START
hex
Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8147
-gerrit
commit 46e7a9675048253327145076d66d36c2194b134e
Author: Vadim Bendebury <vbendeb(a)chromium.org>
Date: Tue Jun 24 07:26:03 2014 -0700
storm: USB fixes for proto0
The actual storm device has a single USB interface, which needs to be
explicitly turned on using GPIO51.
BUG=chrome-os-partner:29871
TEST=verified that depthcharge finds and boots a kernel from USB stick
Original-Change-Id: Iaf868812c96e1e3289b9403855c4cc8f87c1e368
Original-Signed-off-by: Vadim Bendebury <vbendeb(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/205329
Original-Reviewed-by: Stefan Reinauer <reinauer(a)chromium.org>
Original-Reviewed-by: Trevor Bourget <tbourget(a)codeaurora.org>
(cherry picked from commit aa22376ffac22309a298dfa844e7f61c97d57d3e)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Change-Id: Ic0f34622e61a65a0540c0f3fca26fb057fa85fb7
---
src/mainboard/google/storm/mainboard.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/google/storm/mainboard.c b/src/mainboard/google/storm/mainboard.c
index 301e645..d5adf2d 100644
--- a/src/mainboard/google/storm/mainboard.c
+++ b/src/mainboard/google/storm/mainboard.c
@@ -21,6 +21,7 @@
#include <boot/coreboot_tables.h>
#include <device/device.h>
#include <soc/qualcomm/ipq806x/include/clock.h>
+#include <soc/qualcomm/ipq806x/include/gpio.h>
#include <soc/qualcomm/ipq806x/include/usb.h>
/* convenient shorthand (in MB) */
@@ -32,12 +33,15 @@
#define DMA_START (CONFIG_DRAM_DMA_START / MiB)
#define DMA_SIZE (CONFIG_DRAM_DMA_SIZE / MiB)
+#define USB_ENABLE_GPIO 51
+
static void setup_usb(void)
{
+ gpio_tlmm_config_set(USB_ENABLE_GPIO, FUNC_SEL_GPIO,
+ GPIO_PULL_UP, GPIO_10MA, GPIO_ENABLE);
usb_clock_config();
setup_usb_host1();
- setup_usb_host2();
}
static void setup_mmu(void)