
Hi Marek, Christian,
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!
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
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]
However, if you want to apply this patch in v2016.05, you should enable CONFIG_SPL_SYS_MALLOC_SIMPLE, and also apply [3] due to size constraints.
[1]: http://lists.denx.de/pipermail/u-boot/2016-May/256580.html [2]: http://git.denx.de/?p=u-boot.git;a=commit;h=d31e9c575f24f4b7f5f382ccae70d7a8... [3]: http://git.denx.de/?p=u-boot.git;a=commit;h=1254667689a5a4accc149fef6ff69da7...
Hope this helps, Sylvain