
Due to a bug with the SDRAM-controller, running code from the SDRAM is impossible. This patch disables relocation of the command table on those chips.
Signed-off-by: Gunnar Rangoy gunnar@rangoy.com Signed-off-by: Paul Driveklepp pauldriveklepp@gmail.com Signed-off-by: Olav Morken olavmrk@gmail.com --- lib_avr32/board.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/lib_avr32/board.c b/lib_avr32/board.c index 216ff74..6afa8bd 100644 --- a/lib_avr32/board.c +++ b/lib_avr32/board.c @@ -294,8 +294,13 @@ void board_init_r(gd_t *new_gd, ulong dest_addr) cmdtp != &__u_boot_cmd_end; cmdtp++) { unsigned long addr;
+ /* We don't relocate code in the at32uc3a0xxx cpu yet due to + * SDRAM bug. See errata 41.4.6.1. + */ +#ifndef CONFIG_AT32UC addr = (unsigned long)cmdtp->cmd + gd->reloc_off; cmdtp->cmd = (typeof(cmdtp->cmd))addr; +#endif
addr = (unsigned long)cmdtp->name + gd->reloc_off; cmdtp->name = (typeof(cmdtp->name))addr;