RFC arm: add full relocation / cache support
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest0 of 19 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 19 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [U-Boot] [RFC][PATCH 00/19] arm: add full relocation / cache support
Hello Heiko
Am 29.07.2010 12:44, schrieb Heiko Schocher:
Quoted 7 lines
This patch series add full relocation and cache support for arm based boards. I did this for arm1136,
arm_cortexa8and arm926ejs based boards. As this change is not compatible to old code, before this can go to mainline *all* plattforms and boards have to be converted! As I don;t have access to all plattforms/ boards I need help here! Also I couldn;t test all boards, so please test and report, send bugfixes!
I just tested your patch set on my version of u-boot for MB86R01 from Fujitsu (arm926ejs based SoC). This is currently not available in mainline u-boot but current patches are available here
http://lists.denx.de/pipermail/u-boot/2010-August/074688.html
The point is that the board doesn't boot after applying your patches and doing the changes to my board which are given at the end of this mail.
The board runs through my low level init (so DDR RAM is up) and later on crashes in the first call to memset. I could not further debug this as I have to admit that I am not an expert with GDB + BDI2000 debugging. Maybe you can give me some hints what I am missing.
Thanks
Matthias
Changes made to the board code after applying your patches:
include/configs/jadecpu.h +0 -0
@@ -149,6 +149,10 @@#define PHYS_SDRAM 0x40000000/* Start address of
DDRRAM */
#define PHYS_SDRAM_SIZE 0x08000000 /* 128 megs */
+/* additions for new relocation code, must added to all boards */
+#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
+#define CONFIG_SYS_INIT_SP_ADDR 0x01000000
+
/*
* FLASH and environment organization
*/
board/syteco/jadecpu/jadecpu.c +9 -3
@@ -154,12 +154,18 @@ int misc_init_r(void)*/ int dram_init (void ) { - gd->bd->bi_dram[0 ].start =PHYS_SDRAM ; - gd->bd->bi_dram[0 ].size =PHYS_SDRAM_SIZE ; - +/* dram_init must store complete ramsize in gd->ram_size */ + gd->ram_size =get_ram_size ((volatile void *)PHYS_SDRAM , +PHYS_SDRAM_SIZE );return 0 ; } +void dram_init_banksize (void ) +{ + gd->bd->bi_dram[0 ].start =PHYS_SDRAM ; + gd->bd->bi_dram[0 ].size = gd->ram_size; +} +int board_eth_init (bd_t *bis) {int rc =0 ;