UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor dave0132
Visitor
261 Views
Registered: ‎04-14-2019

ZCU102 QuadSPI implementaion with Petalinux

I have a ZCU102 board that I am trying to get working with a the quad SPI core in PL. I need to have the system running linux, and I need to use the HDMI output. I have started with the ZCU102 TRD Ubuntu tutorial. The example uses Vivado 2017.4. I have built tha hardware and Petalinux project successfully. I now want to add a  AXI Quad SPI core and have access to it from the OS.

I have searched all over and pieced together a number of examples, all based on Zynq systems (Zybo, Zedboards, ertc). I have been working at implementing the SPIDEV driver. One example I followed was the MiniZed I2C and SPI tutorial. It all seemed straight forward, but I cannot get anything to work. I am using 2017.4 tools.  I simply added the AXI Quad SPI core to the block diagram. The system already has numerous interrupts implented, I increased the size of the concat block and added the SPI insterrupt. The hardware implements and exports fine.

Now I cannot get Petalinux to compile.

I have added various definitions to the kernel cfg files:

CONFIG_SPI_DEV=y

CONFIG_SPI_XILINX=y

CONFIG_SPI_MASTER=y

CONFIG_SPI_BITBANG=y

 and added  to the sytem-user.dtsi

&axi_quad_spi_0 {
is-decoded-cs = <0>;
num-cs = <1>;
status = "okay";
spidev@0 {
compatible = "spidev";
spi-max-frequency = <10000000>;
reg = <0>;
};
};

Building with these additions produces an error: Label or path axi_quad_spi_0 not found.

 

I have tried various combinations of the above configurations to try and isolate teh problem, but it just seems that I am missing something.

I woudl appreciate it if someone can point me in some direction to move me forward, I am stuck.

 

Petalinux error message:

fsbl-2017.1+gitAUTOINC+3813f14966-r0 do_compile: NOTE: fsbl: compiling from external source tree /opt/pkg/petalinux/2017.1/tools/hsm/data/embeddedsw
ERROR: device-tree-generation-xilinx+gitAUTOINC+94fc615234-r0 do_compile: Function failed: do_compile (log file is located at /home/user/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+94fc615234-r0/temp/log.do_compile.31464)
ERROR: Logfile of failure stored in: /home/user/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+94fc615234-r0/temp/log.do_compile.31464
Log data follows:
| DEBUG: Executing shell function do_compile
| Error: /home/user/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+94fc615234-r0/pl.dtsi:18.1-16 Label or path axi_quad_spi_0 not found
| FATAL ERROR: Syntax error parsing input tree
| WARNING: /home/user/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+94fc615234-r0/temp/run.do_compile.31464:1 exit 1 from 'dtc -I dts -O dtb -R 8 -p 0x1000 -i /home/david/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+94fc615234-r0 -i /home/david/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/../components/plnx_workspace/device-tree-generation -o /home/david/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/../components/plnx_workspace/device-tree-generation/plnx_aarch64-system.dtb /home/david/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/../components/plnx_workspace/device-tree-generation/plnx_aarch64-system.pp'
| ERROR: Function failed: do_compile (log file is located at /home/user/plxprjs/rdf0421-zcu102-base-trd-2017-1/apu/petalinux_bsp/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+94fc615234-r0/temp/log.do_compile.31464)
ERROR: Task (/opt/pkg/petalinux/2017.1/components/yocto/source/aarch64/layers/meta-xilinx-tools/recipes-bsp/device-tree/device-tree-generation_git.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 6066 tasks of which 6048 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/opt/pkg/petalinux/2017.1/components/yocto/source/aarch64/layers/meta-xilinx-tools/recipes-bsp/device-tree/device-tree-generation_git.bb:do_compile
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
ERROR: Failed to build project
webtalk failed:PetaLinux statistics:extra lines detected:notsent_nofile!
webtalk failed:Failed to get PetaLinux usage statistics!

0 Kudos
1 Reply
Visitor dave0132
Visitor
225 Views
Registered: ‎04-14-2019

Re: ZCU102 QuadSPI implementaion with Petalinux

I posted this question because I was at a loss after reading and researching for days. but I finally figured out what was wrong. The autoconfigure setting for the device tree was disabled, so my custom component was not created in the device tree when I imported the HDF file.