On Mon, Jul 9, 2012 at 9:45 PM, Fabio Estevam <feste...@gmail.com> wrote: > Hi Michael,
Hi Fabio, > > On Mon, Jul 9, 2012 at 9:57 AM, Hornung, Michael <mhorn...@init-ka.de> wrote: > >> +++ b/board/freescale/mx35pdk/imximage.cfg >> >> +BOOT_FROM spi > > Please see the Freescale U-boot, you missed the initialization of the CS5: > > //WEIM config-CS5 init > DCDGEN(1, 4, 0xB8002050, 0x0000d843) > DCDGEN(1_1, 4, 0xB8002054, 0x22252521) > DCDGEN(1_2, 4, 0xB8002058, 0x22220a00) > > ... > > Most likely it is because it will try to access the network, but you > missed to setup the CS5 as per the Freescale U-boot init sequence. Sorry for that, I really missed it. So here what I did: +++ b/board/freescale/mx35pdk/imximage.cfg +#WEIM config-CS5 init +DATA 4 0xB8002050 0x0000d843 +DATA 4 0xB8002054 0x22252521 +DATA 4 0xB8002058 0x22220a00 + # DDR2 init +++ b/config.mk RELFLAGS= $(PLATFORM_RELFLAGS) -DBGFLAGS= -g # -DDEBUG +DBGFLAGS= -g -DDEBUG +++ b/board/freescale/mx35pdk/imximage.cfg # spi, sd (the board has no nand neither onenand) -BOOT_FROM spi +BOOT_FROM sd According to your advise I burned the image to a SD card and changed BT_MEM_TYPE[1:0] to 00 (SD, MMC, eMMC, or eSD). You are so right, flashing a SD card is a lot easier. Then compiled a debugging version of U-Boot: tools/mkimage -n "board/freescale/mx35pdk/imximage.cfg" -T imximage \ -e 0x87800000 -d u-boot.bin u-boot.imx Image Type: Freescale IMX Boot Image Image Ver: 1 (i.MX25/35/51 compatible) Data Size: 273724 Bytes = 267.31 kB = 0.26 MB Load Address: 877ff800 Entry Point: 87800000 and here is the visible ouput to the serial line: U-Boot 2012.04.01-00081-gc831844 (Jul 10 2012 - 17:45:27) U-Boot code: 87800000 -> 8783B87C BSS: -> 878422BC CPU: Freescale i.MX35 rev 2.1 at 532 MHz. Reset cause: POR I2C: ready After some trial and error I came up with the follwing: +++ b/arch/arm/lib/board.c #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) init_func_i2c, #endif - dram_init, /* configure available RAM banks */ + //dram_init, /* configure available RAM banks */ NULL, }; @@ -426,8 +426,8 @@ void board_init_f(ulong bootflag) gd->bd->bi_baudrate = gd->baudrate; /* Ram ist board specific, so move it to board code ... */ - dram_init_banksize(); - display_dram_config(); /* and display it */ + //dram_init_banksize(); + //display_dram_config(); /* and display it */ gd->relocaddr = addr; gd->start_addr_sp = addr_sp; After those changes, U-Boot is going a little further: U-Boot 2012.04.01-00080-gd0921d3-dirty (Jul 10 2012 - 11:31:37) U-Boot code: 87800000 -> 8783B87C BSS: -> 878422BC CPU: Freescale i.MX35 rev 2.1 at 532 MHz. Reset cause: RST I2C: ready monitor len: 000422BC ramsize: 00000000 TLB table at: 7fff0000 Top of RAM usable for U-Boot at: 7fff0000 Reserving 264k for U-Boot at: 7ffad000 Reserving 1280k for malloc() at: 7fe6d000 Reserving 44 Bytes for Board Info at: 7fe6cfd4 Reserving 120 Bytes for Global Data at: 7fe6cf5c New Stack Pointer is: 7fe6cf50 RAM Configuration: Bank #0: 00000000 0 Bytes Bank #1: 00000000 0 Bytes relocation Offset is: f87ad000 The last (with my very limited knowledge) traceable function call is "relocate_code(addr_sp, id, addr);" from within "arch/arm/lib/board.c". Maybe you have another idea what to do next? By the way: Do you use a BDI3000 for debugging and if so, could you please send your board configuration file (.cfg) and your register definitions (.def). > > Regards, > > Fabio Estevam > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot Thank you very much for your help! With best regards Michael Hornung _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot