Forum Discussion
Agilex 5 - HPS first - u-boot stuck if rebooting
Hello,
I have problem after reboot of my system (reboot in linux console or press HPSrst button on AXE5-Eagle devboard), or if I fit fpgacore.rbf from u-boot twice, than boot from emmc stuck on:
Hit any key to stop autoboot: 0 2568192 bytes read in 124 ms (19.8 MiB/s) ...FPGA reconfiguration OK! switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot.scr.uimg 2751 bytes read in 13 ms (206.1 KiB/s) ## Executing script at 81000000 crc32+ Trying to boot Linux from device mmc0 Found kernel in mmc0
First time (power-on or after press nconfig button on devboard AXE5-Eagle) it boots ok - succesfully continues to OS with:
crc32+ Trying to boot Linux from device mmc0 Found kernel in mmc0 5428330 bytes read in 245 ms (21.1 MiB/s) ## Loading kernel from FIT Image at 82000000 ... Using 'board-0' configuration Verifying Hash Integrity ... OK Trying 'kernel' kernel subimage ...
Can somebody help me to overcome this problem?
Thanks.
Martin
24 Replies
- tehjingy_Altera
Regular Contributor
Hi
Sorry for the late response.
Please give me some time to try and reproduce the issue on our dev kit here.
Regards
Jingyang, Teh
- MM-ATH
Occasional Contributor
at 0x02800070 should be FPGA register - USB switch reset register.
So it seems that LWH2F bridge not work, if fpga.core is fitted twice.
Other addresses from LWH2F bridge address pool does not work too (also stucks uboot).
- MM-ATH
Occasional Contributor
I have debug it deeper...
this is u-boot script, where it stucks - I have added some echo "" debug lines...
echo "Found kernel in mmc0"; mmc rescan; echo "rescan"; mw.l 10d13224 14; mw.l 10d13228 14; mw.l 10d1323c 14; mw.l 10d13234 14; mw.l 10d13248 14; mw.l 10d1324C 14; echo "mw.l 10d1324C 14"; mw.l 0x10D11028 0x01027fb0 1; mw.l 0x10c03304 0x410 1; mw.l 0x10c03300 0x00000410; mw.l 0x10c03300 0x00000000; mw.l 0x10c03300 0x00000410; echo "mw.l 0x10c03300 0x00000410"; bridge enable; echo "bridge enable"; mw.l 0x028000070 0x00000000; echo "mw.l 0x28000070 0x00000000"; mw.l 0x28000070 0x00000001; echo "mw.l 0x28000070 0x00000001"; fatload mmc 0:1 ${loadaddr} ${bootfile}; setenv bootargs "bootargs console=ttyS0,115200 root=${mmcroot} rw rootwait"; bootm ${loadaddr};
echo "mw.l 0x28000070 0x00000000";
is not displayed, so 'mw.l 0x28000070 0x00000000' command does not work - only if I fit fpga twice or if reboot...Unfortunatelly I don't know, what exactly this write to memeory does...
I have tried to disable bridges before next fpga fit, disable bridges before enabling them, but problem persists.
- MM-ATH
Occasional Contributor
So the simplest example
AXE5_EAGLE # run fitfpga 2568192 bytes read in 125 ms (19.6 MiB/s) ...FPGA reconfiguration OK! AXE5_EAGLE # md.l 0x028000070 1 28000070: 00000000 .... AXE5_EAGLE # run fitfpga 2568192 bytes read in 124 ms (19.8 MiB/s) ...FPGA reconfiguration OK! AXE5_EAGLE # md.l 0x028000070 1 <here it freezes>fitfpga is defined as:
fitfpga=load mmc 0:1 $loadaddr d/design.core.rbf ; dcache flush ; fpga load 0 $loadaddr $filesize ; bridge enable;- MM-ATH
Occasional Contributor
at 0x02800070 should be FPGA register - USB switch reset register.
So it seems that LWH2F bridge not work, if fpga.core is fitted twice.
Other addresses from LWH2F bridge address pool does not work too (also stucks uboot).