* [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init
@ 2012-08-14 14:43 Benoît Thébaudeau
2012-08-14 14:44 ` [U-Boot] [PATCH 2/4] mx5: Optimize lowlevel_init code size Benoît Thébaudeau
` (3 more replies)
0 siblings, 4 replies; 22+ messages in thread
From: Benoît Thébaudeau @ 2012-08-14 14:43 UTC (permalink / raw)
To: u-boot
Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
Cc: Stefano Babic <sbabic@denx.de>
---
.../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 46 ++++++++++----------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S
index 683a7b5..a40b84f 100644
--- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S
+++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S
@@ -36,9 +36,9 @@
/* reconfigure L2 cache aux control reg */
mov r0, #0xC0 /* tag RAM */
add r0, r0, #0x4 /* data RAM */
- orr r0, r0, #(1 << 24) /* disable write allocate delay */
- orr r0, r0, #(1 << 23) /* disable write allocate combine */
- orr r0, r0, #(1 << 22) /* disable write allocate */
+ orr r0, r0, #1 << 24 /* disable write allocate delay */
+ orr r0, r0, #1 << 23 /* disable write allocate combine */
+ orr r0, r0, #1 << 22 /* disable write allocate */
#if defined(CONFIG_MX51)
ldr r1, =0x0
@@ -46,7 +46,7 @@
cmp r3, #0x10
/* disable write combine for TO 2 and lower revs */
- orrls r0, r0, #(1 << 25)
+ orrls r0, r0, #1 << 25
#endif
mcr 15, 1, r0, c9, c0, 2
@@ -247,9 +247,9 @@
movhi r1, #0
#else
mov r1, #0
-
#endif
str r1, [r0, #CLKCTL_CACRR]
+
/* Switch ARM back to PLL 1 */
mov r1, #0
str r1, [r0, #CLKCTL_CCSR]
@@ -288,9 +288,9 @@
/* Switch peripheral to PLL2 */
ldr r0, =CCM_BASE_ADDR
ldr r1, =0x00808145
- orr r1, r1, #(2 << 10)
- orr r1, r1, #(0 << 16)
- orr r1, r1, #(1 << 19)
+ orr r1, r1, #2 << 10
+ orr r1, r1, #0 << 16
+ orr r1, r1, #1 << 19
str r1, [r0, #CLKCTL_CBCDR]
ldr r1, =0x00016154
@@ -331,10 +331,10 @@ ENTRY(lowlevel_init)
#if defined(CONFIG_MX51)
ldr r0, =GPIO1_BASE_ADDR
ldr r1, [r0, #0x0]
- orr r1, r1, #(1 << 23)
+ orr r1, r1, #1 << 23
str r1, [r0, #0x0]
ldr r1, [r0, #0x4]
- orr r1, r1, #(1 << 23)
+ orr r1, r1, #1 << 23
str r1, [r0, #0x4]
#endif
@@ -351,16 +351,16 @@ ENTRY(lowlevel_init)
ENDPROC(lowlevel_init)
/* Board level setting value */
-W_DP_OP_864: .word DP_OP_864
-W_DP_MFD_864: .word DP_MFD_864
-W_DP_MFN_864: .word DP_MFN_864
-W_DP_MFN_800_DIT: .word DP_MFN_800_DIT
-W_DP_OP_800: .word DP_OP_800
-W_DP_MFD_800: .word DP_MFD_800
-W_DP_MFN_800: .word DP_MFN_800
-W_DP_OP_665: .word DP_OP_665
-W_DP_MFD_665: .word DP_MFD_665
-W_DP_MFN_665: .word DP_MFN_665
-W_DP_OP_216: .word DP_OP_216
-W_DP_MFD_216: .word DP_MFD_216
-W_DP_MFN_216: .word DP_MFN_216
+W_DP_OP_864: .word DP_OP_864
+W_DP_MFD_864: .word DP_MFD_864
+W_DP_MFN_864: .word DP_MFN_864
+W_DP_MFN_800_DIT: .word DP_MFN_800_DIT
+W_DP_OP_800: .word DP_OP_800
+W_DP_MFD_800: .word DP_MFD_800
+W_DP_MFN_800: .word DP_MFN_800
+W_DP_OP_665: .word DP_OP_665
+W_DP_MFD_665: .word DP_MFD_665
+W_DP_MFN_665: .word DP_MFN_665
+W_DP_OP_216: .word DP_OP_216
+W_DP_MFD_216: .word DP_MFD_216
+W_DP_MFN_216: .word DP_MFN_216
^ permalink raw reply related [flat|nested] 22+ messages in thread* [U-Boot] [PATCH 2/4] mx5: Optimize lowlevel_init code size 2012-08-14 14:43 [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Benoît Thébaudeau @ 2012-08-14 14:44 ` Benoît Thébaudeau 2012-08-14 14:52 ` Otavio Salvador 2012-08-14 14:44 ` [U-Boot] [PATCH 3/4] mx5: Optimize lowlevel_init for TO 3 Benoît Thébaudeau ` (2 subsequent siblings) 3 siblings, 1 reply; 22+ messages in thread From: Benoît Thébaudeau @ 2012-08-14 14:44 UTC (permalink / raw) To: u-boot Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> --- .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 112 +++++++++++--------- 1 file changed, 59 insertions(+), 53 deletions(-) diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S index a40b84f..529e35b 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S @@ -24,6 +24,8 @@ #include <generated/asm-offsets.h> #include <linux/linkage.h> +.section ".text.init", "x" + /* * L2CC Cache setup/invalidation/disable */ @@ -34,15 +36,14 @@ mcr 15, 0, r0, c1, c0, 1 /* reconfigure L2 cache aux control reg */ - mov r0, #0xC0 /* tag RAM */ - add r0, r0, #0x4 /* data RAM */ - orr r0, r0, #1 << 24 /* disable write allocate delay */ - orr r0, r0, #1 << 23 /* disable write allocate combine */ - orr r0, r0, #1 << 22 /* disable write allocate */ + ldr r0, =0xC0 | /* tag RAM */ \ + 0x4 | /* data RAM */ \ + 1 << 24 | /* disable write allocate delay */ \ + 1 << 23 | /* disable write allocate combine */ \ + 1 << 22 /* disable write allocate */ #if defined(CONFIG_MX51) - ldr r1, =0x0 - ldr r3, [r1, #ROM_SI_REV] + ldr r3, [r4, #ROM_SI_REV] cmp r3, #0x10 /* disable write combine for TO 2 and lower revs */ @@ -84,8 +85,7 @@ ldr r1, =0x00000203 str r1, [r0, #0x40] - ldr r1, =0x0 - str r1, [r0, #0x44] + str r4, [r0, #0x44] ldr r1, =0x00120125 str r1, [r0, #0x9C] @@ -98,20 +98,29 @@ .macro setup_pll pll, freq ldr r0, =\pll + adr r2, W_DP_\freq + bl setup_pll_func +.endm + +#define W_DP_OP 0 +#define W_DP_MFD 4 +#define W_DP_MFN 8 + +setup_pll_func: ldr r1, =0x00001232 str r1, [r0, #PLL_DP_CTL] /* Set DPLL ON (set UPEN bit): BRMO=1 */ mov r1, #0x2 str r1, [r0, #PLL_DP_CONFIG] /* Enable auto-restart AREN bit */ - ldr r1, W_DP_OP_\freq + ldr r1, [r2, #W_DP_OP] str r1, [r0, #PLL_DP_OP] str r1, [r0, #PLL_DP_HFS_OP] - ldr r1, W_DP_MFD_\freq + ldr r1, [r2, #W_DP_MFD] str r1, [r0, #PLL_DP_MFD] str r1, [r0, #PLL_DP_HFS_MFD] - ldr r1, W_DP_MFN_\freq + ldr r1, [r2, #W_DP_MFN] str r1, [r0, #PLL_DP_MFN] str r1, [r0, #PLL_DP_HFS_MFN] @@ -120,12 +129,13 @@ 1: ldr r1, [r0, #PLL_DP_CTL] ands r1, r1, #0x1 beq 1b -.endm + + /* r10 saved upper lr */ + mov pc, lr .macro setup_pll_errata pll, freq ldr r2, =\pll - mov r1, #0x0 - str r1, [r2, #PLL_DP_CONFIG] /* Disable auto-restart AREN bit */ + str r4, [r2, #PLL_DP_CONFIG] /* Disable auto-restart AREN bit */ ldr r1, =0x00001236 str r1, [r2, #PLL_DP_CTL] /* Restart PLL with PLM=1 */ 1: ldr r1, [r2, #PLL_DP_CTL] /* Wait for lock */ @@ -158,10 +168,9 @@ /* Gate of clocks to the peripherals first */ ldr r1, =0x3FFFFFFF str r1, [r0, #CLKCTL_CCGR0] - ldr r1, =0x0 - str r1, [r0, #CLKCTL_CCGR1] - str r1, [r0, #CLKCTL_CCGR2] - str r1, [r0, #CLKCTL_CCGR3] + str r4, [r0, #CLKCTL_CCGR1] + str r4, [r0, #CLKCTL_CCGR2] + str r4, [r0, #CLKCTL_CCGR3] ldr r1, =0x00030000 str r1, [r0, #CLKCTL_CCGR4] @@ -184,11 +193,10 @@ #else ldr r1, =0x3FFFFFFF str r1, [r0, #CLKCTL_CCGR0] - ldr r1, =0x0 - str r1, [r0, #CLKCTL_CCGR1] - str r1, [r0, #CLKCTL_CCGR2] - str r1, [r0, #CLKCTL_CCGR3] - str r1, [r0, #CLKCTL_CCGR7] + str r4, [r0, #CLKCTL_CCGR1] + str r4, [r0, #CLKCTL_CCGR2] + str r4, [r0, #CLKCTL_CCGR3] + str r4, [r0, #CLKCTL_CCGR7] ldr r1, =0x00030000 str r1, [r0, #CLKCTL_CCGR4] @@ -214,8 +222,7 @@ /* Switch peripheral to PLL 3 */ ldr r0, =CCM_BASE_ADDR - ldr r1, =0x000010C0 - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL + ldr r1, =0x000010C0 | CONFIG_SYS_DDR_CLKSEL str r1, [r0, #CLKCTL_CBCMR] ldr r1, =0x13239145 str r1, [r0, #CLKCTL_CBCDR] @@ -225,8 +232,7 @@ ldr r0, =CCM_BASE_ADDR ldr r1, =0x19239145 str r1, [r0, #CLKCTL_CBCDR] - ldr r1, =0x000020C0 - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL + ldr r1, =0x000020C0 | CONFIG_SYS_DDR_CLKSEL str r1, [r0, #CLKCTL_CBCMR] #endif setup_pll PLL3_BASE_ADDR, 216 @@ -240,8 +246,7 @@ #if defined(CONFIG_MX51) /* Run 3.0@Full speed, for other TO's wait till we increase VDDGP */ - ldr r1, =0x0 - ldr r3, [r1, #ROM_SI_REV] + ldr r3, [r4, #ROM_SI_REV] cmp r3, #0x10 movls r1, #0x1 movhi r1, #0 @@ -251,14 +256,12 @@ str r1, [r0, #CLKCTL_CACRR] /* Switch ARM back to PLL 1 */ - mov r1, #0 - str r1, [r0, #CLKCTL_CCSR] + str r4, [r0, #CLKCTL_CCSR] #if defined(CONFIG_MX51) /* setup the rest */ /* Use lp_apm (24MHz) source for perclk */ - ldr r1, =0x000020C2 - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL + ldr r1, =0x000020C2 | CONFIG_SYS_DDR_CLKSEL str r1, [r0, #CLKCTL_CBCMR] /* ddr clock from PLL 1, all perclk dividers are 1 since using 24MHz */ ldr r1, =CONFIG_SYS_CLKTL_CBCDR @@ -289,7 +292,6 @@ ldr r0, =CCM_BASE_ADDR ldr r1, =0x00808145 orr r1, r1, #2 << 10 - orr r1, r1, #0 << 16 orr r1, r1, #1 << 19 str r1, [r0, #CLKCTL_CBCDR] @@ -310,8 +312,7 @@ cmp r1, #0x0 bne 1b - mov r1, #0x0 - str r1, [r0, #CLKCTL_CCDR] + str r4, [r0, #CLKCTL_CCDR] /* for cko - for ARM div by 8 */ mov r1, #0x000A0000 @@ -325,9 +326,10 @@ strh r1, [r0] .endm -.section ".text.init", "x" - ENTRY(lowlevel_init) + mov r10, lr + mov r4, #0 /* Fix R4 to 0 */ + #if defined(CONFIG_MX51) ldr r0, =GPIO1_BASE_ADDR ldr r1, [r0, #0x0] @@ -346,21 +348,25 @@ ENTRY(lowlevel_init) init_clock - /* r12 saved upper lr*/ - mov pc,lr + mov pc, r10 ENDPROC(lowlevel_init) /* Board level setting value */ -W_DP_OP_864: .word DP_OP_864 -W_DP_MFD_864: .word DP_MFD_864 -W_DP_MFN_864: .word DP_MFN_864 +#if defined(CONFIG_MX51_PLL_ERRATA) +W_DP_864: .word DP_OP_864 + .word DP_MFD_864 + .word DP_MFN_864 W_DP_MFN_800_DIT: .word DP_MFN_800_DIT -W_DP_OP_800: .word DP_OP_800 -W_DP_MFD_800: .word DP_MFD_800 -W_DP_MFN_800: .word DP_MFN_800 -W_DP_OP_665: .word DP_OP_665 -W_DP_MFD_665: .word DP_MFD_665 -W_DP_MFN_665: .word DP_MFN_665 -W_DP_OP_216: .word DP_OP_216 -W_DP_MFD_216: .word DP_MFD_216 -W_DP_MFN_216: .word DP_MFN_216 +#else +W_DP_800: .word DP_OP_800 + .word DP_MFD_800 + .word DP_MFN_800 +#endif +#if defined(CONFIG_MX51) +W_DP_665: .word DP_OP_665 + .word DP_MFD_665 + .word DP_MFN_665 +#endif +W_DP_216: .word DP_OP_216 + .word DP_MFD_216 + .word DP_MFN_216 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH 2/4] mx5: Optimize lowlevel_init code size 2012-08-14 14:44 ` [U-Boot] [PATCH 2/4] mx5: Optimize lowlevel_init code size Benoît Thébaudeau @ 2012-08-14 14:52 ` Otavio Salvador 2012-08-14 15:19 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau 0 siblings, 1 reply; 22+ messages in thread From: Otavio Salvador @ 2012-08-14 14:52 UTC (permalink / raw) To: u-boot On Tue, Aug 14, 2012 at 11:44 AM, Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> wrote: > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> What the patch does? Please use long description for it. -- Otavio Salvador O.S. Systems E-mail: otavio at ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 2/4] mx5: Optimize lowlevel_init code size 2012-08-14 14:52 ` Otavio Salvador @ 2012-08-14 15:19 ` Benoît Thébaudeau 2012-09-30 12:47 ` Stefano Babic 2012-09-30 12:49 ` Stefano Babic 0 siblings, 2 replies; 22+ messages in thread From: Benoît Thébaudeau @ 2012-08-14 15:19 UTC (permalink / raw) To: u-boot Optimize mx5 lowlevel_init.S code size: - Compute values at compile time rather than at runtime where possible. - Assign r4 to hold the zero value rather than setting registers to 0 again and again. - Associate a function to setup_pll rather than expanding its large macro code multiple times. - Allocate constant values in section only if used. Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> --- Changes for v2: - Make patch description more detailed. .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 112 +++++++++++--------- 1 file changed, 59 insertions(+), 53 deletions(-) diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S index a40b84f..529e35b 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S @@ -24,6 +24,8 @@ #include <generated/asm-offsets.h> #include <linux/linkage.h> +.section ".text.init", "x" + /* * L2CC Cache setup/invalidation/disable */ @@ -34,15 +36,14 @@ mcr 15, 0, r0, c1, c0, 1 /* reconfigure L2 cache aux control reg */ - mov r0, #0xC0 /* tag RAM */ - add r0, r0, #0x4 /* data RAM */ - orr r0, r0, #1 << 24 /* disable write allocate delay */ - orr r0, r0, #1 << 23 /* disable write allocate combine */ - orr r0, r0, #1 << 22 /* disable write allocate */ + ldr r0, =0xC0 | /* tag RAM */ \ + 0x4 | /* data RAM */ \ + 1 << 24 | /* disable write allocate delay */ \ + 1 << 23 | /* disable write allocate combine */ \ + 1 << 22 /* disable write allocate */ #if defined(CONFIG_MX51) - ldr r1, =0x0 - ldr r3, [r1, #ROM_SI_REV] + ldr r3, [r4, #ROM_SI_REV] cmp r3, #0x10 /* disable write combine for TO 2 and lower revs */ @@ -84,8 +85,7 @@ ldr r1, =0x00000203 str r1, [r0, #0x40] - ldr r1, =0x0 - str r1, [r0, #0x44] + str r4, [r0, #0x44] ldr r1, =0x00120125 str r1, [r0, #0x9C] @@ -98,20 +98,29 @@ .macro setup_pll pll, freq ldr r0, =\pll + adr r2, W_DP_\freq + bl setup_pll_func +.endm + +#define W_DP_OP 0 +#define W_DP_MFD 4 +#define W_DP_MFN 8 + +setup_pll_func: ldr r1, =0x00001232 str r1, [r0, #PLL_DP_CTL] /* Set DPLL ON (set UPEN bit): BRMO=1 */ mov r1, #0x2 str r1, [r0, #PLL_DP_CONFIG] /* Enable auto-restart AREN bit */ - ldr r1, W_DP_OP_\freq + ldr r1, [r2, #W_DP_OP] str r1, [r0, #PLL_DP_OP] str r1, [r0, #PLL_DP_HFS_OP] - ldr r1, W_DP_MFD_\freq + ldr r1, [r2, #W_DP_MFD] str r1, [r0, #PLL_DP_MFD] str r1, [r0, #PLL_DP_HFS_MFD] - ldr r1, W_DP_MFN_\freq + ldr r1, [r2, #W_DP_MFN] str r1, [r0, #PLL_DP_MFN] str r1, [r0, #PLL_DP_HFS_MFN] @@ -120,12 +129,13 @@ 1: ldr r1, [r0, #PLL_DP_CTL] ands r1, r1, #0x1 beq 1b -.endm + + /* r10 saved upper lr */ + mov pc, lr .macro setup_pll_errata pll, freq ldr r2, =\pll - mov r1, #0x0 - str r1, [r2, #PLL_DP_CONFIG] /* Disable auto-restart AREN bit */ + str r4, [r2, #PLL_DP_CONFIG] /* Disable auto-restart AREN bit */ ldr r1, =0x00001236 str r1, [r2, #PLL_DP_CTL] /* Restart PLL with PLM=1 */ 1: ldr r1, [r2, #PLL_DP_CTL] /* Wait for lock */ @@ -158,10 +168,9 @@ /* Gate of clocks to the peripherals first */ ldr r1, =0x3FFFFFFF str r1, [r0, #CLKCTL_CCGR0] - ldr r1, =0x0 - str r1, [r0, #CLKCTL_CCGR1] - str r1, [r0, #CLKCTL_CCGR2] - str r1, [r0, #CLKCTL_CCGR3] + str r4, [r0, #CLKCTL_CCGR1] + str r4, [r0, #CLKCTL_CCGR2] + str r4, [r0, #CLKCTL_CCGR3] ldr r1, =0x00030000 str r1, [r0, #CLKCTL_CCGR4] @@ -184,11 +193,10 @@ #else ldr r1, =0x3FFFFFFF str r1, [r0, #CLKCTL_CCGR0] - ldr r1, =0x0 - str r1, [r0, #CLKCTL_CCGR1] - str r1, [r0, #CLKCTL_CCGR2] - str r1, [r0, #CLKCTL_CCGR3] - str r1, [r0, #CLKCTL_CCGR7] + str r4, [r0, #CLKCTL_CCGR1] + str r4, [r0, #CLKCTL_CCGR2] + str r4, [r0, #CLKCTL_CCGR3] + str r4, [r0, #CLKCTL_CCGR7] ldr r1, =0x00030000 str r1, [r0, #CLKCTL_CCGR4] @@ -214,8 +222,7 @@ /* Switch peripheral to PLL 3 */ ldr r0, =CCM_BASE_ADDR - ldr r1, =0x000010C0 - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL + ldr r1, =0x000010C0 | CONFIG_SYS_DDR_CLKSEL str r1, [r0, #CLKCTL_CBCMR] ldr r1, =0x13239145 str r1, [r0, #CLKCTL_CBCDR] @@ -225,8 +232,7 @@ ldr r0, =CCM_BASE_ADDR ldr r1, =0x19239145 str r1, [r0, #CLKCTL_CBCDR] - ldr r1, =0x000020C0 - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL + ldr r1, =0x000020C0 | CONFIG_SYS_DDR_CLKSEL str r1, [r0, #CLKCTL_CBCMR] #endif setup_pll PLL3_BASE_ADDR, 216 @@ -240,8 +246,7 @@ #if defined(CONFIG_MX51) /* Run 3.0@Full speed, for other TO's wait till we increase VDDGP */ - ldr r1, =0x0 - ldr r3, [r1, #ROM_SI_REV] + ldr r3, [r4, #ROM_SI_REV] cmp r3, #0x10 movls r1, #0x1 movhi r1, #0 @@ -251,14 +256,12 @@ str r1, [r0, #CLKCTL_CACRR] /* Switch ARM back to PLL 1 */ - mov r1, #0 - str r1, [r0, #CLKCTL_CCSR] + str r4, [r0, #CLKCTL_CCSR] #if defined(CONFIG_MX51) /* setup the rest */ /* Use lp_apm (24MHz) source for perclk */ - ldr r1, =0x000020C2 - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL + ldr r1, =0x000020C2 | CONFIG_SYS_DDR_CLKSEL str r1, [r0, #CLKCTL_CBCMR] /* ddr clock from PLL 1, all perclk dividers are 1 since using 24MHz */ ldr r1, =CONFIG_SYS_CLKTL_CBCDR @@ -289,7 +292,6 @@ ldr r0, =CCM_BASE_ADDR ldr r1, =0x00808145 orr r1, r1, #2 << 10 - orr r1, r1, #0 << 16 orr r1, r1, #1 << 19 str r1, [r0, #CLKCTL_CBCDR] @@ -310,8 +312,7 @@ cmp r1, #0x0 bne 1b - mov r1, #0x0 - str r1, [r0, #CLKCTL_CCDR] + str r4, [r0, #CLKCTL_CCDR] /* for cko - for ARM div by 8 */ mov r1, #0x000A0000 @@ -325,9 +326,10 @@ strh r1, [r0] .endm -.section ".text.init", "x" - ENTRY(lowlevel_init) + mov r10, lr + mov r4, #0 /* Fix R4 to 0 */ + #if defined(CONFIG_MX51) ldr r0, =GPIO1_BASE_ADDR ldr r1, [r0, #0x0] @@ -346,21 +348,25 @@ ENTRY(lowlevel_init) init_clock - /* r12 saved upper lr*/ - mov pc,lr + mov pc, r10 ENDPROC(lowlevel_init) /* Board level setting value */ -W_DP_OP_864: .word DP_OP_864 -W_DP_MFD_864: .word DP_MFD_864 -W_DP_MFN_864: .word DP_MFN_864 +#if defined(CONFIG_MX51_PLL_ERRATA) +W_DP_864: .word DP_OP_864 + .word DP_MFD_864 + .word DP_MFN_864 W_DP_MFN_800_DIT: .word DP_MFN_800_DIT -W_DP_OP_800: .word DP_OP_800 -W_DP_MFD_800: .word DP_MFD_800 -W_DP_MFN_800: .word DP_MFN_800 -W_DP_OP_665: .word DP_OP_665 -W_DP_MFD_665: .word DP_MFD_665 -W_DP_MFN_665: .word DP_MFN_665 -W_DP_OP_216: .word DP_OP_216 -W_DP_MFD_216: .word DP_MFD_216 -W_DP_MFN_216: .word DP_MFN_216 +#else +W_DP_800: .word DP_OP_800 + .word DP_MFD_800 + .word DP_MFN_800 +#endif +#if defined(CONFIG_MX51) +W_DP_665: .word DP_OP_665 + .word DP_MFD_665 + .word DP_MFN_665 +#endif +W_DP_216: .word DP_OP_216 + .word DP_MFD_216 + .word DP_MFN_216 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 2/4] mx5: Optimize lowlevel_init code size 2012-08-14 15:19 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau @ 2012-09-30 12:47 ` Stefano Babic 2012-09-30 12:49 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2012-09-30 12:47 UTC (permalink / raw) To: u-boot On 14/08/2012 17:19, Beno?t Th?baudeau wrote: > Optimize mx5 lowlevel_init.S code size: > - Compute values at compile time rather than at runtime where possible. > - Assign r4 to hold the zero value rather than setting registers to 0 again and > again. > - Associate a function to setup_pll rather than expanding its large macro code > multiple times. > - Allocate constant values in section only if used. > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > --- > Changes for v2: > - Make patch description more detailed. > > .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 112 +++++++++++--------- > 1 file changed, 59 insertions(+), 53 deletions(-) > > diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S > index a40b84f..529e35b 100644 > --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S > +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S > @@ -24,6 +24,8 @@ > #include <generated/asm-offsets.h> > #include <linux/linkage.h> > > +.section ".text.init", "x" > + > /* > * L2CC Cache setup/invalidation/disable > */ > @@ -34,15 +36,14 @@ > mcr 15, 0, r0, c1, c0, 1 > > /* reconfigure L2 cache aux control reg */ > - mov r0, #0xC0 /* tag RAM */ > - add r0, r0, #0x4 /* data RAM */ > - orr r0, r0, #1 << 24 /* disable write allocate delay */ > - orr r0, r0, #1 << 23 /* disable write allocate combine */ > - orr r0, r0, #1 << 22 /* disable write allocate */ > + ldr r0, =0xC0 | /* tag RAM */ \ > + 0x4 | /* data RAM */ \ > + 1 << 24 | /* disable write allocate delay */ \ > + 1 << 23 | /* disable write allocate combine */ \ > + 1 << 22 /* disable write allocate */ > > #if defined(CONFIG_MX51) > - ldr r1, =0x0 > - ldr r3, [r1, #ROM_SI_REV] > + ldr r3, [r4, #ROM_SI_REV] > cmp r3, #0x10 > > /* disable write combine for TO 2 and lower revs */ > @@ -84,8 +85,7 @@ > ldr r1, =0x00000203 > str r1, [r0, #0x40] > > - ldr r1, =0x0 > - str r1, [r0, #0x44] > + str r4, [r0, #0x44] > > ldr r1, =0x00120125 > str r1, [r0, #0x9C] > @@ -98,20 +98,29 @@ > > .macro setup_pll pll, freq > ldr r0, =\pll > + adr r2, W_DP_\freq > + bl setup_pll_func > +.endm > + > +#define W_DP_OP 0 > +#define W_DP_MFD 4 > +#define W_DP_MFN 8 > + > +setup_pll_func: > ldr r1, =0x00001232 > str r1, [r0, #PLL_DP_CTL] /* Set DPLL ON (set UPEN bit): BRMO=1 */ > mov r1, #0x2 > str r1, [r0, #PLL_DP_CONFIG] /* Enable auto-restart AREN bit */ > > - ldr r1, W_DP_OP_\freq > + ldr r1, [r2, #W_DP_OP] > str r1, [r0, #PLL_DP_OP] > str r1, [r0, #PLL_DP_HFS_OP] > > - ldr r1, W_DP_MFD_\freq > + ldr r1, [r2, #W_DP_MFD] > str r1, [r0, #PLL_DP_MFD] > str r1, [r0, #PLL_DP_HFS_MFD] > > - ldr r1, W_DP_MFN_\freq > + ldr r1, [r2, #W_DP_MFN] > str r1, [r0, #PLL_DP_MFN] > str r1, [r0, #PLL_DP_HFS_MFN] > > @@ -120,12 +129,13 @@ > 1: ldr r1, [r0, #PLL_DP_CTL] > ands r1, r1, #0x1 > beq 1b > -.endm > + > + /* r10 saved upper lr */ > + mov pc, lr > > .macro setup_pll_errata pll, freq > ldr r2, =\pll > - mov r1, #0x0 > - str r1, [r2, #PLL_DP_CONFIG] /* Disable auto-restart AREN bit */ > + str r4, [r2, #PLL_DP_CONFIG] /* Disable auto-restart AREN bit */ > ldr r1, =0x00001236 > str r1, [r2, #PLL_DP_CTL] /* Restart PLL with PLM=1 */ > 1: ldr r1, [r2, #PLL_DP_CTL] /* Wait for lock */ > @@ -158,10 +168,9 @@ > /* Gate of clocks to the peripherals first */ > ldr r1, =0x3FFFFFFF > str r1, [r0, #CLKCTL_CCGR0] > - ldr r1, =0x0 > - str r1, [r0, #CLKCTL_CCGR1] > - str r1, [r0, #CLKCTL_CCGR2] > - str r1, [r0, #CLKCTL_CCGR3] > + str r4, [r0, #CLKCTL_CCGR1] > + str r4, [r0, #CLKCTL_CCGR2] > + str r4, [r0, #CLKCTL_CCGR3] > > ldr r1, =0x00030000 > str r1, [r0, #CLKCTL_CCGR4] > @@ -184,11 +193,10 @@ > #else > ldr r1, =0x3FFFFFFF > str r1, [r0, #CLKCTL_CCGR0] > - ldr r1, =0x0 > - str r1, [r0, #CLKCTL_CCGR1] > - str r1, [r0, #CLKCTL_CCGR2] > - str r1, [r0, #CLKCTL_CCGR3] > - str r1, [r0, #CLKCTL_CCGR7] > + str r4, [r0, #CLKCTL_CCGR1] > + str r4, [r0, #CLKCTL_CCGR2] > + str r4, [r0, #CLKCTL_CCGR3] > + str r4, [r0, #CLKCTL_CCGR7] > > ldr r1, =0x00030000 > str r1, [r0, #CLKCTL_CCGR4] > @@ -214,8 +222,7 @@ > > /* Switch peripheral to PLL 3 */ > ldr r0, =CCM_BASE_ADDR > - ldr r1, =0x000010C0 > - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL > + ldr r1, =0x000010C0 | CONFIG_SYS_DDR_CLKSEL > str r1, [r0, #CLKCTL_CBCMR] > ldr r1, =0x13239145 > str r1, [r0, #CLKCTL_CBCDR] > @@ -225,8 +232,7 @@ > ldr r0, =CCM_BASE_ADDR > ldr r1, =0x19239145 > str r1, [r0, #CLKCTL_CBCDR] > - ldr r1, =0x000020C0 > - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL > + ldr r1, =0x000020C0 | CONFIG_SYS_DDR_CLKSEL > str r1, [r0, #CLKCTL_CBCMR] > #endif > setup_pll PLL3_BASE_ADDR, 216 > @@ -240,8 +246,7 @@ > > #if defined(CONFIG_MX51) > /* Run 3.0 at Full speed, for other TO's wait till we increase VDDGP */ > - ldr r1, =0x0 > - ldr r3, [r1, #ROM_SI_REV] > + ldr r3, [r4, #ROM_SI_REV] > cmp r3, #0x10 > movls r1, #0x1 > movhi r1, #0 > @@ -251,14 +256,12 @@ > str r1, [r0, #CLKCTL_CACRR] > > /* Switch ARM back to PLL 1 */ > - mov r1, #0 > - str r1, [r0, #CLKCTL_CCSR] > + str r4, [r0, #CLKCTL_CCSR] > > #if defined(CONFIG_MX51) > /* setup the rest */ > /* Use lp_apm (24MHz) source for perclk */ > - ldr r1, =0x000020C2 > - orr r1,r1,#CONFIG_SYS_DDR_CLKSEL > + ldr r1, =0x000020C2 | CONFIG_SYS_DDR_CLKSEL > str r1, [r0, #CLKCTL_CBCMR] > /* ddr clock from PLL 1, all perclk dividers are 1 since using 24MHz */ > ldr r1, =CONFIG_SYS_CLKTL_CBCDR > @@ -289,7 +292,6 @@ > ldr r0, =CCM_BASE_ADDR > ldr r1, =0x00808145 > orr r1, r1, #2 << 10 > - orr r1, r1, #0 << 16 > orr r1, r1, #1 << 19 > str r1, [r0, #CLKCTL_CBCDR] > > @@ -310,8 +312,7 @@ > cmp r1, #0x0 > bne 1b > > - mov r1, #0x0 > - str r1, [r0, #CLKCTL_CCDR] > + str r4, [r0, #CLKCTL_CCDR] > > /* for cko - for ARM div by 8 */ > mov r1, #0x000A0000 > @@ -325,9 +326,10 @@ > strh r1, [r0] > .endm > > -.section ".text.init", "x" > - > ENTRY(lowlevel_init) > + mov r10, lr > + mov r4, #0 /* Fix R4 to 0 */ > + > #if defined(CONFIG_MX51) > ldr r0, =GPIO1_BASE_ADDR > ldr r1, [r0, #0x0] > @@ -346,21 +348,25 @@ ENTRY(lowlevel_init) > > init_clock > > - /* r12 saved upper lr*/ > - mov pc,lr > + mov pc, r10 > ENDPROC(lowlevel_init) > > /* Board level setting value */ > -W_DP_OP_864: .word DP_OP_864 > -W_DP_MFD_864: .word DP_MFD_864 > -W_DP_MFN_864: .word DP_MFN_864 > +#if defined(CONFIG_MX51_PLL_ERRATA) > +W_DP_864: .word DP_OP_864 > + .word DP_MFD_864 > + .word DP_MFN_864 > W_DP_MFN_800_DIT: .word DP_MFN_800_DIT > -W_DP_OP_800: .word DP_OP_800 > -W_DP_MFD_800: .word DP_MFD_800 > -W_DP_MFN_800: .word DP_MFN_800 > -W_DP_OP_665: .word DP_OP_665 > -W_DP_MFD_665: .word DP_MFD_665 > -W_DP_MFN_665: .word DP_MFN_665 > -W_DP_OP_216: .word DP_OP_216 > -W_DP_MFD_216: .word DP_MFD_216 > -W_DP_MFN_216: .word DP_MFN_216 > +#else > +W_DP_800: .word DP_OP_800 > + .word DP_MFD_800 > + .word DP_MFN_800 > +#endif > +#if defined(CONFIG_MX51) > +W_DP_665: .word DP_OP_665 > + .word DP_MFD_665 > + .word DP_MFN_665 > +#endif > +W_DP_216: .word DP_OP_216 > + .word DP_MFD_216 > + .word DP_MFN_216 > I don't see any issue with this patch. Tested also on mx53loco. Tested-by: Stefano Babic <sbabic@denx.de> Acked-by: Stefano Babic <sbabic@denx.de> Regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 2/4] mx5: Optimize lowlevel_init code size 2012-08-14 15:19 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau 2012-09-30 12:47 ` Stefano Babic @ 2012-09-30 12:49 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2012-09-30 12:49 UTC (permalink / raw) To: u-boot On 14/08/2012 17:19, Beno?t Th?baudeau wrote: > Optimize mx5 lowlevel_init.S code size: > - Compute values at compile time rather than at runtime where possible. > - Assign r4 to hold the zero value rather than setting registers to 0 again and > again. > - Associate a function to setup_pll rather than expanding its large macro code > multiple times. > - Allocate constant values in section only if used. > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > --- Applied to u-boot-imx, next branch, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH 3/4] mx5: Optimize lowlevel_init for TO 3 2012-08-14 14:43 [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Benoît Thébaudeau 2012-08-14 14:44 ` [U-Boot] [PATCH 2/4] mx5: Optimize lowlevel_init code size Benoît Thébaudeau @ 2012-08-14 14:44 ` Benoît Thébaudeau 2012-08-14 14:56 ` Otavio Salvador 2012-08-14 14:44 ` [U-Boot] [PATCH 4/4] mx5: Mark lowlevel_init board-specific code Benoît Thébaudeau 2012-08-14 14:51 ` [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Otavio Salvador 3 siblings, 1 reply; 22+ messages in thread From: Benoît Thébaudeau @ 2012-08-14 14:44 UTC (permalink / raw) To: u-boot Add an option to optimize away revision-specific code from lowlevel_init.S. This can be useful for recently designed boards that may not be fitted with older revisions. Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> --- .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 4 ++-- .../doc/README.imx5 | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S index 529e35b..d0f75fa 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S @@ -42,7 +42,7 @@ 1 << 23 | /* disable write allocate combine */ \ 1 << 22 /* disable write allocate */ -#if defined(CONFIG_MX51) +#if defined(CONFIG_MX51) && !defined(CONFIG_MX51_TO_3) ldr r3, [r4, #ROM_SI_REV] cmp r3, #0x10 @@ -244,7 +244,7 @@ setup_pll_func: ldr r0, =CCM_BASE_ADDR -#if defined(CONFIG_MX51) +#if defined(CONFIG_MX51) && !defined(CONFIG_MX51_TO_3) /* Run 3.0 at Full speed, for other TO's wait till we increase VDDGP */ ldr r3, [r4, #ROM_SI_REV] cmp r3, #0x10 diff --git u-boot-4d3c95f.orig/doc/README.imx5 u-boot-4d3c95f/doc/README.imx5 index f7eab7d..938d3da 100644 --- u-boot-4d3c95f.orig/doc/README.imx5 +++ u-boot-4d3c95f/doc/README.imx5 @@ -6,7 +6,12 @@ i.MX5x SoCs. 1. CONFIGURATION OPTIONS/SETTINGS --------------------------------- -1.1 CONFIG_MX51_PLL_ERRATA: Workaround for i.MX51 PLL errata. +1.1 CONFIG_MX51_TO_3: i.MX51 silicon revision 3 or higher. + This option can be enabled for these i.MX51 silicon revisions to optimize + away some specific behavior triggered by the detection of older silicon + revisions at runtime. + +1.2 CONFIG_MX51_PLL_ERRATA: Workaround for i.MX51 PLL errata. This option should be enabled by all boards using the i.MX51 silicon version up until (including) 3.0 running@800MHz. The PLL's in the i.MX51 processor can go out of lock due to a metastable ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH 3/4] mx5: Optimize lowlevel_init for TO 3 2012-08-14 14:44 ` [U-Boot] [PATCH 3/4] mx5: Optimize lowlevel_init for TO 3 Benoît Thébaudeau @ 2012-08-14 14:56 ` Otavio Salvador 2012-08-14 15:19 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau 0 siblings, 1 reply; 22+ messages in thread From: Otavio Salvador @ 2012-08-14 14:56 UTC (permalink / raw) To: u-boot On Tue, Aug 14, 2012 at 11:44 AM, Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> wrote: > Add an option to optimize away revision-specific code from lowlevel_init.S. This > can be useful for recently designed boards that may not be fitted with older > revisions. > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> Looking at code I somewhat understood what you did but the commit log doesn't describe the change you did neither why you did. -- Otavio Salvador O.S. Systems E-mail: otavio at ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 3/4] mx5: Optimize lowlevel_init for TO 3 2012-08-14 14:56 ` Otavio Salvador @ 2012-08-14 15:19 ` Benoît Thébaudeau 2012-08-20 8:20 ` Stefano Babic 0 siblings, 1 reply; 22+ messages in thread From: Benoît Thébaudeau @ 2012-08-14 15:19 UTC (permalink / raw) To: u-boot The mx5 lowlevel_init.S contains code that detects the silicon revision at runtime, and that behaves differently if a silicon revision older than TO 3 is detected. This code is useless for recently designed boards that may not be fitted with older silicon revisions. Hence, this patch adds an option to optimize away this revision-specific code from lowlevel_init.S. Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> --- Changes for v2: - Make patch description more detailed. .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 4 ++-- .../doc/README.imx5 | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S index 529e35b..d0f75fa 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S @@ -42,7 +42,7 @@ 1 << 23 | /* disable write allocate combine */ \ 1 << 22 /* disable write allocate */ -#if defined(CONFIG_MX51) +#if defined(CONFIG_MX51) && !defined(CONFIG_MX51_TO_3) ldr r3, [r4, #ROM_SI_REV] cmp r3, #0x10 @@ -244,7 +244,7 @@ setup_pll_func: ldr r0, =CCM_BASE_ADDR -#if defined(CONFIG_MX51) +#if defined(CONFIG_MX51) && !defined(CONFIG_MX51_TO_3) /* Run 3.0 at Full speed, for other TO's wait till we increase VDDGP */ ldr r3, [r4, #ROM_SI_REV] cmp r3, #0x10 diff --git u-boot-4d3c95f.orig/doc/README.imx5 u-boot-4d3c95f/doc/README.imx5 index f7eab7d..938d3da 100644 --- u-boot-4d3c95f.orig/doc/README.imx5 +++ u-boot-4d3c95f/doc/README.imx5 @@ -6,7 +6,12 @@ i.MX5x SoCs. 1. CONFIGURATION OPTIONS/SETTINGS --------------------------------- -1.1 CONFIG_MX51_PLL_ERRATA: Workaround for i.MX51 PLL errata. +1.1 CONFIG_MX51_TO_3: i.MX51 silicon revision 3 or higher. + This option can be enabled for these i.MX51 silicon revisions to optimize + away some specific behavior triggered by the detection of older silicon + revisions at runtime. + +1.2 CONFIG_MX51_PLL_ERRATA: Workaround for i.MX51 PLL errata. This option should be enabled by all boards using the i.MX51 silicon version up until (including) 3.0 running@800MHz. The PLL's in the i.MX51 processor can go out of lock due to a metastable ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 3/4] mx5: Optimize lowlevel_init for TO 3 2012-08-14 15:19 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau @ 2012-08-20 8:20 ` Stefano Babic 2012-08-20 10:12 ` Benoît Thébaudeau 0 siblings, 1 reply; 22+ messages in thread From: Stefano Babic @ 2012-08-20 8:20 UTC (permalink / raw) To: u-boot On 14/08/2012 17:19, Beno?t Th?baudeau wrote: > The mx5 lowlevel_init.S contains code that detects the silicon revision at > runtime, and that behaves differently if a silicon revision older than TO 3 is > detected. This code is useless for recently designed boards that may not be > fitted with older silicon revisions. Hence, this patch adds an option to > optimize away this revision-specific code from lowlevel_init.S. > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > --- Hi Beno?t, > Changes for v2: > - Make patch description more detailed. > > .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 4 ++-- > .../doc/README.imx5 | 7 ++++++- > 2 files changed, 8 insertions(+), 3 deletions(-) > The ROM revision is currently detected at run time - because this does not fix an evident bug, your patch intends to reduce the footprint. Then I chacked on a mx51evk, a board thet was shipped by Freescale with TO 2 (and maybe TO 1 ?), and there are surely samples with TO2 or TO3 in the world. Without the poatch: Configuring for mx51evk - Board: mx51evk, Options: IMX_CONFIG=board/freescale/mx51evk/imximage.cfg text data bss dec hex filename 258168 15872 268464 542504 84728 ./u-boot With the patch: Configuring for mx51evk - Board: mx51evk, Options: IMX_CONFIG=board/freescale/mx51evk/imximage.cfg text data bss dec hex filename 258140 15872 268492 542504 84728 ./u-boot We win only 28 bytes - on the other side, we had a CONFIG_ that is not so clear how to be used, mainly if a board as the mx51evk was shipped with both versions. I think the advantages are negligible here. Best regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 3/4] mx5: Optimize lowlevel_init for TO 3 2012-08-20 8:20 ` Stefano Babic @ 2012-08-20 10:12 ` Benoît Thébaudeau 0 siblings, 0 replies; 22+ messages in thread From: Benoît Thébaudeau @ 2012-08-20 10:12 UTC (permalink / raw) To: u-boot Hi Stefano, > On 14/08/2012 17:19, Beno?t Th?baudeau wrote: > > The mx5 lowlevel_init.S contains code that detects the silicon > > revision at > > runtime, and that behaves differently if a silicon revision older > > than TO 3 is > > detected. This code is useless for recently designed boards that > > may not be > > fitted with older silicon revisions. Hence, this patch adds an > > option to > > optimize away this revision-specific code from lowlevel_init.S. > > > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > > Cc: Stefano Babic <sbabic@denx.de> > > --- > > Hi Beno?t, > > > Changes for v2: > > - Make patch description more detailed. > > > > .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 4 ++-- > > .../doc/README.imx5 | 7 ++++++- > > 2 files changed, 8 insertions(+), 3 deletions(-) > > > > The ROM revision is currently detected at run time - because this > does > not fix an evident bug, your patch intends to reduce the footprint. > > Then I chacked on a mx51evk, a board thet was shipped by Freescale > with > TO 2 (and maybe TO 1 ?), and there are surely samples with TO2 or TO3 > in > the world. > > Without the poatch: > > Configuring for mx51evk - Board: mx51evk, Options: > IMX_CONFIG=board/freescale/mx51evk/imximage.cfg > text data bss dec hex filename > 258168 15872 268464 542504 84728 ./u-boot > > With the patch: > > Configuring for mx51evk - Board: mx51evk, Options: > IMX_CONFIG=board/freescale/mx51evk/imximage.cfg > text data bss dec hex filename > 258140 15872 268492 542504 84728 ./u-boot > > We win only 28 bytes - on the other side, we had a CONFIG_ that is > not > so clear how to be used, mainly if a board as the mx51evk was shipped > with both versions. To make things easier, this config should be used only for boards always shipped with the newer versions. > I think the advantages are negligible here. Indeed. I needed that for a specific case where any single byte was worth saving. For upstream U-Boot, I let you decide if this is interesting enough or not. Best regards, Beno?t ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH 4/4] mx5: Mark lowlevel_init board-specific code 2012-08-14 14:43 [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Benoît Thébaudeau 2012-08-14 14:44 ` [U-Boot] [PATCH 2/4] mx5: Optimize lowlevel_init code size Benoît Thébaudeau 2012-08-14 14:44 ` [U-Boot] [PATCH 3/4] mx5: Optimize lowlevel_init for TO 3 Benoît Thébaudeau @ 2012-08-14 14:44 ` Benoît Thébaudeau 2012-08-15 14:34 ` Benoît Thébaudeau 2012-11-05 20:07 ` [U-Boot] [PATCH v2] " Benoît Thébaudeau 2012-08-14 14:51 ` [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Otavio Salvador 3 siblings, 2 replies; 22+ messages in thread From: Benoît Thébaudeau @ 2012-08-14 14:44 UTC (permalink / raw) To: u-boot The mx5 lowlevel_init.S contains board-specific code based on the reference design. Let's keep it since it avoids creating new lowlevel_init files and it may be used by many boards. But add a config to make it optional in order not to cause issues on boards not following this part of the reference design. Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> --- .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 2 +- .../doc/README.imx5 | 5 +++++ .../include/configs/efikamx.h | 1 + .../include/configs/mx51evk.h | 1 + .../include/configs/vision2.h | 1 + 5 files changed, 9 insertions(+), 1 deletion(-) diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S index d0f75fa..b25b3a7 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S @@ -330,7 +330,7 @@ ENTRY(lowlevel_init) mov r10, lr mov r4, #0 /* Fix R4 to 0 */ -#if defined(CONFIG_MX51) +#if defined(CONFIG_SYS_MAIN_PWR_ON) ldr r0, =GPIO1_BASE_ADDR ldr r1, [r0, #0x0] orr r1, r1, #1 << 23 diff --git u-boot-4d3c95f.orig/doc/README.imx5 u-boot-4d3c95f/doc/README.imx5 index 938d3da..85d476f 100644 --- u-boot-4d3c95f.orig/doc/README.imx5 +++ u-boot-4d3c95f/doc/README.imx5 @@ -20,3 +20,8 @@ i.MX5x SoCs. mode), which causes the effect of this failure to be much lower (in terms of frequency deviation), avoiding system failure, or@least decreasing the likelihood of system failure. + +1.3 CONFIG_SYS_MAIN_PWR_ON: Trigger MAIN_PWR_ON upon startup. + This option should be enabled for boards having a SYS_ON_OFF_CTL signal + connected to GPIO1[23] and triggering the MAIN_PWR_ON signal like in the + reference designs. diff --git u-boot-4d3c95f.orig/include/configs/efikamx.h u-boot-4d3c95f/include/configs/efikamx.h index 143b0f0..792b51b 100644 --- u-boot-4d3c95f.orig/include/configs/efikamx.h +++ u-boot-4d3c95f/include/configs/efikamx.h @@ -270,5 +270,6 @@ #define CONFIG_SYS_DDR_CLKSEL 0 #define CONFIG_SYS_CLKTL_CBCDR 0x59E35145 +#define CONFIG_SYS_MAIN_PWR_ON #endif diff --git u-boot-4d3c95f.orig/include/configs/mx51evk.h u-boot-4d3c95f/include/configs/mx51evk.h index e975f54..6867f7b 100644 --- u-boot-4d3c95f.orig/include/configs/mx51evk.h +++ u-boot-4d3c95f/include/configs/mx51evk.h @@ -242,6 +242,7 @@ #define CONFIG_SYS_DDR_CLKSEL 0 #define CONFIG_SYS_CLKTL_CBCDR 0x59E35100 +#define CONFIG_SYS_MAIN_PWR_ON /*----------------------------------------------------------------------- * FLASH and environment organization diff --git u-boot-4d3c95f.orig/include/configs/vision2.h u-boot-4d3c95f/include/configs/vision2.h index ed004a6..3ce4906 100644 --- u-boot-4d3c95f.orig/include/configs/vision2.h +++ u-boot-4d3c95f/include/configs/vision2.h @@ -203,6 +203,7 @@ /* 166 MHz DDR RAM */ #define CONFIG_SYS_DDR_CLKSEL 0 #define CONFIG_SYS_CLKTL_CBCDR 0x19239100 +#define CONFIG_SYS_MAIN_PWR_ON #define CONFIG_SYS_NO_FLASH ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH 4/4] mx5: Mark lowlevel_init board-specific code 2012-08-14 14:44 ` [U-Boot] [PATCH 4/4] mx5: Mark lowlevel_init board-specific code Benoît Thébaudeau @ 2012-08-15 14:34 ` Benoît Thébaudeau 2012-11-05 20:07 ` [U-Boot] [PATCH v2] " Benoît Thébaudeau 1 sibling, 0 replies; 22+ messages in thread From: Benoît Thébaudeau @ 2012-08-15 14:34 UTC (permalink / raw) To: u-boot > The mx5 lowlevel_init.S contains board-specific code based on the > reference > design. Let's keep it since it avoids creating new lowlevel_init > files and it > may be used by many boards. But add a config to make it optional in > order not to > cause issues on boards not following this part of the reference > design. > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> Adding missing board maintainers to Cc. > --- > .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 2 +- > .../doc/README.imx5 | 5 +++++ > .../include/configs/efikamx.h | 1 + > .../include/configs/mx51evk.h | 1 + > .../include/configs/vision2.h | 1 + > 5 files changed, 9 insertions(+), 1 deletion(-) > > diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S > u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S > index d0f75fa..b25b3a7 100644 > --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S > +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S > @@ -330,7 +330,7 @@ ENTRY(lowlevel_init) > mov r10, lr > mov r4, #0 /* Fix R4 to 0 */ > > -#if defined(CONFIG_MX51) > +#if defined(CONFIG_SYS_MAIN_PWR_ON) > ldr r0, =GPIO1_BASE_ADDR > ldr r1, [r0, #0x0] > orr r1, r1, #1 << 23 > diff --git u-boot-4d3c95f.orig/doc/README.imx5 > u-boot-4d3c95f/doc/README.imx5 > index 938d3da..85d476f 100644 > --- u-boot-4d3c95f.orig/doc/README.imx5 > +++ u-boot-4d3c95f/doc/README.imx5 > @@ -20,3 +20,8 @@ i.MX5x SoCs. > mode), which causes the effect of this failure to be much lower > (in terms > of frequency deviation), avoiding system failure, or at least > decreasing > the likelihood of system failure. > + > +1.3 CONFIG_SYS_MAIN_PWR_ON: Trigger MAIN_PWR_ON upon startup. > + This option should be enabled for boards having a SYS_ON_OFF_CTL > signal > + connected to GPIO1[23] and triggering the MAIN_PWR_ON signal > like in the > + reference designs. > diff --git u-boot-4d3c95f.orig/include/configs/efikamx.h > u-boot-4d3c95f/include/configs/efikamx.h > index 143b0f0..792b51b 100644 > --- u-boot-4d3c95f.orig/include/configs/efikamx.h > +++ u-boot-4d3c95f/include/configs/efikamx.h > @@ -270,5 +270,6 @@ > > #define CONFIG_SYS_DDR_CLKSEL 0 > #define CONFIG_SYS_CLKTL_CBCDR 0x59E35145 > +#define CONFIG_SYS_MAIN_PWR_ON > > #endif > diff --git u-boot-4d3c95f.orig/include/configs/mx51evk.h > u-boot-4d3c95f/include/configs/mx51evk.h > index e975f54..6867f7b 100644 > --- u-boot-4d3c95f.orig/include/configs/mx51evk.h > +++ u-boot-4d3c95f/include/configs/mx51evk.h > @@ -242,6 +242,7 @@ > > #define CONFIG_SYS_DDR_CLKSEL 0 > #define CONFIG_SYS_CLKTL_CBCDR 0x59E35100 > +#define CONFIG_SYS_MAIN_PWR_ON > > /*----------------------------------------------------------------------- > * FLASH and environment organization > diff --git u-boot-4d3c95f.orig/include/configs/vision2.h > u-boot-4d3c95f/include/configs/vision2.h > index ed004a6..3ce4906 100644 > --- u-boot-4d3c95f.orig/include/configs/vision2.h > +++ u-boot-4d3c95f/include/configs/vision2.h > @@ -203,6 +203,7 @@ > /* 166 MHz DDR RAM */ > #define CONFIG_SYS_DDR_CLKSEL 0 > #define CONFIG_SYS_CLKTL_CBCDR 0x19239100 > +#define CONFIG_SYS_MAIN_PWR_ON > > #define CONFIG_SYS_NO_FLASH > > ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2] mx5: Mark lowlevel_init board-specific code 2012-08-14 14:44 ` [U-Boot] [PATCH 4/4] mx5: Mark lowlevel_init board-specific code Benoît Thébaudeau 2012-08-15 14:34 ` Benoît Thébaudeau @ 2012-11-05 20:07 ` Benoît Thébaudeau 2012-11-07 14:29 ` Stefano Babic 2012-11-19 7:57 ` Stefano Babic 1 sibling, 2 replies; 22+ messages in thread From: Benoît Thébaudeau @ 2012-11-05 20:07 UTC (permalink / raw) To: u-boot The mx5 lowlevel_init.S contains board-specific code based on the reference design. Let's keep it since it avoids creating new lowlevel_init files and it may be used by many boards. But add a config to make it optional in order not to cause issues on boards not following this part of the reference design. Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Matt Sealey <matt@genesi-usa.com> --- Note for mx51_efikamx and vision2 board maintainers: Check if CONFIG_SYS_MAIN_PWR_ON should be defined or not for your hardware (I don't have your schematics). Anyway, this patch does not change the behavior for these boards, but it allows to fix a possible existing issue for these boards if they differ from the mx51evk on this point. This patch supersedes http://patchwork.ozlabs.org/patch/177296/ . Changes for v2: - Rebase after other patch dropped in the original series (changes section number in doc/README.imx5). - Rebase after efikamx renamed to mx51_efikamx. .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 2 +- {u-boot-imx-bad05afe.orig => u-boot-imx-bad05afe}/doc/README.imx5 | 5 +++++ .../include/configs/mx51_efikamx.h | 1 + .../include/configs/mx51evk.h | 1 + .../include/configs/vision2.h | 1 + 5 files changed, 9 insertions(+), 1 deletion(-) diff --git u-boot-imx-bad05afe.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-imx-bad05afe/arch/arm/cpu/armv7/mx5/lowlevel_init.S index 29ec957..6d9396a 100644 --- u-boot-imx-bad05afe.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S +++ u-boot-imx-bad05afe/arch/arm/cpu/armv7/mx5/lowlevel_init.S @@ -396,7 +396,7 @@ ENTRY(lowlevel_init) mov r10, lr mov r4, #0 /* Fix R4 to 0 */ -#if defined(CONFIG_MX51) +#if defined(CONFIG_SYS_MAIN_PWR_ON) ldr r0, =GPIO1_BASE_ADDR ldr r1, [r0, #0x0] orr r1, r1, #1 << 23 diff --git u-boot-imx-bad05afe.orig/doc/README.imx5 u-boot-imx-bad05afe/doc/README.imx5 index f7eab7d..e08941e 100644 --- u-boot-imx-bad05afe.orig/doc/README.imx5 +++ u-boot-imx-bad05afe/doc/README.imx5 @@ -15,3 +15,8 @@ i.MX5x SoCs. mode), which causes the effect of this failure to be much lower (in terms of frequency deviation), avoiding system failure, or@least decreasing the likelihood of system failure. + +1.2 CONFIG_SYS_MAIN_PWR_ON: Trigger MAIN_PWR_ON upon startup. + This option should be enabled for boards having a SYS_ON_OFF_CTL signal + connected to GPIO1[23] and triggering the MAIN_PWR_ON signal like in the + reference designs. diff --git u-boot-imx-bad05afe.orig/include/configs/mx51_efikamx.h u-boot-imx-bad05afe/include/configs/mx51_efikamx.h index ffe771f..a056566 100644 --- u-boot-imx-bad05afe.orig/include/configs/mx51_efikamx.h +++ u-boot-imx-bad05afe/include/configs/mx51_efikamx.h @@ -261,5 +261,6 @@ #define CONFIG_SYS_DDR_CLKSEL 0 #define CONFIG_SYS_CLKTL_CBCDR 0x59E35145 +#define CONFIG_SYS_MAIN_PWR_ON #endif diff --git u-boot-imx-bad05afe.orig/include/configs/mx51evk.h u-boot-imx-bad05afe/include/configs/mx51evk.h index 8cf59fe..122871f 100644 --- u-boot-imx-bad05afe.orig/include/configs/mx51evk.h +++ u-boot-imx-bad05afe/include/configs/mx51evk.h @@ -235,6 +235,7 @@ #define CONFIG_SYS_DDR_CLKSEL 0 #define CONFIG_SYS_CLKTL_CBCDR 0x59E35100 +#define CONFIG_SYS_MAIN_PWR_ON /*----------------------------------------------------------------------- * FLASH and environment organization diff --git u-boot-imx-bad05afe.orig/include/configs/vision2.h u-boot-imx-bad05afe/include/configs/vision2.h index 848df88..13c5702 100644 --- u-boot-imx-bad05afe.orig/include/configs/vision2.h +++ u-boot-imx-bad05afe/include/configs/vision2.h @@ -196,6 +196,7 @@ /* 166 MHz DDR RAM */ #define CONFIG_SYS_DDR_CLKSEL 0 #define CONFIG_SYS_CLKTL_CBCDR 0x19239100 +#define CONFIG_SYS_MAIN_PWR_ON #define CONFIG_SYS_NO_FLASH ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2] mx5: Mark lowlevel_init board-specific code 2012-11-05 20:07 ` [U-Boot] [PATCH v2] " Benoît Thébaudeau @ 2012-11-07 14:29 ` Stefano Babic 2012-11-16 22:42 ` Benoît Thébaudeau 2012-11-19 7:57 ` Stefano Babic 1 sibling, 1 reply; 22+ messages in thread From: Stefano Babic @ 2012-11-07 14:29 UTC (permalink / raw) To: u-boot On 05/11/2012 21:07, Beno?t Th?baudeau wrote: > The mx5 lowlevel_init.S contains board-specific code based on the reference > design. Let's keep it since it avoids creating new lowlevel_init files and it > may be used by many boards. But add a config to make it optional in order not to > cause issues on boards not following this part of the reference design. Right, and it is correct that this initialisation is not done for all boards. Acked-by: Stefano Babic <sbabic@denx.de> Best regards, Stefano Babic > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > Cc: Matt Sealey <matt@genesi-usa.com> > --- > Note for mx51_efikamx and vision2 board maintainers: Check if > CONFIG_SYS_MAIN_PWR_ON should be defined or not for your hardware (I don't have > your schematics). Anyway, this patch does not change the behavior for these > boards, but it allows to fix a possible existing issue for these boards if > they differ from the mx51evk on this point. > > This patch supersedes http://patchwork.ozlabs.org/patch/177296/ . > Changes for v2: > - Rebase after other patch dropped in the original series (changes section > number in doc/README.imx5). > - Rebase after efikamx renamed to mx51_efikamx. > > .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 2 +- > {u-boot-imx-bad05afe.orig => u-boot-imx-bad05afe}/doc/README.imx5 | 5 +++++ > .../include/configs/mx51_efikamx.h | 1 + > .../include/configs/mx51evk.h | 1 + > .../include/configs/vision2.h | 1 + > 5 files changed, 9 insertions(+), 1 deletion(-) > > diff --git u-boot-imx-bad05afe.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-imx-bad05afe/arch/arm/cpu/armv7/mx5/lowlevel_init.S > index 29ec957..6d9396a 100644 > --- u-boot-imx-bad05afe.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S > +++ u-boot-imx-bad05afe/arch/arm/cpu/armv7/mx5/lowlevel_init.S > @@ -396,7 +396,7 @@ ENTRY(lowlevel_init) > mov r10, lr > mov r4, #0 /* Fix R4 to 0 */ > > -#if defined(CONFIG_MX51) > +#if defined(CONFIG_SYS_MAIN_PWR_ON) > ldr r0, =GPIO1_BASE_ADDR > ldr r1, [r0, #0x0] > orr r1, r1, #1 << 23 > diff --git u-boot-imx-bad05afe.orig/doc/README.imx5 u-boot-imx-bad05afe/doc/README.imx5 > index f7eab7d..e08941e 100644 > --- u-boot-imx-bad05afe.orig/doc/README.imx5 > +++ u-boot-imx-bad05afe/doc/README.imx5 > @@ -15,3 +15,8 @@ i.MX5x SoCs. > mode), which causes the effect of this failure to be much lower (in terms > of frequency deviation), avoiding system failure, or at least decreasing > the likelihood of system failure. > + > +1.2 CONFIG_SYS_MAIN_PWR_ON: Trigger MAIN_PWR_ON upon startup. > + This option should be enabled for boards having a SYS_ON_OFF_CTL signal > + connected to GPIO1[23] and triggering the MAIN_PWR_ON signal like in the > + reference designs. > diff --git u-boot-imx-bad05afe.orig/include/configs/mx51_efikamx.h u-boot-imx-bad05afe/include/configs/mx51_efikamx.h > index ffe771f..a056566 100644 > --- u-boot-imx-bad05afe.orig/include/configs/mx51_efikamx.h > +++ u-boot-imx-bad05afe/include/configs/mx51_efikamx.h > @@ -261,5 +261,6 @@ > > #define CONFIG_SYS_DDR_CLKSEL 0 > #define CONFIG_SYS_CLKTL_CBCDR 0x59E35145 > +#define CONFIG_SYS_MAIN_PWR_ON > > #endif > diff --git u-boot-imx-bad05afe.orig/include/configs/mx51evk.h u-boot-imx-bad05afe/include/configs/mx51evk.h > index 8cf59fe..122871f 100644 > --- u-boot-imx-bad05afe.orig/include/configs/mx51evk.h > +++ u-boot-imx-bad05afe/include/configs/mx51evk.h > @@ -235,6 +235,7 @@ > > #define CONFIG_SYS_DDR_CLKSEL 0 > #define CONFIG_SYS_CLKTL_CBCDR 0x59E35100 > +#define CONFIG_SYS_MAIN_PWR_ON > > /*----------------------------------------------------------------------- > * FLASH and environment organization > diff --git u-boot-imx-bad05afe.orig/include/configs/vision2.h u-boot-imx-bad05afe/include/configs/vision2.h > index 848df88..13c5702 100644 > --- u-boot-imx-bad05afe.orig/include/configs/vision2.h > +++ u-boot-imx-bad05afe/include/configs/vision2.h > @@ -196,6 +196,7 @@ > /* 166 MHz DDR RAM */ > #define CONFIG_SYS_DDR_CLKSEL 0 > #define CONFIG_SYS_CLKTL_CBCDR 0x19239100 > +#define CONFIG_SYS_MAIN_PWR_ON > > #define CONFIG_SYS_NO_FLASH > > -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2] mx5: Mark lowlevel_init board-specific code 2012-11-07 14:29 ` Stefano Babic @ 2012-11-16 22:42 ` Benoît Thébaudeau 2012-11-19 7:42 ` Stefano Babic 0 siblings, 1 reply; 22+ messages in thread From: Benoît Thébaudeau @ 2012-11-16 22:42 UTC (permalink / raw) To: u-boot Hi Stefano, On Wednesday, November 7, 2012 3:29:14 PM, Stefano Babic wrote: > On 05/11/2012 21:07, Beno?t Th?baudeau wrote: > > The mx5 lowlevel_init.S contains board-specific code based on the > > reference > > design. Let's keep it since it avoids creating new lowlevel_init > > files and it > > may be used by many boards. But add a config to make it optional in > > order not to > > cause issues on boards not following this part of the reference > > design. > > Right, and it is correct that this initialisation is not done for all > boards. > > Acked-by: Stefano Babic <sbabic@denx.de> You seem to have forgotten this one in your last couple of application rounds. Best regards, Beno?t ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2] mx5: Mark lowlevel_init board-specific code 2012-11-16 22:42 ` Benoît Thébaudeau @ 2012-11-19 7:42 ` Stefano Babic 0 siblings, 0 replies; 22+ messages in thread From: Stefano Babic @ 2012-11-19 7:42 UTC (permalink / raw) To: u-boot On 16/11/2012 23:42, Beno?t Th?baudeau wrote: > Hi Stefano, > > On Wednesday, November 7, 2012 3:29:14 PM, Stefano Babic wrote: >> On 05/11/2012 21:07, Beno?t Th?baudeau wrote: >>> The mx5 lowlevel_init.S contains board-specific code based on the >>> reference >>> design. Let's keep it since it avoids creating new lowlevel_init >>> files and it >>> may be used by many boards. But add a config to make it optional in >>> order not to >>> cause issues on boards not following this part of the reference >>> design. >> >> Right, and it is correct that this initialisation is not done for all >> boards. >> >> Acked-by: Stefano Babic <sbabic@denx.de> > > You seem to have forgotten this one in your last couple of application rounds. That's right, I will push it - thanks. Best regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2] mx5: Mark lowlevel_init board-specific code 2012-11-05 20:07 ` [U-Boot] [PATCH v2] " Benoît Thébaudeau 2012-11-07 14:29 ` Stefano Babic @ 2012-11-19 7:57 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2012-11-19 7:57 UTC (permalink / raw) To: u-boot On 05/11/2012 21:07, Beno?t Th?baudeau wrote: > The mx5 lowlevel_init.S contains board-specific code based on the reference > design. Let's keep it since it avoids creating new lowlevel_init files and it > may be used by many boards. But add a config to make it optional in order not to > cause issues on boards not following this part of the reference design. > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > Cc: Matt Sealey <matt@genesi-usa.com> > --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init 2012-08-14 14:43 [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Benoît Thébaudeau ` (2 preceding siblings ...) 2012-08-14 14:44 ` [U-Boot] [PATCH 4/4] mx5: Mark lowlevel_init board-specific code Benoît Thébaudeau @ 2012-08-14 14:51 ` Otavio Salvador 2012-08-14 15:18 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau 3 siblings, 1 reply; 22+ messages in thread From: Otavio Salvador @ 2012-08-14 14:51 UTC (permalink / raw) To: u-boot On Tue, Aug 14, 2012 at 11:43 AM, Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> wrote: > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> The patch seems to be just code style changes, but it is not clear from the commit description. -- Otavio Salvador O.S. Systems E-mail: otavio at ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 1/4] mx5: cosmetic: Clean up lowlevel_init 2012-08-14 14:51 ` [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Otavio Salvador @ 2012-08-14 15:18 ` Benoît Thébaudeau 2012-08-17 11:41 ` Stefano Babic 2012-08-20 7:56 ` Stefano Babic 0 siblings, 2 replies; 22+ messages in thread From: Benoît Thébaudeau @ 2012-08-14 15:18 UTC (permalink / raw) To: u-boot Coding style cleanup: - Remove useless parentheses. - Use tabs for indentations and alignments. Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> --- Changes for v2: - Make patch description more detailed. .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 46 ++++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S index 683a7b5..a40b84f 100644 --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S @@ -36,9 +36,9 @@ /* reconfigure L2 cache aux control reg */ mov r0, #0xC0 /* tag RAM */ add r0, r0, #0x4 /* data RAM */ - orr r0, r0, #(1 << 24) /* disable write allocate delay */ - orr r0, r0, #(1 << 23) /* disable write allocate combine */ - orr r0, r0, #(1 << 22) /* disable write allocate */ + orr r0, r0, #1 << 24 /* disable write allocate delay */ + orr r0, r0, #1 << 23 /* disable write allocate combine */ + orr r0, r0, #1 << 22 /* disable write allocate */ #if defined(CONFIG_MX51) ldr r1, =0x0 @@ -46,7 +46,7 @@ cmp r3, #0x10 /* disable write combine for TO 2 and lower revs */ - orrls r0, r0, #(1 << 25) + orrls r0, r0, #1 << 25 #endif mcr 15, 1, r0, c9, c0, 2 @@ -247,9 +247,9 @@ movhi r1, #0 #else mov r1, #0 - #endif str r1, [r0, #CLKCTL_CACRR] + /* Switch ARM back to PLL 1 */ mov r1, #0 str r1, [r0, #CLKCTL_CCSR] @@ -288,9 +288,9 @@ /* Switch peripheral to PLL2 */ ldr r0, =CCM_BASE_ADDR ldr r1, =0x00808145 - orr r1, r1, #(2 << 10) - orr r1, r1, #(0 << 16) - orr r1, r1, #(1 << 19) + orr r1, r1, #2 << 10 + orr r1, r1, #0 << 16 + orr r1, r1, #1 << 19 str r1, [r0, #CLKCTL_CBCDR] ldr r1, =0x00016154 @@ -331,10 +331,10 @@ ENTRY(lowlevel_init) #if defined(CONFIG_MX51) ldr r0, =GPIO1_BASE_ADDR ldr r1, [r0, #0x0] - orr r1, r1, #(1 << 23) + orr r1, r1, #1 << 23 str r1, [r0, #0x0] ldr r1, [r0, #0x4] - orr r1, r1, #(1 << 23) + orr r1, r1, #1 << 23 str r1, [r0, #0x4] #endif @@ -351,16 +351,16 @@ ENTRY(lowlevel_init) ENDPROC(lowlevel_init) /* Board level setting value */ -W_DP_OP_864: .word DP_OP_864 -W_DP_MFD_864: .word DP_MFD_864 -W_DP_MFN_864: .word DP_MFN_864 -W_DP_MFN_800_DIT: .word DP_MFN_800_DIT -W_DP_OP_800: .word DP_OP_800 -W_DP_MFD_800: .word DP_MFD_800 -W_DP_MFN_800: .word DP_MFN_800 -W_DP_OP_665: .word DP_OP_665 -W_DP_MFD_665: .word DP_MFD_665 -W_DP_MFN_665: .word DP_MFN_665 -W_DP_OP_216: .word DP_OP_216 -W_DP_MFD_216: .word DP_MFD_216 -W_DP_MFN_216: .word DP_MFN_216 +W_DP_OP_864: .word DP_OP_864 +W_DP_MFD_864: .word DP_MFD_864 +W_DP_MFN_864: .word DP_MFN_864 +W_DP_MFN_800_DIT: .word DP_MFN_800_DIT +W_DP_OP_800: .word DP_OP_800 +W_DP_MFD_800: .word DP_MFD_800 +W_DP_MFN_800: .word DP_MFN_800 +W_DP_OP_665: .word DP_OP_665 +W_DP_MFD_665: .word DP_MFD_665 +W_DP_MFN_665: .word DP_MFN_665 +W_DP_OP_216: .word DP_OP_216 +W_DP_MFD_216: .word DP_MFD_216 +W_DP_MFN_216: .word DP_MFN_216 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 1/4] mx5: cosmetic: Clean up lowlevel_init 2012-08-14 15:18 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau @ 2012-08-17 11:41 ` Stefano Babic 2012-08-20 7:56 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2012-08-17 11:41 UTC (permalink / raw) To: u-boot On 14/08/2012 17:18, Beno?t Th?baudeau wrote: > Coding style cleanup: > - Remove useless parentheses. > - Use tabs for indentations and alignments. > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > --- > Changes for v2: > - Make patch description more detailed. > > .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 46 ++++++++++---------- > 1 file changed, 23 insertions(+), 23 deletions(-) > > diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S > index 683a7b5..a40b84f 100644 > --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S > +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S > @@ -36,9 +36,9 @@ > /* reconfigure L2 cache aux control reg */ > mov r0, #0xC0 /* tag RAM */ > add r0, r0, #0x4 /* data RAM */ > - orr r0, r0, #(1 << 24) /* disable write allocate delay */ > - orr r0, r0, #(1 << 23) /* disable write allocate combine */ > - orr r0, r0, #(1 << 22) /* disable write allocate */ > + orr r0, r0, #1 << 24 /* disable write allocate delay */ > + orr r0, r0, #1 << 23 /* disable write allocate combine */ > + orr r0, r0, #1 << 22 /* disable write allocate */ > > #if defined(CONFIG_MX51) > ldr r1, =0x0 > @@ -46,7 +46,7 @@ > cmp r3, #0x10 > > /* disable write combine for TO 2 and lower revs */ > - orrls r0, r0, #(1 << 25) > + orrls r0, r0, #1 << 25 > #endif > > mcr 15, 1, r0, c9, c0, 2 > @@ -247,9 +247,9 @@ > movhi r1, #0 > #else > mov r1, #0 > - > #endif > str r1, [r0, #CLKCTL_CACRR] > + > /* Switch ARM back to PLL 1 */ > mov r1, #0 > str r1, [r0, #CLKCTL_CCSR] > @@ -288,9 +288,9 @@ > /* Switch peripheral to PLL2 */ > ldr r0, =CCM_BASE_ADDR > ldr r1, =0x00808145 > - orr r1, r1, #(2 << 10) > - orr r1, r1, #(0 << 16) > - orr r1, r1, #(1 << 19) > + orr r1, r1, #2 << 10 > + orr r1, r1, #0 << 16 > + orr r1, r1, #1 << 19 > str r1, [r0, #CLKCTL_CBCDR] > > ldr r1, =0x00016154 > @@ -331,10 +331,10 @@ ENTRY(lowlevel_init) > #if defined(CONFIG_MX51) > ldr r0, =GPIO1_BASE_ADDR > ldr r1, [r0, #0x0] > - orr r1, r1, #(1 << 23) > + orr r1, r1, #1 << 23 > str r1, [r0, #0x0] > ldr r1, [r0, #0x4] > - orr r1, r1, #(1 << 23) > + orr r1, r1, #1 << 23 > str r1, [r0, #0x4] > #endif > > @@ -351,16 +351,16 @@ ENTRY(lowlevel_init) > ENDPROC(lowlevel_init) > > /* Board level setting value */ > -W_DP_OP_864: .word DP_OP_864 > -W_DP_MFD_864: .word DP_MFD_864 > -W_DP_MFN_864: .word DP_MFN_864 > -W_DP_MFN_800_DIT: .word DP_MFN_800_DIT > -W_DP_OP_800: .word DP_OP_800 > -W_DP_MFD_800: .word DP_MFD_800 > -W_DP_MFN_800: .word DP_MFN_800 > -W_DP_OP_665: .word DP_OP_665 > -W_DP_MFD_665: .word DP_MFD_665 > -W_DP_MFN_665: .word DP_MFN_665 > -W_DP_OP_216: .word DP_OP_216 > -W_DP_MFD_216: .word DP_MFD_216 > -W_DP_MFN_216: .word DP_MFN_216 > +W_DP_OP_864: .word DP_OP_864 > +W_DP_MFD_864: .word DP_MFD_864 > +W_DP_MFN_864: .word DP_MFN_864 > +W_DP_MFN_800_DIT: .word DP_MFN_800_DIT > +W_DP_OP_800: .word DP_OP_800 > +W_DP_MFD_800: .word DP_MFD_800 > +W_DP_MFN_800: .word DP_MFN_800 > +W_DP_OP_665: .word DP_OP_665 > +W_DP_MFD_665: .word DP_MFD_665 > +W_DP_MFN_665: .word DP_MFN_665 > +W_DP_OP_216: .word DP_OP_216 > +W_DP_MFD_216: .word DP_MFD_216 > +W_DP_MFN_216: .word DP_MFN_216 > Acked-by: Stefano Babic <sbabic@denx.de> Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v2 1/4] mx5: cosmetic: Clean up lowlevel_init 2012-08-14 15:18 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau 2012-08-17 11:41 ` Stefano Babic @ 2012-08-20 7:56 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2012-08-20 7:56 UTC (permalink / raw) To: u-boot On 14/08/2012 17:18, Beno?t Th?baudeau wrote: > Coding style cleanup: > - Remove useless parentheses. > - Use tabs for indentations and alignments. > > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > --- > Changes for v2: > - Make patch description more detailed. > > .../arch/arm/cpu/armv7/mx5/lowlevel_init.S | 46 ++++++++++---------- > 1 file changed, 23 insertions(+), 23 deletions(-) > > diff --git u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S > index 683a7b5..a40b84f 100644 > --- u-boot-4d3c95f.orig/arch/arm/cpu/armv7/mx5/lowlevel_init.S > +++ u-boot-4d3c95f/arch/arm/cpu/armv7/mx5/lowlevel_init.S > @@ -36,9 +36,9 @@ > /* reconfigure L2 cache aux control reg */ > mov r0, #0xC0 /* tag RAM */ > add r0, r0, #0x4 /* data RAM */ > - orr r0, r0, #(1 << 24) /* disable write allocate delay */ > - orr r0, r0, #(1 << 23) /* disable write allocate combine */ > - orr r0, r0, #(1 << 22) /* disable write allocate */ > + orr r0, r0, #1 << 24 /* disable write allocate delay */ > + orr r0, r0, #1 << 23 /* disable write allocate combine */ > + orr r0, r0, #1 << 22 /* disable write allocate */ > > #if defined(CONFIG_MX51) > ldr r1, =0x0 > @@ -46,7 +46,7 @@ > cmp r3, #0x10 > > /* disable write combine for TO 2 and lower revs */ > - orrls r0, r0, #(1 << 25) > + orrls r0, r0, #1 << 25 > #endif > > mcr 15, 1, r0, c9, c0, 2 > @@ -247,9 +247,9 @@ > movhi r1, #0 > #else > mov r1, #0 > - > #endif > str r1, [r0, #CLKCTL_CACRR] > + > /* Switch ARM back to PLL 1 */ > mov r1, #0 > str r1, [r0, #CLKCTL_CCSR] > @@ -288,9 +288,9 @@ > /* Switch peripheral to PLL2 */ > ldr r0, =CCM_BASE_ADDR > ldr r1, =0x00808145 > - orr r1, r1, #(2 << 10) > - orr r1, r1, #(0 << 16) > - orr r1, r1, #(1 << 19) > + orr r1, r1, #2 << 10 > + orr r1, r1, #0 << 16 > + orr r1, r1, #1 << 19 > str r1, [r0, #CLKCTL_CBCDR] > > ldr r1, =0x00016154 > @@ -331,10 +331,10 @@ ENTRY(lowlevel_init) > #if defined(CONFIG_MX51) > ldr r0, =GPIO1_BASE_ADDR > ldr r1, [r0, #0x0] > - orr r1, r1, #(1 << 23) > + orr r1, r1, #1 << 23 > str r1, [r0, #0x0] > ldr r1, [r0, #0x4] > - orr r1, r1, #(1 << 23) > + orr r1, r1, #1 << 23 > str r1, [r0, #0x4] > #endif > > @@ -351,16 +351,16 @@ ENTRY(lowlevel_init) > ENDPROC(lowlevel_init) > > /* Board level setting value */ > -W_DP_OP_864: .word DP_OP_864 > -W_DP_MFD_864: .word DP_MFD_864 > -W_DP_MFN_864: .word DP_MFN_864 > -W_DP_MFN_800_DIT: .word DP_MFN_800_DIT > -W_DP_OP_800: .word DP_OP_800 > -W_DP_MFD_800: .word DP_MFD_800 > -W_DP_MFN_800: .word DP_MFN_800 > -W_DP_OP_665: .word DP_OP_665 > -W_DP_MFD_665: .word DP_MFD_665 > -W_DP_MFN_665: .word DP_MFN_665 > -W_DP_OP_216: .word DP_OP_216 > -W_DP_MFD_216: .word DP_MFD_216 > -W_DP_MFN_216: .word DP_MFN_216 > +W_DP_OP_864: .word DP_OP_864 > +W_DP_MFD_864: .word DP_MFD_864 > +W_DP_MFN_864: .word DP_MFN_864 > +W_DP_MFN_800_DIT: .word DP_MFN_800_DIT > +W_DP_OP_800: .word DP_OP_800 > +W_DP_MFD_800: .word DP_MFD_800 > +W_DP_MFN_800: .word DP_MFN_800 > +W_DP_OP_665: .word DP_OP_665 > +W_DP_MFD_665: .word DP_MFD_665 > +W_DP_MFN_665: .word DP_MFN_665 > +W_DP_OP_216: .word DP_OP_216 > +W_DP_MFD_216: .word DP_MFD_216 > +W_DP_MFN_216: .word DP_MFN_216 > Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2012-11-19 7:57 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-08-14 14:43 [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Benoît Thébaudeau 2012-08-14 14:44 ` [U-Boot] [PATCH 2/4] mx5: Optimize lowlevel_init code size Benoît Thébaudeau 2012-08-14 14:52 ` Otavio Salvador 2012-08-14 15:19 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau 2012-09-30 12:47 ` Stefano Babic 2012-09-30 12:49 ` Stefano Babic 2012-08-14 14:44 ` [U-Boot] [PATCH 3/4] mx5: Optimize lowlevel_init for TO 3 Benoît Thébaudeau 2012-08-14 14:56 ` Otavio Salvador 2012-08-14 15:19 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau 2012-08-20 8:20 ` Stefano Babic 2012-08-20 10:12 ` Benoît Thébaudeau 2012-08-14 14:44 ` [U-Boot] [PATCH 4/4] mx5: Mark lowlevel_init board-specific code Benoît Thébaudeau 2012-08-15 14:34 ` Benoît Thébaudeau 2012-11-05 20:07 ` [U-Boot] [PATCH v2] " Benoît Thébaudeau 2012-11-07 14:29 ` Stefano Babic 2012-11-16 22:42 ` Benoît Thébaudeau 2012-11-19 7:42 ` Stefano Babic 2012-11-19 7:57 ` Stefano Babic 2012-08-14 14:51 ` [U-Boot] [PATCH 1/4] mx5: cosmetic: Clean up lowlevel_init Otavio Salvador 2012-08-14 15:18 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau 2012-08-17 11:41 ` Stefano Babic 2012-08-20 7:56 ` Stefano Babic
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox