Intel® SoC FPGA Embedded Development Suite
Support for SoC FPGA Software Development, SoC FPGA HPS Architecture, HPS SoC Boot and Configuration, Operating Systems
445 Discussions

Enabling FPGA2HPS Bridge in Uboot Hangs the Kernel

HUl_H
Beginner
2,224 Views

I am using Cyclone V SOC on De10 Nano kit. I have added Frame Reader IP in QSYS to HPS which uses FPGA2HPS bridge. I am programming FPGA via Uboot. When Uboot loads the RBF file and run "bridge_enable_handoff" command and boots the kernel, the kernel hangs at "Starting Kernel".

I have removed FPGA2HPS bridge and the Kernel is loading properly.

So the issue is in enabling FPGA2HPS bridge. I need this bridge for Linux frame buffer to show GUI desktop environment.

  1. How can i solve this problem?
  2. What component to debug to solve this? Hardware, Preloader, Uboot , RBF or DTB?
  3. Can problem reside in the driver used by the kernel?
  4. Is there any other method to show GUI desktop environment for Linux without using this bridge?

 

0 Kudos
6 Replies
Yoshiaki_S_Intel
Employee
1,734 Views

Please confirm rstmgr(0xffd0501c) register value after executing bridge_enable_handoff script.

Bit 2 should be ‘0’. If it is ‘1’, FPGA2HPS bridge is still reset state.

0 Kudos
HUl_H
Beginner
1,734 Views

How can i read the value of HPS registers from Uboot console?

"md.1 0xffd0501c"

???

0 Kudos
Yoshiaki_S_Intel
Employee
1,734 Views

Please confirm the register value by below command.

"md ffd0501c 1"

Next, a write command is below.

"mw ffd0501c 0"

 

0 Kudos
HUl_H
Beginner
1,734 Views

SO here is what happened.

I programmed the FPGA via UBoot and check the value of ffd0501c reg. It was 0x7. Then i run "bridge enable handoff" and again checked the value of ffd0501c reg. It was 0x00.

I boot the kernel after that and it hangs on "Starting Kernel".

Here is a screenshot

Screenshot from 2019-06-10 23-45-35.png

0 Kudos
HUl_H
Beginner
1,734 Views

if i dont run the command "run bridge enable handoff" then the Kernel starts and panics after sometime which in understandable.

So "bridge enable handoff" is causing all the problems.

I have compiled updated preloader and compiled uboot from Altera u-boot-socfpga from branch socfpga_v2013.01.01-rel

0 Kudos
Yoshiaki_S_Intel
Employee
1,734 Views

Hi,

I confimed brgmodrst(0xffd0501c) register on Cyclone V SoC DevKit.

Before booting Linux, the value was 0x0.

After that, kernel was booted even if “bridge enable handoff” is executed.

So, can you share environment variables on U-Boot and dts with us?

You can see the variables with typing “printenv”.

Reply