CycloneV: Programming FPGA from U-Boot

hey : struck for a month and still struggling with loading FPGA configuration … from u-boot.scr , every time getting failed with error -6,

are you guys able to get over this problem…?.. what is the solution…?

Are you sure you have the right configuration of DIP switches for you board? I had to put mine in a special configuration to allow programming from u-boot. What board are you using?

You can find the meaning of failure code here if it helps

I am using cyclone V DE1 Soc ; quartus prime lite edition 20.1 with EDS 20.1 standard… set my MSEL as 01010

I am following [this tutorial]( rsyocto/7_customVersions.md at rsYocto-1.04 · robseb/rsyocto (github.com)). and getting error -6.

I also tried to generate sd card image. by following [this tutorial]( Building Bootloader | Documentation | RocketBoards.org). but nothing shows up in putty terminal.

I am trying to route spi peripheral through fpga…

are u aware of that robseb / yocto project…?

Try MSEL=00000

I made same mistake and was stuck for months. Look at DE1-SoC User Guide Table 3-2. The third option. FPPx16 is the on with U-Boot in the description and is MSEL=5’b00000.

Tried … but nothing appears in putty terminal.

I have few questions…!

  1. There are 3 files zimage , roofs##.tar.gz and dtb. : do i need to generate this file every time i generate the sd card image and copy it to vfat partition… or i can use these 3 files from any other source…? like i followed [this tutorial]( Building Bootloader | Documentation | RocketBoards.org) ans downloaded the zimage, rootfs.tar.gz and dtb from [here]( Index of /release/2020.07/gsrd/cv_gsrd (rocketboards.org)).

later i copied these files to fat partition. ? will it work can i do this…?

I think you can use those files. You may need to untar the rootfs. If you are seeing nothing in your terminal then my guess is that you are not putting the files on the sd card properly since those listed files should not effect u-boot, which will be the first thing to display stuff in your terminal. I will add post with the files I use to make the SD Card image

See the python file and shell script that calls it with the correct arguments here

This assumes same directory structure (with decompressed rootfs under rootfs directory, u-boot sfp file, and ext4linux under sdfs directory) in same structure of the guide for building bootloader to boot from SD.

Thanks for the files you provide…

I followed every steps. as describe in this Cyclone V SoC GSRD | Documentation | RocketBoards.org … (extracted the rootfs.tar.gz in the partition which i downloaded from []here](https://releases.rocketboards.org/release/2020.07/gsrd/cv_gsrd/) … and in the last i executed your sd_call.sh after giving proper permission to it…

but still i did not see anything in putty terminal…!
can you share your project files … ? i want to see if things really work…?

See sd_card_files.zip on Google Drive listed above. Should be able to directly load sdcard_cv.img onto your SD then boot. You can also see rootfs and the output files from my u-boot and kernel builds.

Thanks a lot Now everything works as the way i want… SPI is successfully routed through fpga and able to generate a sdcard image.

Thank you for your support. :grinning: :grinning: :grinning:

A bit late, but I was struggling with latest u-Boot and de1-soc. Same as posted here, nothing appear on UART.

Found out that the u-Boot de1-soc .dts is missing a critical line.

File: arch/arm/dts/socfpga_cyclone5_de1_soc.dts

Modify

&uart0 {
	u-boot,dm-pre-reloc;
};

for

&uart0 {
	clock-frequency = <100000000>;
	u-boot,dm-pre-reloc;
};

Then it worked.

Hi! Thanks @ehoffman for your fix, this worked for me and I upstreamed it into U-Boot here: socfpga: fix the serial console on DE1-SoC · u-boot/u-boot@a5e490f · GitHub