Hi,
I am working on a custom board with AD9026 and Xilinx zu19eg FPGA running petalinux. I don't have my jesd devices showing up in petalinux
My FPGA design contains all ADI JESD IPs as a starter. I was able to successfully add the adi-meta yocto layers and compile the Petalinux image with my custom dts file. I can see the dmesg reports finding 8 JESD devices, and they are created with right base address under /sys/bus/platform/devices
kernel log:
[ 2.245029] jesd204: created con: id=0, topo=0, link=3, /fpga-axi@0/axi_adxcvr@a0080000 <-> /fpga-axi@0/axi_jesd204_rx@a0090000
[ 2.245062] jesd204: created con: id=1, topo=0, link=0, /fpga-axi@0/axi_adxcvr@a0040000 <-> /fpga-axi@0/axi_jesd204_tx@a0050000
[ 2.245093] jesd204: created con: id=2, topo=0, link=2, /fpga-axi@0/axi_adxcvr@a0000000 <-> /fpga-axi@0/axi_jesd204_rx@a0010000
[ 2.245122] jesd204: created con: id=3, topo=0, link=3, /ad9528-1@0 <-> /fpga-axi@0/axi_adxcvr@a0080000
[ 2.245147] jesd204: created con: id=4, topo=0, link=0, /ad9528-1@0 <-> /fpga-axi@0/axi_adxcvr@a0040000
[ 2.245171] jesd204: created con: id=5, topo=0, link=2, /ad9528-1@0 <-> /fpga-axi@0/axi_adxcvr@a0000000
[ 2.245198] jesd204: created con: id=6, topo=0, link=2, /fpga-axi@0/axi_jesd204_rx@a0010000 <-> /ad9026-phy@1
[ 2.245223] jesd204: created con: id=7, topo=0, link=3, /fpga-axi@0/axi_jesd204_rx@a0090000 <-> /ad9026-phy@1
[ 2.245249] jesd204: created con: id=8, topo=0, link=0, /fpga-axi@0/axi_jesd204_tx@a0050000 <-> /ad9026-phy@1
[ 2.245284] jesd204: /ad9026-phy@1: JESD204[0:0] transition uninitialized -> initialized
[ 2.245303] jesd204: /ad9026-phy@1: JESD204[0:1] transition uninitialized -> initialized
[ 2.245320] jesd204: /ad9026-phy@1: JESD204[0:2] transition uninitialized -> initialized
[ 2.245337] jesd204: /ad9026-phy@1: JESD204[0:3] transition uninitialized -> initialized
[ 2.245354] jesd204: /ad9026-phy@1: JESD204[0:4] transition uninitialized -> initialized
[ 2.245372] jesd204: found 8 devices and 1 topologies
=============
However /sys/bus/iio/devices shows no jesd device. If I list all the files under a device its missing the status and the driver link.
root@zynqmp-iwg35m:/sys/bus/platform/devices/a0010000.axi_jesd204_rx# ls -al
total 0
drwxr-xr-x 3 root root 0 Nov 19 17:19 .
drwxr-xr-x 15 root root 0 Nov 19 17:19 ..
lrwxrwxrwx 1 root root 0 Nov 20 04:10 consumer:platform:3.ad9026-phy -> ../../../virtual/devlink/platform:a0010000.axi_jesd204_rx--platform:3.ad9026-phy
-rw-r--r-- 1 root root 4096 Nov 20 04:10 driver_override
-r--r--r-- 1 root root 4096 Nov 20 04:10 modalias
lrwxrwxrwx 1 root root 0 Nov 20 04:10 of_node -> ../../../../firmware/devicetree/base/fpga-axi@0/axi_jesd204_rx@a0010000
drwxr-xr-x 2 root root 0 Nov 20 03:21 power
lrwxrwxrwx 1 root root 0 Nov 19 17:19 subsystem -> ../../../../bus/platform
lrwxrwxrwx 1 root root 0 Nov 20 04:10 supplier:platform:a0000000.axi_adxcvr -> ../../../virtual/devlink/platform:a0000000.axi_adxcvr--platform:a0010000.axi_jesd204_rx
lrwxrwxrwx 1 root root 0 Nov 20 04:10 supplier:platform:firmware:zynqmp-firmware:clock-controller -> ../../../virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:a0010000.axi_jesd204_rx
-rw-r--r-- 1 root root 4096 Nov 19 17:19 uevent
-r--r--r-- 1 root root 4096 Nov 20 04:10 waiting_for_supplier
==========
It seems like the jesd devices were not probed or not created. Running jesd_status returns with error saying it failed to find JESD devices.
root@zynqmp-iwg35m:~# jesd_status
Failed to find JESD devices
===
The JESD troubleshooting Wiki suggests checking base address mismatch. But those are all correct. Does the base address need to be within certain range for the driver to accept?
Any help would be greatly appreciated.
Thanks
- Sharif