Hello ADI Team
Thanks for the support provided for configuring ADRV9008-1 and ADRV9008-2 using Baremetal. The solutions offered in https://ez.analog.com/fpga/f/q-a/551024/adrv9009-zcu102-hdl-for-2-lanes were of great help.
Now I am trying to configure these Transceivers using Linux. The integrated version of project (.tcl file) in which ADRV9008-1 is connected to HPC0 and ADRV9008-2 connected to HPC1 is found in this post https://ez.analog.com/fpga/f/q-a/551024/adrv9009-zcu102-hdl-for-2-lanes. The same .hdf is used to create Linux Image. I followed the steps that were provided in https://wiki.analog.com/resources/eval/user-guides/adrv9002/quickstart/zynqmp and tried to add zynqmp-zcu102-rev10-adrv9008-1-jesd204-fsm.dts and zynqmp-zcu102-rev10-adrv9008-2-jesd204-fsm.dts in petalinuxbsp.conf before building the project. However, on booting, it was observed that only ADRV9008-1 was configured. The PL.dtsi generated after build is attached for reference. It does'nt reflect the zynqmp-zcu102-rev10-adrv9008-2-jesd204-fsm.dts. Am I following the right steps to build this project?
/*
* CAUTION: This file is automatically generated by Xilinx.
* Version:
* Today is: Thu Dec 9 08:38:38 2021
*/
/ {
amba_pl: amba_pl@0 {
#address-cells = <2>;
#size-cells = <2>;
compatible = "simple-bus";
ranges ;
axi_adrv9009_rx_clkgen: axi_clkgen@83c10000 {
clock-names = "clk", "s_axi_aclk";
clocks = <&misc_clk_0>, <&zynqmp_clk 71>;
compatible = "xlnx,axi-clkgen-1.0";
reg = <0x0 0x83c10000 0x0 0x10000>;
};
misc_clk_0: misc_clk_0 {
#clock-cells = <0>;
clock-frequency = <100000000>;
compatible = "fixed-clock";
};
axi_adrv9009_rx_dma: axi_dmac@9c400000 {
clock-names = "s_axi_aclk", "m_dest_axi_aclk", "fifo_wr_clk";
clocks = <&zynqmp_clk 71>, <&zynqmp_clk 72>, <&misc_clk_0>;
compatible = "xlnx,axi-dmac-1.0";
interrupt-names = "irq";
interrupt-parent = <&gic>;
interrupts = <0 109 4>;
reg = <0x0 0x9c400000 0x0 0x1000>;
};
axi_adrv9009_rx_jesd_rx_axi: axi_jesd204_rx@84aa0000 {
clock-names = "s_axi_aclk", "core_clk";
clocks = <&zynqmp_clk 71>, <&misc_clk_0>;
compatible = "xlnx,axi-jesd204-rx-1.0";
interrupt-names = "irq";
interrupt-parent = <&gic>;
interrupts = <0 106 4>;
reg = <0x0 0x84aa0000 0x0 0x4000>;
};
axi_adrv9009_rx_os_clkgen: axi_clkgen@83c20000 {
clock-names = "clk", "s_axi_aclk";
clocks = <&misc_clk_0>, <&zynqmp_clk 71>;
compatible = "xlnx,axi-clkgen-1.0";
reg = <0x0 0x83c20000 0x0 0x10000>;
};
axi_adrv9009_rx_os_dma: axi_dmac@9c440000 {
clock-names = "s_axi_aclk", "m_dest_axi_aclk", "fifo_wr_clk";
clocks = <&zynqmp_clk 71>, <&zynqmp_clk 72>, <&misc_clk_0>;
compatible = "xlnx,axi-dmac-1.0";
interrupt-names = "irq";
interrupt-parent = <&gic>;
interrupts = <0 107 4>;
reg = <0x0 0x9c440000 0x0 0x1000>;
};
axi_adrv9009_rx_os_jesd_rx_axi: axi_jesd204_rx@84ab0000 {
clock-names = "s_axi_aclk", "core_clk";
clocks = <&zynqmp_clk 71>, <&misc_clk_0>;
compatible = "xlnx,axi-jesd204-rx-1.0";
interrupt-names = "irq";
interrupt-parent = <&gic>;
interrupts = <0 104 4>;
reg = <0x0 0x84ab0000 0x0 0x4000>;
};
axi_adrv9009_rx_os_xcvr: axi_adxcvr@84a50000 {
clock-names = "s_axi_aclk";
clocks = <&zynqmp_clk 71>;
compatible = "xlnx,axi-adxcvr-1.0";
reg = <0x0 0x84a50000 0x0 0x10000>;
};
axi_adrv9009_rx_xcvr: axi_adxcvr@84a60000 {
clock-names = "s_axi_aclk";
clocks = <&zynqmp_clk 71>;
compatible = "xlnx,axi-adxcvr-1.0";
reg = <0x0 0x84a60000 0x0 0x10000>;
};
axi_adrv9009_tx_clkgen: axi_clkgen@83c00000 {
clock-names = "clk", "s_axi_aclk";
clocks = <&misc_clk_0>, <&zynqmp_clk 71>;
compatible = "xlnx,axi-clkgen-1.0";
reg = <0x0 0x83c00000 0x0 0x10000>;
};
axi_adrv9009_tx_dma: axi_dmac@9c420000 {
clock-names = "s_axi_aclk", "m_src_axi_aclk", "m_axis_aclk";
clocks = <&zynqmp_clk 71>, <&zynqmp_clk 72>, <&zynqmp_clk 72>;
compatible = "xlnx,axi-dmac-1.0";
interrupt-names = "irq";
interrupt-parent = <&gic>;
interrupts = <0 108 4>;
reg = <0x0 0x9c420000 0x0 0x1000>;
};
axi_adrv9009_tx_jesd_tx_axi: axi_jesd204_tx@84a90000 {
clock-names = "s_axi_aclk", "core_clk";
clocks = <&zynqmp_clk 71>, <&misc_clk_0>;
compatible = "xlnx,axi-jesd204-tx-1.0";
interrupt-names = "irq";
interrupt-parent = <&gic>;
interrupts = <0 105 4>;
reg = <0x0 0x84a90000 0x0 0x4000>;
};
axi_adrv9009_tx_xcvr: axi_adxcvr@84a80000 {
clock-names = "s_axi_aclk";
clocks = <&zynqmp_clk 71>;
compatible = "xlnx,axi-adxcvr-1.0";
reg = <0x0 0x84a80000 0x0 0x10000>;
};
axi_sysid_0: axi_sysid@85000000 {
clock-names = "s_axi_aclk";
clocks = <&zynqmp_clk 71>;
compatible = "xlnx,axi-sysid-1.0";
reg = <0x0 0x85000000 0x0 0x10000>;
};
psu_ctrl_ipi: PERIPHERAL@ff380000 {
compatible = "xlnx,PERIPHERAL-1.0";
reg = <0x0 0xff380000 0x0 0x80000>;
};
psu_message_buffers: PERIPHERAL@ff990000 {
compatible = "xlnx,PERIPHERAL-1.0";
reg = <0x0 0xff990000 0x0 0x10000>;
};
rx_adrv9009_tpl_core_adc_tpl_core: ad_ip_jesd204_tpl_adc@84a00000 {
clock-names = "link_clk", "s_axi_aclk";
clocks = <&misc_clk_0>, <&zynqmp_clk 71>;
compatible = "xlnx,ad-ip-jesd204-tpl-adc-1.0";
reg = <0x0 0x84a00000 0x0 0x2000>;
};
rx_os_adrv9009_tpl_core_adc_tpl_core: ad_ip_jesd204_tpl_adc@84a08000 {
clock-names = "link_clk", "s_axi_aclk";
clocks = <&misc_clk_0>, <&zynqmp_clk 71>;
compatible = "xlnx,ad-ip-jesd204-tpl-adc-1.0";
reg = <0x0 0x84a08000 0x0 0x2000>;
};
tx_adrv9009_tpl_core_dac_tpl_core: ad_ip_jesd204_tpl_dac@84a04000 {
clock-names = "link_clk", "s_axi_aclk";
clocks = <&misc_clk_0>, <&zynqmp_clk 71>;
compatible = "xlnx,ad-ip-jesd204-tpl-dac-1.0";
reg = <0x0 0x84a04000 0x0 0x2000>;
};
};
};
/include/ "pl-delete-nodes-zynqmp-zcu102-rev10-adrv9008-1-jesd204-fsm.dtsi"
I had posted the same question in FPGA Reference Design page but I didn't find any response. Requesting to help me resolving this issue as this is an important requirement of our design.
Thanks
Deepika