Forums » Software Development »
Replacement UBoot 2014.10 on 2021.04
Added by Dmitry Kolotsei over 1 year ago
Hi All
I have working FPGA project based on https://github.com/ArrowElectronics/arrow-adi-intel-psg/wiki/ADRV9009-Platform-User-Guide
I have a task to change the configuration of external generators (SI5338) on Critical Link board in this project.
As I know from Critical Link site and support UBoot loads U14/15PLL.bin staring from 2021.04 version.
I attempt to replace UBoot on working project.
I compiled UBoot 2021.04 in accordance with https://support.criticallink.com/redmine/projects/mitysom_a10s/wiki/Building_uboot_213pro_20230714
and got the following results.
1. FIT image file consists periph.rbf and core.rbf.
Switches to loading from the SDcard and reboots.
2. FIT image file consists periph.rbf only.
First UBoot start finished on U14 PLL reconfiguration. Ok
Second UBoot start finished on Early Release Successeded. Ok, periph.rbf is loaded.
Third UBoot start switched to loading from the SDcard because do not loaded core.rbf.
After that reboot and got Factory Configuration Invalid. Predictably.
I read recommendation, that by separation of config files it is need to add:
load mmc 0:1 ${loadaddr} __.core.rbf
fpga load 0 ${loadaddr} ${filesize}
Could you suggests where I can add these commands and with witch settings?
3. FIT image consists 1 rbf-file, without dividing him on periph and core.
Board informed about the Full Configuration Succeeded and after that reboot ((
4. After these three experiments I noticed that I not updated header from hps.xml handoff file with command:
./arch/arm/mach-socfpga/qts-filter-a10.sh ../../../hps_isw_handoff/hps.xml arch/arm/dts/socfpga_mitysom_a10s_handoff.h
I corrected the situation and updated the header from new project.
Common behavior is not changed. The main difference is that reconfiguration of U14 and U15 PLLs has stopped.
Could you help me to finish the transfer to UBoot 2021.04 and help me to choose right way.
If it possible I would prefer the option of one rbf file (without splitting) and without the need to convert the rbf file to a fit image. If possible, then put the rbf file directly on the fat partition.
Thank you for the support and help in advance.
Br, Dmitry.
periph+core.jpg (190 KB) periph+core.jpg | |||
periph only 1.jpg (209 KB) periph only 1.jpg | |||
periph only 2.jpg (194 KB) periph only 2.jpg | |||
1 join file.jpg (203 KB) 1 join file.jpg | |||
not reconfigured.jpg (160 KB) not reconfigured.jpg |
Replies (17)
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Daniel Vincelette over 1 year ago
Hi Dmitry,
The ADRV9009 demo was built using quartus 18.0 and using uboot 2014.10. Critical Link has a uboot 2014.10 that supports programming the PLLs the branch is called "mitysom_a10": https://support.criticallink.com/gitweb/?p=u-boot-socfpga.git;a=shortlog;h=refs/heads/mitysom_a10.
I recommend that you use the "mitysom_a10" branch because it's before uboot switched to needing fit image and it supports programming U15 and U14.
Dan
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Hi, Dan
Thank you for reply.
Can I use DTS as in attachment for "mitysom_a1" branch? I get him from ArrowElectronics.
If not than where I can get right DTS or DTB for UBoot compiling?
Thank you very much in advance.
Br, Dmitry.
socfpga_arria10.dts (14.4 KB) socfpga_arria10.dts |
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Daniel Vincelette over 1 year ago
Hi Dmitry,
I believe the DTS is auto generated for u-boot from the quartus tools. I think the bsp-editor is what generates it.
Dan
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Hi, Dan
I got dtb from working SDcard image.
I using mitysom_a10 branch for UBoot compilation.
I prepared .config with menuconfig as I understand.
I got error during UBoot compilation(see attachment).
How I can to reach successfully compilation?
Br, Dmitry.
.config (7.45 KB) .config | |||
Error make.jpg (82.6 KB) Error make.jpg |
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Which default config I need to use?
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Michael Williamson over 1 year ago
Hi Dmitry,
mitysom_a10s_dsc_defconfig
Follow these instructions when using Quartus 18.0.
https://support.criticallink.com/redmine/projects/mitysom_a10s/wiki/Building_U-Boot_for_MitySOM-A10S
-Mike
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Hi, Mike
Thank you for reply.
I did the instruction https://support.criticallink.com/redmine/projects/mitysom_a10s/wiki/Building_U-Boot_for_MitySOM-A10S
And got error on compilation
How I can correct?
Br, Dmitry.
Error make 2.jpg (129 KB) Error make 2.jpg |
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Daniel Vincelette over 1 year ago
Hi Dmitry,
Try to CD into your software/bootloader directory and just run:
make TGZ=uboot-socfpga.tar.gz SOCFPGA_BOARD_CONFIG=mitysom_a10s_dsc_defconfig
Our example expect that you are using our FPGA reference design, which has a top level Makefile.
Dan
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Hi Mike
Thank you for help. I has some progress!!!
I was in project folder, but Makefile was absent in it.
I got Makefile from Mitysom project, got UBoot compiled and write it to SDcard.
I see not succussed attempts to reconfigure U14 and U15 PLLs from U14/U15PLL.bin files from MMC.
But on the Boot version socfpga_v2021.04 at least file U14PLL.bin processed successfully.
May be PLL.bin files need to be changed?
Thank you in advance.
Br, Dmitry.
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Hi, Mike
And further. I'm not very good in make.
"Make clean" does not clear everything to repeat "make uboot". What to do?
Br, Dmitry.
no target untar.jpg (101 KB) no target untar.jpg |
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
"Make clean" does not clear everything to repeat "make uboot". What to do?
I found make scrub_clean
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Dmitry Kolotsei wrote in RE: Replacement UBoot 2014.10 on 2021.04:
Hi Mike
Thank you for help. I has some progress!!!
I was in project folder, but Makefile was absent in it.
I got Makefile from Mitysom project, got UBoot compiled and write it to SDcard.I see not succussed attempts to reconfigure U14 and U15 PLLs from U14/U15PLL.bin files from MMC.
But on the Boot version socfpga_v2021.04 at least file U14PLL.bin processed successfully.May be PLL.bin files need to be changed?
Thank you in advance.
Br, Dmitry.
This request is actual
Br, Dmitry
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Hi, Mike
I found the reason why PLL is not configured.
UBoot did not get access to I2C bus. The bus id busy.
I added debug output to source code and find function in which this arises.
drivers/i2c/designware_i2c.c
i2c_probe() -> i2c_read() -> i2c_xfer_init() -> i2c_wait_for_bb()
Default timeout was 0x20, but while cycle finished with timeout
I made timeout higher to 0x100, but I see timeout.
In other UBoot versions I did not see this behavior.
May be something changed in UBoot config?
Could you help me, please?
Br, Dmitry.
Boot timeout 2.jpg (230 KB) Boot timeout 2.jpg |
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Michael Williamson over 1 year ago
Hi Dmitry,
I see your request. I am consulting with some engineers here to figure out what is going on.
When I have an answer, I will post.
-Mike
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Thank you, Mike.
I will wait.
Additional info.
During the while cycle i2c status is 0x00.
Br, Dmitry
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Michael Williamson over 1 year ago
Hi Dmitry,
Have you modified the HPS pin configuration from the reference project?
We are wondering if the I2C bus pins are not configured in the quartus project you are using for the I2C connected to the PLL chips. The chips should probe if the HPS configuration in the quartus project has the I2C pins enabled.
-Mike
RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei over 1 year ago
Hi, Mike
I found than dedicated pins i2cemac2 were not configured well.
After fix this I saw the correct status 0x06 on the I2C bus and saw SI5338 is reconfigured.
Thank you.
Br, Dmitry.