Hi! > > Hi! > > On 06/27/2016 11:10 AM, Christian Didriksson wrote: > > Hi, > > > >> On 06/23/2016 06:31 PM, Sylvain Lesne wrote: > >>> On 06/23/2016 06:14 PM, Marek Vasut wrote: > >>>> On 06/23/2016 05:58 PM, Sylvain Lesne wrote: > >>>>> Hi Marek, Christian, > >>>> > >>>> Hi, > >>>> > >>>>> On 06/23/2016 03:07 PM, Marek Vasut wrote: > >>>>>> On 06/22/2016 06:37 PM, Christian Didriksson wrote: > >>>>>>> Hi Marek, > >>>>>> > >>>>>> Hi! > >>>>>> > >>>>>>> [..] > >>>>>>> > >>>>>>> I skipped booting from QSPI and started all over with a vanilla > >>>>> 2016.05 and built the u-boot-with-spl.sfp. Put it on an SD-card > >>>>> and > >>> booted: > >>>>>>> > >>>>>>> U-Boot SPL 2016.05-gbb88b7b-dirty (Jun 22 2016 - 14:53:14) > >>>>>>> drivers/ddr/altera/sequencer.c: Preparing to start memory > >>>>>>> calibration > >>>>>>> drivers/ddr/altera/sequencer.c: CALIBRATION PASSED > >>>>>>> drivers/ddr/altera/sequencer.c: Calibration complete Trying to > >>>>>>> boot from MMC1 > >>>>>>> > >>>>>>> This printout is repeated forever. > >>>>>>> > >>>>>>> I then connected DS5 via the USB-Blaster cable and single > >>>>>>> stepped > >>>>> through the SPL and after a while, down in mmc_init, I loose > >>>>> connection to the target and when I interrupt it the PC is here: > >>>>>> > >>>>>> mmc_init causes data abort ? That is _weird_ . > >>>>>> > >>>>>>> #ifdef CONFIG_SPL_BUILD > >>>>>>> > >>>>>>> .align 5 > >>>>>>> undefined_instruction: > >>>>>>> software_interrupt: > >>>>>>> prefetch_abort: > >>>>>>> data_abort: > >>>>>>> not_used: > >>>>>>> irq: > >>>>>>> fiq: > >>>>>>> > >>>>>>> 1: > >>>>>>> bl 1b /* > >> hang and never return */ > >>>>>>> > >>>>>>> #else /* !CONFIG_SPL_BUILD */ > >>>>>>> > >>>>>>> I will send you my binary for test on your Rev c board if you > >>>>>>> can > >>>>> find the time. > >>>>>>> > >>>>>>> I also tested the binary you sent me last week and it behaves > >>>>> identically regarding the printouts and reboot. > >>>>>> > >>>>>> Works on my rev C1: > >>>>>> > >>>>>> U-Boot SPL 2016.05-gbb88b7b-dirty (Jun 22 2016 - 14:53:14) > >>>>>> drivers/ddr/altera/sequencer.c: Preparing to start memory > >>>>>> calibration > >>>>>> drivers/ddr/altera/sequencer.c: CALIBRATION PASSED > >>>>>> drivers/ddr/altera/sequencer.c: Calibration complete Trying to > >>>>>> boot from MMC1 > >>>>>> > >>>>>> > >>>>>> U-Boot 2016.05-gbb88b7b-dirty (Jun 22 2016 - 14:53:14 +0200) > >>>>>> > >>>>>> CPU: Altera SoCFPGA Platform > >>>>>> FPGA: Altera Cyclone V, SE/A6 or SX/C6 or ST/D6, version 0x0 > >>>>>> BOOT: SD/MMC External Transceiver (1.8V) > >>>>>> Watchdog enabled > >>>>>> I2C: ready > >>>>>> DRAM: 1 GiB > >>>>>> MMC: dwmmc0@ff704000: 0 > >>>>>> In: serial > >>>>>> Out: serial > >>>>>> Err: serial > >>>>>> Model: Altera SOCFPGA Cyclone V SoC Development Kit > >>>>>> Net: eth0: ethernet@ff702000 > >>>>>> Hit any key to stop autoboot: 0 > >>>>>> => > >>>>>> => > >>>>>> => > >>>>>> => ver > >>>>>> > >>>>>> U-Boot 2016.05-gbb88b7b-dirty (Jun 22 2016 - 14:53:14 +0200) > >>>>>> arm-cortexa9_neon-linux-uclibcgnueabihf-gcc (crosstool-NG > >>>>>> crosstool-ng-1.22.0-129-ga41b269) 5.3.0 GNU ld (crosstool-NG > >>>>>> crosstool-ng-1.22.0-129-ga41b269) 2.26.20160125 > >>>>>> > >>>>>> > >>>>> > >>>>> I think this might be related to something we discussed last month > >>>>> (starting from [1])! > >>>>> > >>>>> Am I right to assume that: > >>>>> - Marek, you have the A2 partition starting at the sector 2048 of > >>>>> the SD card? (I think that this is the partitioning of the > >>>>> reference > >>>>> designs) > >>>>> - Christian, your SD card partitioning is different? > >>>>> > >>>>> The 2016.05 socfpga SPL loads U-Boot from a fixed offset on the SD > >>>>> card, and this could explain why you both have a different > >>>>> behavior if you have different offsets for your partitions! > >>>> > >>>> Oh right, thanks for reminding me that your patch broke booting of > >>>> all SoCFPGA boards which boot from SD card and I had to locally revert > it. > >>>> I will send a patch which fixes that now. Would you be able to send > >>>> a fixed patch ? > >>> > >>> Ack, I'm sorry about that! That was obviously not my goal. > >>> (I see that you just sent a patch to change the partition from 3 to > >>> 1, and I agree that this is reasonable) > >>> > >>>> > >>>>> So, Christian, you could try to move your A2 partition (which > >>>>> contains u-boot-with-spl.sfp ) to the offset that the SPL expects, ie: > >>>>> > >>>>> ----------8<-------------------8<--------------- > >>>>> $ sudo fdisk -l /dev/sdc > >>>>> > >>>>> Disk /dev/sdc: 7969 MB, 7969177600 bytes > >>>>> 246 heads, 62 sectors/track, 1020 cylinders, total 15564800 > >>>>> sectors Units = sectors of 1 * 512 = 512 bytes Sector size > >>>>> (logical/physical): 512 bytes / 512 bytes I/O size > >>>>> (minimum/optimal): 512 bytes / 512 bytes Disk identifier: > >>>>> 0x00000000 > >>>>> > >>>>> Device Boot Start End Blocks Id System > >>>>> /dev/sdc1 2000000 3000000 500000+ b W95 FAT32 > >>>>> /dev/sdc2 14000 1999999 993000 83 Linux > >>>>> /dev/sdc3 2048 4096 1024+ a2 Unknown > >>>> > >>>> The A2 partition should be partition 1, please do not use this > >>>> crippled layout by placing the bootloader partition at the end of > >>>> boot media. I don't know who invented that, but that's a design > disaster. > >>>
I changed the sdcard: -----------------8<-----------------8<---------------- Disk /dev/sda: 3966 MB, 3966763008 bytes 123 heads, 62 sectors/track, 1015 cylinders, total 7747584 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb93adff2 Device Boot Start End Blocks Id System /dev/sda1 2048 22528 10240+ a2 Unknown /dev/sda2 22529 124929 51200+ 83 Linux /dev/sda3 124930 227330 51200+ b W95 FAT32 -----------------8<-----------------8<---------------- > >>> I don't know either, but the official reference designs from Altera > >>> still use this layout by default! (I agree that this is kind of > >>> backwards) > >>> > >>>> > >>>>> Partition table entries are not in disk order > >>>>> ----------8<-------------------8<--------------- > >>>>> > >>>>> Or else, if you'd rather keep your SD layout, Marek accepted a > >>>>> patch that will be in v2016.07 (I think) to enable loading U-Boot > >>>>> from an offset starting at the beginning of a partition (the third > >>>>> one by > >>>>> default): [2] > >>>> > >>>> I will be reverting that one, sorry. > >>> > >>> Again, I'm sorry for the trouble. > >> > >> No problem, it's fixed and I hope I managed to nip the problem in the > bud. > >> > > I have tried to apply the changes you have suggested, but I end up > > with the "undefined reference to 'sprintf' error" when I try to build > 2016.05. > > Did you also enable CONFIG_USE_TINY_PRINTF? If yes, please try to apply > the following commits as well: > > http://git.denx.de/?p=u- > boot.git;a=commit;h=5c411d88be8df5f6a8a1ea0c961f7c35ba82c064 > http://git.denx.de/?p=u- > boot.git;a=commit;h=abeb272d22217481c214495818c3ceabad57b9c0 > http://git.denx.de/?p=u- > boot.git;a=commit;h=3191d8408053674c1b9bb79a82e3973add48830c > I used tiny-printf.c from the latest snapshot, which solved the link-problem. Now I have a working SPL that loads the u-boot image, but there are still some Rev E problems with the u-boot I guess. Coming out of a power-on-reset (> 20s power off) u-boot gets stuck after 1GB printout. This is most likely due to enabling the caches (investigation of last week). However, I found a new behavior today. If I left it hanging at the 1GB printout the board re- booted after a while (watchdog?) and now it managed to start u-boot: -----------------8<-----------------8<---------------- U-Boot SPL 2016.05-gbb88b7b-dirty (Jun 27 2016 - 11:49:30) drivers/ddr/altera/sequencer.c: Preparing to start memory calibration drivers/ddr/altera/sequencer.c: CALIBRATION PASSED drivers/ddr/altera/sequencer.c: Calibration complete >>spl:board_init_r() spl_init() Trying to boot from MMC1 spl: payload image: *s load addr: 0x4 size: 16777248 Jumping to U-Boot SPL malloc() used lx bytes (d KB) loaded - jumping to U-Boot...image entry point: 0x U-Boot 2016.05-gbb88b7b-dirty (Jun 27 2016 - 11:49:30 +0200) CPU: Altera SoCFPGA Platform FPGA: Altera Cyclone V, SE/A6 or SX/C6 or ST/D6, version 0x0 BOOT: SD/MMC External Transceiver (1.8V) Watchdog enabled I2C: ready DRAM: 1 GiB U-Boot SPL 2016.05-gbb88b7b-dirty (Jun 27 2016 - 11:49:30) drivers/ddr/altera/sequencer.c: Preparing to start memory calibration drivers/ddr/altera/sequencer.c: CALIBRATION PASSED drivers/ddr/altera/sequencer.c: Calibration complete >>spl:board_init_r() spl_init() Trying to boot from MMC1 spl: payload image: *s load addr: 0x4 size: 16777248 Jumping to U-Boot SPL malloc() used lx bytes (d KB) loaded - jumping to U-Boot...image entry point: 0x U-Boot 2016.05-gbb88b7b-dirty (Jun 27 2016 - 11:49:30 +0200) CPU: Altera SoCFPGA Platform FPGA: Altera Cyclone V, SE/A6 or SX/C6 or ST/D6, version 0x0 BOOT: SD/MMC External Transceiver (1.8V) Watchdog enabled I2C: ready DRAM: 1 GiB MMC: dwmmc0@ff704000: 0 SF: Detected N25Q512 with page size 256 Bytes, erase size 64 KiB, total 64 MiB In: serial Out: serial Err: serial Model: Altera SOCFPGA Cyclone V SoC Development Kit Net: eth0: ethernet@ff702000 Hit any key to stop autoboot: 0 => -----------------8<-----------------8<---------------- > Best regards, > Sylvain Best regards, Christian _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

