Community
cancel
Showing results for 
Search instead for 
Did you mean: 
HUl_H
Beginner
758 Views

Enabling FPGA2HPS Bridge in Uboot Hangs the Kernel

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
268 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.

HUl_H
Beginner
268 Views

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

"md.1 0xffd0501c"

???

Yoshiaki_S_Intel
Employee
268 Views

Please confirm the register value by below command.

"md ffd0501c 1"

Next, a write command is below.

"mw ffd0501c 0"

 

HUl_H
Beginner
268 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

HUl_H
Beginner
268 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

Yoshiaki_S_Intel
Employee
268 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