Project

General

Profile

Replacement UBoot 2014.10 on 2021.04

Added by Dmitry Kolotsei 9 months 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.


Replies (17)

RE: Replacement UBoot 2014.10 on 2021.04 - Added by Daniel Vincelette 9 months 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 9 months 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.

RE: Replacement UBoot 2014.10 on 2021.04 - Added by Daniel Vincelette 9 months 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 9 months 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.

RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei 9 months ago

Which default config I need to use?

RE: Replacement UBoot 2014.10 on 2021.04 - Added by Michael Williamson 9 months 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 9 months 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.

RE: Replacement UBoot 2014.10 on 2021.04 - Added by Daniel Vincelette 9 months 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 9 months 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 9 months 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.

RE: Replacement UBoot 2014.10 on 2021.04 - Added by Dmitry Kolotsei 9 months 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 9 months 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 9 months 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.

RE: Replacement UBoot 2014.10 on 2021.04 - Added by Michael Williamson 9 months 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 9 months 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 9 months 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 9 months 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.

    (1-17/17)
    Go to top
    Add picture from clipboard (Maximum size: 1 GB)