[coreboot] New patch to review for coreboot: b5375f0 exynos5250: Hacked up lowlevel_init_c

David Hendricks (dhendrix@chromium.org) gerrit at coreboot.org
Fri Jan 11 00:12:26 CET 2013


David Hendricks (dhendrix at chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2133

-gerrit

commit b5375f0e8afb5b47501b7afc9cf667ccf1f9f08e
Author: David Hendricks <dhendrix at chromium.org>
Date:   Thu Jan 10 15:05:22 2013 -0800

    exynos5250: Hacked up lowlevel_init_c
    
    This is the first lowlevel init routine that gets called in romstage.
    It's fugly and needs a lot of clean-up, but does the job for now.
    
    Change-Id: Id54bf4f1c3753bcbed5f6b5eeb4b48bc3b41ce93
    Signed-off-by: David Hendricks <dhendrix at chromium.org>
---
 src/cpu/samsung/exynos5250/lowlevel_init_c.c | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/cpu/samsung/exynos5250/lowlevel_init_c.c b/src/cpu/samsung/exynos5250/lowlevel_init_c.c
index 2215fb7..848ebee 100644
--- a/src/cpu/samsung/exynos5250/lowlevel_init_c.c
+++ b/src/cpu/samsung/exynos5250/lowlevel_init_c.c
@@ -36,6 +36,7 @@
 #include <cpu/samsung/exynos5250/tzpc.h>
 #include "setup.h"
 
+#include <console/console.h>
 
 void do_barriers(void);	/* FIXME: make gcc shut up about "no previous prototype" */
 
@@ -70,14 +71,15 @@ enum {
 
 int lowlevel_init_subsystems(void)
 {
-	uint32_t reset_status;
+//	uint32_t reset_status;
 	int actions = 0;
 
-	do_barriers();
+// 	do_barriers();
 
 	/* Setup cpu info which is needed to select correct register offsets */
 	cpu_info_init();
 
+#if 0
 	reset_status = power_read_reset_status();
 
 	switch (reset_status) {
@@ -91,24 +93,28 @@ int lowlevel_init_subsystems(void)
 		/* This is a normal boot (not a wake from sleep) */
 		actions = DO_UART | DO_CLOCKS | DO_POWER;
 	}
+#endif
 
+	actions = DO_UART | DO_CLOCKS | DO_POWER;
 	if (actions & DO_POWER)
 		power_init();
 	if (actions & DO_CLOCKS)
 		system_clock_init();
 	if (actions & DO_UART) {
+
 		/* Set up serial UART so we can printf() */
-//		exynos_pinmux_config(EXYNOS_UART, PINMUX_FLAG_NONE);
 		/* FIXME(dhendrix): add a function for mapping
 		   CONFIG_CONSOLE_SERIAL_UART_ADDRESS to PERIPH_ID_UARTn */
+//		exynos_pinmux_config(EXYNOS_UART, PINMUX_FLAG_NONE);
 		exynos_pinmux_config(PERIPH_ID_UART3, PINMUX_FLAG_NONE);
-		/* FIXME(dhendrix): serial_init() does not seem to
-		   actually do anything !?!? */
-//		serial_init();
-		init_timer();	/* FIXME(dhendrix): was timer_init() */
+
+		console_init();
+		while (1) {
+			console_tx_byte('C');
+		}
 	}
+	init_timer();	/* FIXME(dhendrix): was timer_init() */
 
-/* FIXME(dhendrix): place this somewhere for ramstage... */
 #if 0
 	if (actions & DO_CLOCKS) {
 		mem_ctrl_init();
@@ -116,5 +122,6 @@ int lowlevel_init_subsystems(void)
 	}
 #endif
 
-	return actions & DO_WAKEUP;
+//	return actions & DO_WAKEUP;
+	return 0;
 }



More information about the coreboot mailing list