Forum Discussion

HUl_H's avatar
HUl_H
Icon for New Contributor rankNew Contributor
7 years ago

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?

6 Replies

  • Yoshiaki_Altera's avatar
    Yoshiaki_Altera
    Icon for Occasional Contributor rankOccasional Contributor

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

  • Yoshiaki_Altera's avatar
    Yoshiaki_Altera
    Icon for Occasional Contributor rankOccasional Contributor

    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's avatar
      HUl_H
      Icon for New Contributor rankNew Contributor

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

      "md.1 0xffd0501c"

      ???

  • Yoshiaki_Altera's avatar
    Yoshiaki_Altera
    Icon for Occasional Contributor rankOccasional Contributor

    Please confirm the register value by below command.

    "md ffd0501c 1"

    Next, a write command is below.

    "mw ffd0501c 0"

  • HUl_H's avatar
    HUl_H
    Icon for New Contributor rankNew Contributor

    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

  • HUl_H's avatar
    HUl_H
    Icon for New Contributor rankNew Contributor

    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