Hung-Te Lin (hungte@chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2315
-gerrit
commit 8ab5ab00fe60042f9204c99cda39a81304a320e1 Author: Hung-Te Lin hungte@chromium.org Date: Thu Feb 7 19:30:40 2013 +0800
exynos/snow: Configure UART peripheral during console initialization.
For Exynos platforms, the UART component on pinmux must be first selected and configured. This should be done as part of UART console initialization.
Note, that the current implementation hard-codes the device index as UART3, while the base port can be assigned to different device in Kconfig. This will be fixed later.
Verified to work on armv7/snow.
Change-Id: Ie63e76e2dac09fec1132573d1b0027fce55333a1 Signed-off-by: Hung-Te Lin hungte@chromium.org --- src/cpu/samsung/exynos5250/uart.c | 3 +++ src/mainboard/google/snow/bootblock.c | 1 - 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/cpu/samsung/exynos5250/uart.c b/src/cpu/samsung/exynos5250/uart.c index dacdc10..3e80017 100644 --- a/src/cpu/samsung/exynos5250/uart.c +++ b/src/cpu/samsung/exynos5250/uart.c @@ -121,6 +121,9 @@ static void exynos5_init_dev(void) // struct s5p_uart *const uart = s5p_get_base_uart(dev_index); struct s5p_uart *uart = (struct s5p_uart *)base_port;
+ // TODO initialize with correct peripheral id by base_port. + exynos_pinmux_config(PERIPH_ID_UART3, PINMUX_FLAG_NONE); + /* enable FIFOs */ writel(0x1, &uart->ufcon); writel(0, &uart->umcon); diff --git a/src/mainboard/google/snow/bootblock.c b/src/mainboard/google/snow/bootblock.c index be5a99f..0bee055 100644 --- a/src/mainboard/google/snow/bootblock.c +++ b/src/mainboard/google/snow/bootblock.c @@ -42,7 +42,6 @@ void bootblock_mainboard_init(void) mem = get_mem_timings(); arm_ratios = get_arm_clk_ratios(); system_clock_init(mem, arm_ratios); - exynos_pinmux_config(PERIPH_ID_UART3, PINMUX_FLAG_NONE);
console_init(); printk(BIOS_INFO, "\n\n\n%s: UART initialized\n", __func__);