[U-Boot] [PATCH] Reduce apollon OneNAND IPL code

Kyungmin Park kmpark at infradead.org
Mon Oct 12 02:17:49 CEST 2009


After OneNAND IPL updated, apollon boot code exceeds 1KiB size,

This patch reduces the apollon boot code

Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
---
diff --git a/onenand_ipl/board/apollon/apollon.c b/onenand_ipl/board/apollon/apollon.c
index 4936e00..4d4564c 100644
--- a/onenand_ipl/board/apollon/apollon.c
+++ b/onenand_ipl/board/apollon/apollon.c
@@ -54,7 +54,6 @@ static void muxSetupUART1(void)
 	/* UART1_RX pin configuration, PIN = T21 */
 	write_config_reg(CONTROL_PADCONF_UART1_RX, 0);
 }
-#endif
 
 /**********************************************************
  * Routine: s_init
@@ -63,8 +62,7 @@ static void muxSetupUART1(void)
  **********************************************************/
 int s_init(int skip)
 {
-#ifdef CONFIG_SYS_PRINTF
 	muxSetupUART1();
-#endif
 	return 0;
 }
+#endif
diff --git a/onenand_ipl/board/apollon/low_levelinit.S b/onenand_ipl/board/apollon/low_levelinit.S
index 205170f..1eb116e 100644
--- a/onenand_ipl/board/apollon/low_levelinit.S
+++ b/onenand_ipl/board/apollon/low_levelinit.S
@@ -64,6 +64,10 @@
 #error "Please configure PRCM schecm"
 #endif
 
+/*
+ * r5 has zero always
+ */
+
 _TEXT_BASE:
 	.word	TEXT_BASE	/* sdram load addr from config.mk */
 
@@ -87,15 +91,11 @@ lowlevel_init:
 #endif
 
 	/* Pin muxing for SDRC */
-	mov	r1, #0x00
-	ldr	r0, =0x480000A1		/* ball C12, mode 0 */
-	strb	r1, [r0]
-
-	ldr	r0, =0x48000032		/* ball D11, mode 0 */
-	strb	r1, [r0]
-
-	ldr	r0, =0x480000A3		/* ball B13, mode 0 */
-	strb	r1, [r0]
+	mov	r5, #0x00
+	ldr	r0, =0x48000000
+	strb	r5, [r0, #0xA1]		/* ball C12, mode 0 */
+	strb	r5, [r0, #0x32]		/* ball D11, mode 0 */
+	strb	r5, [r0, #0xA3]		/* ball B13, mode 0 */
 
 	/* SDRC setting */
 	ldr	r0, =OMAP2420_SDRC_BASE
@@ -129,8 +129,7 @@ lowlevel_init:
 	ldr	r1, =0x00000007
 	str	r1, [r0, #0xA8]
 
-	ldr	r1, =0x00000000
-	str	r1, [r0, #0xA8]
+	str	r5, [r0, #0xA8]
 
 	ldr	r1, =0x00000001
 	str	r1, [r0, #0xA8]
@@ -150,9 +149,8 @@ lowlevel_init:
 
 	/* Note: You MUST set EMR values */
 	/* EMR1 & EMR2 */
-	ldr	r1, =0x00000000
-	str	r1, [r0, #0x88]
-	str	r1, [r0, #0x8C]
+	str	r5, [r0, #0x88]
+	str	r5, [r0, #0x8C]
 
 #ifdef OLD_SDRC_DLLA_CTRL
 	/* SDRC_DLLA_CTRL */
@@ -185,6 +183,7 @@ lowlevel_init:
 	subs	r2, r2, #0x1
 	bne	1b
 
+#ifdef CONFIG_PRINTF
 	ldr	sp, SRAM_STACK
 	str	ip, [sp]	/* stash old link register */
 	mov	ip, lr		/* save link reg across call */
@@ -194,6 +193,7 @@ lowlevel_init:
 
 	ldr	ip, [sp]	/* restore save ip */
 	mov	lr, ip		/* restore link reg */
+#endif
 
 	/* back to arch calling code */
 	mov	pc,	lr


More information about the U-Boot mailing list