Dear Marcel, > Hi, > > I updated my u-boot-usb to continue my work on the SAM9 USB parts, but got > stuck with the following issue : > > There seems to be a new relocation scheme. I also added some stuff to make it > detect the SDRAM, but than I get stuck. > > int dram_init(void) > { > gd->bd->bi_dram[0].start = PHYS_SDRAM; > gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE; This is accessing bss before relocation. BSS does not exist then. > /* dram_init must store complete ramsize in gd->ram_size */ > gd->ram_size = get_ram_size((volatile void *)PHYS_SDRAM, > PHYS_SDRAM_SIZE); > dram_init_banksize(); This function, if defined, is called automagically. Normally, with single DRAM bank AT91SAM9 designs the default weak function provided by u-boot is sufficient: void __dram_init_banksize(void) { gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; gd->bd->bi_dram[0].size = gd->ram_size; } void dram_init_banksize(void) __attribute__((weak, alias("__dram_init_banksize")));
Don't define this function in your board file!!! > return 0; > } Please have a look at the emk/top9000 board for what is needed: int dram_init(void) { gd->ram_size = get_ram_size( (void *)CONFIG_SYS_SDRAM_BASE, CONFIG_SYS_SDRAM_SIZE); return 0; } /* NO dram_init_banksize() !!! */ Note also that the defines have changed to have a CONFIG_SYS_ prefix. Change your board definition accordingly. Best Regards, Reinhard _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot