I am trying to bring up the AD9081-FMCA-EBZ-A3 board with the versal VCK190. but am running into issues with the JESD initialization.
I've been using the prebuilt files from the versal-vck190-reva-ad9081 and versal-common directories on the latest SD card release.
On my first attempt, I tried using the prebuilt BOOT.bin with the precompiled Linux images (devicetree & kernel). The JESD would fail and with a message that the JESD settings (M, L, F, etc) in the devicetree didn't match the HDL. I found an example make command in the HDL project with the right JESD settings, recompiled the BOOT.bin, and tried again with the same kernel and devicetree.
make JESD_MODE=64B66B RX_RATE=24.75 TX_RATE=24.75 RX_JESD_M=4 RX_JESD_L=4 RX_JESD_S=2 RX_JESD_NP=12 TX_JESD_M=4 TX_JESD_L=4 TX_JESD_S=2 TX_JESD_NP=12
Now those errors are absent, but the JESD FSM failed on the link_enable state.
[ 8.160024] ad9081 spi1.0: running jesd_rx_calibrate_204c, LR 24750000 kbps
[ 16.371084] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage5 -> clocks_enable
[ 16.382734] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage5 -> clocks_enable
[ 16.394435] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clocks_enable -> link_enable
[ 16.405647] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clocks_enable -> link_enable
[ 16.546915] axi-jesd204-rx a4a90000.axi-jesd204-rx: axi_jesd204_rx_jesd204_link_running: Link2 status failed (WAIT_BS)
[ 16.557609] jesd204: /fpga-axi@0/axi-jesd204-rx@a4a90000,jesd204:4,parent=a4a90000.axi-jesd204-rx: JESD204[2] In link_running got error from cb: -1
[ 16.570815] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: Rolling back from 'link_enable', got error -1
I tried the same AD9081 board with a zcu102 and the precompiled files and that worked. I'm not sure if there's a variable missing from my make command or it's some other issue. I've attached the dmesg output.
Thanks