Gabe Black (gabeblack(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3699
-gerrit
commit 8c897ed6d42d6f603ec3e6f77eebb9ad49791d53
Author: Gabe Black <gabeblack(a)google.com>
Date: Sat Jun 22 19:43:40 2013 -0700
exynos5420: Fix the way the rate of the input clock for i2c buses is found.
The clock divider was being read from registers incorrectly which meant that
the periph rate was wrong.
Change-Id: I50efb62849ef29bdfb0efc56c49642d3edca094c
Signed-off-by: Gabe Black <gabeblack(a)chromium.org>
---
src/cpu/samsung/exynos5420/clock.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/cpu/samsung/exynos5420/clock.c b/src/cpu/samsung/exynos5420/clock.c
index e5ab001..8c4baf8 100644
--- a/src/cpu/samsung/exynos5420/clock.c
+++ b/src/cpu/samsung/exynos5420/clock.c
@@ -196,9 +196,8 @@ unsigned long clock_get_periph_rate(enum periph_id peripheral)
case PERIPH_ID_I2C9:
case PERIPH_ID_I2C10:
sclk = get_pll_clk(MPLL);
- sub_div = ((readl(&clk->clk_div_top1) >> 24) & 0x7) + 1;
- div = (readl(&clk->clk_div_top0) & 0x7) + 1;
- return (sclk / sub_div) / div;
+ div = ((readl(&clk->clk_div_top1) >> 8) & 0x3f) + 1;
+ return sclk / div;
default:
printk(BIOS_DEBUG, "%s: invalid peripheral %d", __func__, peripheral);
return -1;
Gabe Black (gabeblack(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3694
-gerrit
commit ac8ea3d7656198bfe3dd0a88de4361aa444c27c9
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Wed Jun 19 15:44:36 2013 -0700
Don't try to use CBMEM console in bootblock
Otherwise we have to worry about hand off between bootblock and
romstage. Too much complexity
Change-Id: I89bf8a229dba7e1330accadf9a732d831ebc4827
Signed-off-by: Stefan Reinauer <reinauer(a)chromium.org>
Signed-off-by: Gabe Black <gabeblack(a)chromium.org>
---
src/arch/armv7/early_console.c | 2 +-
src/console/console.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/arch/armv7/early_console.c b/src/arch/armv7/early_console.c
index 68e81c6..84f97ba 100644
--- a/src/arch/armv7/early_console.c
+++ b/src/arch/armv7/early_console.c
@@ -41,7 +41,7 @@ void console_tx_byte(unsigned char byte)
#if CONFIG_USBDEBUG
usbdebug_tx_byte(0, byte);
#endif
-#if CONFIG_CONSOLE_CBMEM
+#if CONFIG_CONSOLE_CBMEM && !defined(__BOOT_BLOCK__)
cbmemc_tx_byte(byte);
#endif
}
diff --git a/src/console/console.c b/src/console/console.c
index c53adc6..a0e8f6d 100644
--- a/src/console/console.c
+++ b/src/console/console.c
@@ -117,7 +117,7 @@ void console_init(void)
#if CONFIG_CONSOLE_NE2K
ne2k_init(CONFIG_CONSOLE_NE2K_IO_PORT);
#endif
-#if CONFIG_CONSOLE_CBMEM
+#if CONFIG_CONSOLE_CBMEM && !defined(__BOOT_BLOCK__)
cbmemc_init();
#endif
#if CONFIG_SPKMODEM
Gabe Black (gabeblack(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3693
-gerrit
commit 45dfe231642ca2b5069a9e2018106266d50621f3
Author: Ronald G. Minnich <rminnich(a)google.com>
Date: Wed Jun 19 15:46:25 2013 -0700
Exynos5420: add code to make sure resume will work on DRAM.
Found during a perusal of u-boot changes. It looks important.
For more info: http://git.chromium.org/gitweb/?p=chromiumos/third_party/u-boot.git;a=commi…
Change-Id: Ida2fe2a98be008a4bdfe594cf00d01a33b511b4f
Signed-off-by: Ronald G. Minnich <rminnich(a)google.com>
Signed-off-by: Gabe Black <gabeblack(a)chromium.org>
---
src/cpu/samsung/exynos5420/bootblock.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/cpu/samsung/exynos5420/bootblock.c b/src/cpu/samsung/exynos5420/bootblock.c
index d3d737e..5cc9ef6 100644
--- a/src/cpu/samsung/exynos5420/bootblock.c
+++ b/src/cpu/samsung/exynos5420/bootblock.c
@@ -19,10 +19,28 @@
#include "clk.h"
#include "wakeup.h"
+#include "cpu.h"
void bootblock_cpu_init(void);
void bootblock_cpu_init(void)
{
+ u32 ret;
+ /*
+ * During Suspend-Resume & S/W-Reset, as soon as PMU releases
+ * pad retention, CKE goes high. This causes memory contents
+ * not to be retained during DRAM initialization. Therfore,
+ * there is a new control register(0x100431e8[28]) which lets us
+ * release pad retention and retain the memory content until the
+ * initialization is complete.
+ */
+ if (read32(((void *)INF_REG_BASE + INF_REG1_OFFSET)) == S5P_CHECK_SLEEP) {
+ write32(PAD_RETENTION_DRAM_COREBLK_VAL,
+ (void *)PAD_RETENTION_DRAM_COREBLK_OPTION);
+ do {
+ ret = read32((void *)PAD_RETENTION_DRAM_STATUS);
+ } while (ret != 0x1);
+ }
+
/* kick off the multi-core timer.
* We want to do this as early as we can.
*/
Gabe Black (gabeblack(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3692
-gerrit
commit e077a6947c503725ae5039853d1119800b70d2f3
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Wed Jun 12 17:07:05 2013 -0700
ARMv7: Drop duplicate call to bootblock_cpu_init()
This is already called in ARMv7 bootblock_simple.c so we don't
want to do it twice
Change-Id: I80cb41035b8a77787e04f2ea58a1cd372cea97d8
Signed-off-by: Stefan Reinauer <reinauer(a)chromium.org>
Signed-off-by: Gabe Black <gabeblack(a)chromium.org>
---
src/arch/armv7/include/bootblock_common.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/arch/armv7/include/bootblock_common.h b/src/arch/armv7/include/bootblock_common.h
index 39af453..2fa705f 100644
--- a/src/arch/armv7/include/bootblock_common.h
+++ b/src/arch/armv7/include/bootblock_common.h
@@ -7,8 +7,5 @@
#else
static void bootblock_mainboard_init(void)
{
-#ifdef CONFIG_BOOTBLOCK_CPU_INIT
- bootblock_cpu_init();
-#endif
}
#endif