[meta-xilinx] Boot hangs using AXI GPIO
Giulio Presazzi
giulio.presazzi at kalpa.it
Mon May 22 03:45:47 PDT 2017
Hi all,
I'm struggling to solve Linux and PL AXI GPIO issue based on Microzed board.
I've a bitstream with FPGA configuration (working fine with bare-metal application) , and I generated the .dts file starting from HDF using the following steps:
hsi open_hw_design <file>.hdf
hsi set_repo_path ../../../device-tree-xlnx
hsi create_sw_design device-tree -os device_tree -proc ps7_cortexa9_0
hsi generate_target -dir <foldername>
When I include the dts in my new device tree file (to support LED GPIO), the linux booting hang on starting kernel.
The node that generate the issue is:
axi_gpio_LED_Output: gpio at 81260000 {
#gpio-cells = <2>;
compatible = "xlnx,xps-gpio-1.00.a";
gpio-controller ;
reg = <0x81260000 0x10000>;
xlnx,all-inputs = <0x0>;
xlnx,all-inputs-2 = <0x0>;
xlnx,all-outputs = <0x1>;
xlnx,all-outputs-2 = <0x0>;
xlnx,dout-default = <0x00000000>;
xlnx,dout-default-2 = <0x00000000>;
xlnx,gpio-width = <0x4>;
xlnx,gpio2-width = <0x20>;
xlnx,interrupt-present = <0x0>;
xlnx,is-dual = <0x0>;
xlnx,tri-default = <0xFFFFFFFF>;
xlnx,tri-default-2 = <0xFFFFFFFF>;
};
I've tried with devmem tool as well, from working linux configuration (dts without previous node) and it hangs after calling:
devmem -r 0x81260000
I'm using YOCTO and meta-xilinx layer to generate the kernel, boot.ini and rootfs. I'm working with openAMP configuration (core 0 linux + Core 1 bare metal).
This is the BOOT trace:
U-Boot SPL 2016.07-dirty (May 02 2017 - 15:52:44)
mmc boot
Trying to boot from MMC1
reading fpga.bin
reading fpga.bin
zynq_validate_bitstream: Bitstream is not validated yet (diff 73)
reading system.dtb
spl_load_image_fat_os: error reading image system.dtb, err - -1
reading u-boot.img
reading u-boot.img
U-Boot 2016.07 (May 10 2017 - 07:35:46 +0000)
Model: Zynq MicroZED Board
Board: Xilinx Zynq
DRAM: ECC disabled 1 GiB
MMC: sdhci at e0100000: 0
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
In: serial at e0001000
Out: serial at e0001000
Err: serial at e0001000
Model: Zynq MicroZED Board
Board: Xilinx Zynq
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
eth0: ethernet at e000b000
reading uEnv.txt
245 bytes read in 10 ms (23.4 KiB/s)
Importing environment from SD ...
Hit any key to stop autoboot: 0
Device: sdhci at e0100000
Manufacturer ID: 3
OEM: 5344
Name: SU04G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 3.7 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
245 bytes read in 10 ms (23.4 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
Running uenvcmd ...
reading uImage
3781072 bytes read in 329 ms (11 MiB/s)
reading microzed-zynq7.dtb
23044 bytes read in 24 ms (937.5 KiB/s)
## Booting kernel from Legacy Image at 03000000 ...
Image Name: Linux-4.9.0-xilinx-v2017.1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3781008 Bytes = 3.6 MiB
Load Address: 10000000
Entry Point: 10000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
Booting using the fdt blob at 0x2a00000
Loading Kernel Image ... OK
Loading Device Tree to 1fff7000, end 1ffffa03 ... OK
Starting kernel ...
<Linux hangs>
Do you have any advice or configuration I need to check ?
Thanks
Giulio Presazzi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20170522/b0d3325d/attachment.html>
More information about the meta-xilinx
mailing list