
Dear Christian Riesch,
In message 1320830586-19124-1-git-send-email-christian.riesch@omicron.at you wrote:
This patch allows replacing arch_cpu_init() if a custom initialization is required.
Signed-off-by: Christian Riesch christian.riesch@omicron.at Cc: Sandeep Paulraj s-paulraj@ti.com Cc: Heiko Schocher hs@denx.de
arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c index 327ff97..fe142dc 100644 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c @@ -263,6 +263,7 @@ void nand_boot(void) #if defined(CONFIG_NAND_SPL) void board_init_f(ulong bootflag) #else +__attribute__ ((weak)) int arch_cpu_init(void) #endif
Stop please.
This whole code is crap and needs to be changed.
281 asm("mrc p15, 0, r0, c1, c0, 0"); 282 /* clear bits 13, 9:8 (--V- --RS) */ 283 asm("bic r0, r0, #0x00002300"); 284 /* clear bits 7, 2:0 (B--- -CAM) */ 285 asm("bic r0, r0, #0x00000087"); 286 /* set bit 2 (A) Align */ 287 asm("orr r0, r0, #0x00000002"); 288 /* set bit 12 (I) I-Cache */ 289 asm("orr r0, r0, #0x00001000"); 290 asm("mcr p15, 0, r0, c1, c0, 0");
What is #0x00002300? #0x00000087? #0x00000002? #0x00001000?
293 writel(0x83e70b13, &davinci_syscfg_regs->kick0); 294 writel(0x95a4f1e0, &davinci_syscfg_regs->kick1);
What is 0x83e70b13? 0x95a4f1e0?
296 dv_maskbits(&davinci_syscfg_regs->suspsrc, 297 ((1 << 27) | (1 << 22) | (1 << 20) | (1 << 5) | (1 << 16)));
What is ((1 << 27) | (1 << 22) | (1 << 20) | (1 << 5) | (1 << 16))) ?
336 /* 337 * Fix Power and Emulation Management Register 338 * see sprufw3a.pdf page 37 Table 24 339 */ 340 writel(readl((CONFIG_SYS_NS16550_COM1 + 0x30)) | 0x00006001, 341 (CONFIG_SYS_NS16550_COM1 + 0x30));
What is CONFIG_SYS_NS16550_COM1 + 0x30 ???? don't we have proper NS16550 register definitions? And what is 0x00006001 ??
All this needs a _thorough_ cleanup before I'm willing to accept this for mainline.
Heiko, Christian: please negotiate who performs which part of the cleanup. But I expect that with proper symbolic names instead of the hardwired constants the need for a wek function will go away.
Albert, please make sure to block this current code. I do not want to see this in mainline as is.
Thanks.
Best regards,
Wolfgang Denk