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.
- How can i solve this problem?
- What component to debug to solve this? Hardware, Preloader, Uboot , RBF or DTB?
- Can problem reside in the driver used by the kernel?
- Is there any other method to show GUI desktop environment for Linux without using this bridge?
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.
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
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
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”.