How to configure device tree to use more than one ADRV9009

Hello

I have custom hardware that has three ADRV9009 devices on it. These devices are clocked by an HMC7044. I have confirmed that the HMC7044 is outputting the correct clocks. I am using Vivado 2018.2 to generate the firmware, Petalinux 2018.2 to generate the Linux image and I am using the corresponding version of the ADI kernel.

Up until now I have been testing with the ADRV9009 evaluation platform which only has a single ADRV9009 device on it. I am now trying to get my custom hardware going with two ADRV9009 devices included in the device tree.

If I only have one ADRV9009 included at a time (other two ADRV9009 devices commented out), then I can see that it initialises correctly. This applies to the second ADRV9009 device as well.

However, when I want to include two ADRV9009 devices in the device tree, I can se that the following happens:

1) The first ADRV9009 initialises correctly.

2) The second fails in the probe function at the first devm_clk_get when trying to get the jesd_tx_clk/jesd_rx_clk.

It is almost like the first ADRV9009 grabbed the 'handle' to the jesd_tx_clk/jesd_rx_clk and so the second ADRV9009 can't get access to it.

I thought the solution would be to give each ADRV9009 unique clock names (such as "jesd_rx_clk0" and "jesd_rx_clk1") but then the ADRV9009 IIO device driver can't find any clocks, so clearly this is not the answer.

Please can you tell me how I must modify my device tree so that both ADRV9009 devices can complete their clock intialisation successfully?

Please help! Without this functionality our hardware won't be able to use the two remaining ADRV9009 devices.

Below is a copy of my device tree relating to the two ADRV9009 devices:

        spi@ff040000 {
            compatible = "cdns,spi-r1p6";
            status = "okay";
            is-decoded-cs = <0x0>;
            num-cs = <0x3>;

            trx0_adrv9009: adrv9009-phy@0 {
                compatible = "adrv9009";
                reg = <0>;

                #address-cells = <1>;
                #size-cells = <0>;

                // SPI Setup
                spi-max-frequency = <25000000>;

                reset-gpios = <&gpio 110 0>;
                sysref-req-gpios = <&gpio 111 0>;

                // Clocks
                clocks = <&axi_adrv9009_rx_jesd_0>, <&axi_adrv9009_tx_jesd_0>,
                    <&axi_adrv9009_rx_os_jesd_0>, <&hmc7044 6>, <&hmc7044 0>, <&hmc7044 7>, <&hmc7044 1>;
                clock-names = "jesd_rx_clk", "jesd_tx_clk", "jesd_rx_os_clk", "dev_clk", "fmc_clk", "sysref_dev_clk", "sysref_fmc_clk";

                clock-output-names = "rx_sampl_clk_0", "rx_os_sampl_clk_0", "tx_sampl_clk_0";
                #clock-cells = <1>;

                // JESD204

                // JESD204 RX
                adi,jesd204-framer-a-bank-id = <1>;
                adi,jesd204-framer-a-device-id = <0>;
                adi,jesd204-framer-a-lane0-id = <0>;
                adi,jesd204-framer-a-m = <4>;
                adi,jesd204-framer-a-k = <32>;
                adi,jesd204-framer-a-f = <4>;
                adi,jesd204-framer-a-np = <16>;
                adi,jesd204-framer-a-scramble = <1>;
                adi,jesd204-framer-a-external-sysref = <1>;
                adi,jesd204-framer-a-serializer-lanes-enabled = <0x03>;
                adi,jesd204-framer-a-serializer-lane-crossbar = <0xE4>;
                adi,jesd204-framer-a-lmfc-offset = <31>;
                adi,jesd204-framer-a-new-sysref-on-relink = <0>;
                adi,jesd204-framer-a-syncb-in-select = <0>;
                adi,jesd204-framer-a-over-sample = <0>;
                adi,jesd204-framer-a-syncb-in-lvds-mode = <1>;
                adi,jesd204-framer-a-syncb-in-lvds-pn-invert = <0>;
                adi,jesd204-framer-a-enable-manual-lane-xbar = <0>;

                // JESD204 OBS
                adi,jesd204-framer-b-bank-id = <0>;
                adi,jesd204-framer-b-device-id = <0>;
                adi,jesd204-framer-b-lane0-id = <0>;
                adi,jesd204-framer-b-m = <4>;
                adi,jesd204-framer-b-k = <32>;
                adi,jesd204-framer-b-f = <4>;
                adi,jesd204-framer-b-np = <16>;
                adi,jesd204-framer-b-scramble = <1>;
                adi,jesd204-framer-b-external-sysref = <1>;
                adi,jesd204-framer-b-serializer-lanes-enabled = <0x0C>;
                adi,jesd204-framer-b-serializer-lane-crossbar = <0xE4>;
                adi,jesd204-framer-b-lmfc-offset = <31>;
                adi,jesd204-framer-b-new-sysref-on-relink = <0>;
                adi,jesd204-framer-b-syncb-in-select = <1>;
                adi,jesd204-framer-b-over-sample = <0>;
                adi,jesd204-framer-b-syncb-in-lvds-mode = <1>;
                adi,jesd204-framer-b-syncb-in-lvds-pn-invert = <0>;
                adi,jesd204-framer-b-enable-manual-lane-xbar = <0>;

                // JESD204 TX
                adi,jesd204-deframer-a-bank-id = <0>;
                adi,jesd204-deframer-a-device-id = <0>;
                adi,jesd204-deframer-a-lane0-id = <0>;
                adi,jesd204-deframer-a-m = <4>;
                adi,jesd204-deframer-a-k = <32>;
                adi,jesd204-deframer-a-scramble = <1>;
                adi,jesd204-deframer-a-external-sysref = <1>;
                adi,jesd204-deframer-a-deserializer-lanes-enabled = <0x0F>;
                adi,jesd204-deframer-a-deserializer-lane-crossbar = <0xE4>;
                adi,jesd204-deframer-a-lmfc-offset = <17>;
                adi,jesd204-deframer-a-new-sysref-on-relink = <0>;
                adi,jesd204-deframer-a-syncb-out-select = <0>;
                adi,jesd204-deframer-a-np = <16>;
                adi,jesd204-deframer-a-syncb-out-lvds-mode = <1>;
                adi,jesd204-deframer-a-syncb-out-lvds-pn-invert = <0>;
                adi,jesd204-deframer-a-syncb-out-cmos-slew-rate = <0>;
                adi,jesd204-deframer-a-syncb-out-cmos-drive-level = <0>;
                adi,jesd204-deframer-a-enable-manual-lane-xbar = <0>;

                adi,jesd204-ser-amplitude = <15>;
                adi,jesd204-ser-pre-emphasis = <1>;
                adi,jesd204-ser-invert-lane-polarity = <0>;
                adi,jesd204-des-invert-lane-polarity = <0>;
                adi,jesd204-des-eq-setting = <1>;
                adi,jesd204-sysref-lvds-mode = <1>;
                adi,jesd204-sysref-lvds-pn-invert = <0>;

                // RX

                adi,rx-profile-rx-fir-gain_db = <(-6)>;
                adi,rx-profile-rx-fir-num-fir-coefs = <48>;
                // 245M76Hz adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-2) (23) (46) (-17) (-104) (10) (208) (23) (-370) (-97) (607) (240) (-942) (-489) (1407) (910) (-2065) (-1637) (3058) (2995) (-4912) (-6526) (9941) (30489) (30489) (9941) (-6526) (-4912) (2995) (3058) (-1637) (-2065) (910) (1407) (-489) (-942) (240) (607) (-97) (-370) (23) (208) (10) (-104) (-17) (46) (23) (-2)>;
                adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-6) (-22) (31) (48) (-68) (-107) (141) (201) (-254) (-351) (431) (576) (-691) (-910) (1075) (1410) (-1649) (-2205) (2562) (3613) (-4348) (-7172) (9326) (31134) (31134) (9326) (-7172) (-4348) (3613) (2562) (-2205) (-1649) (1410) (1075) (-910) (-691) (576) (431) (-351) (-254) (201) (141) (-107) (-68) (48) (31) (-22) (-6)>;

                adi,rx-profile-rx-fir-decimation = <2>;
                adi,rx-profile-rx-dec5-decimation = <4>;
                adi,rx-profile-rhb1-decimation = <1>;
                // 245M76Hz adi,rx-profile-rx-output-rate_khz = <245760>;
                adi,rx-profile-rx-output-rate_khz = <208000>;
                // 245M76Hz adi,rx-profile-rf-bandwidth_hz = <200000000>;
                adi,rx-profile-rf-bandwidth_hz = <169000000>;
                // 245M76Hz adi,rx-profile-rx-bbf3d-bcorner_khz = <200000>;
                adi,rx-profile-rx-bbf3d-bcorner_khz = <169000>;
                // 245M76Hz adi,rx-profile-rx-adc-profile = /bits/ 16 <182 142 173 90 1280 982 1335 96 1369 48 1012 18 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,rx-profile-rx-adc-profile = /bits/ 16 <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,rx-profile-rx-ddc-mode = <0>;

                adi,rx-nco-shifter-band-a-input-band-width_khz = <0>;
                adi,rx-nco-shifter-band-a-input-center-freq_khz = <0>;
                adi,rx-nco-shifter-band-a-nco1-freq_khz = <0>;
                adi,rx-nco-shifter-band-a-nco2-freq_khz = <0>;
                adi,rx-nco-shifter-band-binput-band-width_khz = <0>;
                adi,rx-nco-shifter-band-binput-center-freq_khz = <0>;
                adi,rx-nco-shifter-band-bnco1-freq_khz = <0>;
                adi,rx-nco-shifter-band-bnco2-freq_khz = <0>;

                adi,rx-gain-control-gain-mode = <0>;
                adi,rx-gain-control-rx1-gain-index = <255>;
                adi,rx-gain-control-rx2-gain-index = <255>;
                adi,rx-gain-control-rx1-max-gain-index = <255>;
                adi,rx-gain-control-rx1-min-gain-index = <195>;
                adi,rx-gain-control-rx2-max-gain-index = <255>;
                adi,rx-gain-control-rx2-min-gain-index = <195>;

                adi,rx-settings-framer-sel = <0>;
                adi,rx-settings-rx-channels = <3>;

                // ORX

                // 245M76Hz adi,orx-profile-rx-fir-gain_db = <6>;
                adi,orx-profile-rx-fir-gain_db = <(-6)>;
                // 245M76Hz adi,orx-profile-rx-fir-num-fir-coefs = <24>;
                adi,orx-profile-rx-fir-num-fir-coefs = <48>;
                // 245M76Hz adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-10) (7) (-10) (-12) (6) (-12) (16) (-16) (1) (63) (-431) (17235) (-431) (63) (1) (-16) (16) (-12) (6) (-12) (-10) (7) (-10) (0)>;
                adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-7) (-19) (29) (44) (-64) (-98) (118) (152) (-265) (-315) (425) (523) (-672) (-830) (1037) (1289) (-1588) (-2018) (2477) (3327) (-4207) (-6558) (9518) (30464) (30464) (9518) (-6558) (-4207) (3327) (2477) (-2018) (-1588) (1289) (1037) (-830) (-672) (523) (425) (-315) (-265) (152) (118) (-98) (-64) (44) (29) (-19) (-7)>;
                // 245M76Hz adi,orx-profile-rx-fir-decimation = <1>;
                adi,orx-profile-rx-fir-decimation = <2>;
                adi,orx-profile-rx-dec5-decimation = <4>;
                // 245M76Hz adi,orx-profile-rhb1-decimation = <2>;
                adi,orx-profile-rhb1-decimation = <1>;
                // 245M76Hz adi,orx-profile-orx-output-rate_khz = <245760>;
                adi,orx-profile-orx-output-rate_khz = <208000>;
                // 245M76Hz adi,orx-profile-rf-bandwidth_hz = <200000000>;
                adi,orx-profile-rf-bandwidth_hz = <169000000>;
                adi,orx-profile-rx-bbf3d-bcorner_khz = <225000>;
                // 245M76Hz adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <185 141 172 90 1280 942 1332 90 1368 46 1016 19 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                // 245M76Hz adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
                adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,orx-profile-orx-ddc-mode = <0>;
                adi,orx-profile-orx-merge-filter = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0>;

                adi,orx-gain-control-gain-mode = <0>;
                adi,orx-gain-control-orx1-gain-index = <255>;
                adi,orx-gain-control-orx2-gain-index = <255>;
                adi,orx-gain-control-orx1-max-gain-index = <255>;
                adi,orx-gain-control-orx1-min-gain-index = <195>;
                adi,orx-gain-control-orx2-max-gain-index = <255>;
                adi,orx-gain-control-orx2-min-gain-index = <195>;

                adi,obs-settings-framer-sel = <1>;
                adi,obs-settings-obs-rx-channels-enable = <3>;
                adi,obs-settings-obs-rx-lo-source = <0>;

                // TX

                // 245M76Hz adi,tx-profile-tx-fir-gain_db = <6>;
                adi,tx-profile-tx-fir-gain_db = <0>;
                // 245M76Hz adi,tx-profile-tx-fir-num-fir-coefs = <40>;
                adi,tx-profile-tx-fir-num-fir-coefs = <20>;
                // 245M76Hz adi,tx-profile-tx-fir-coefs = /bits/ 16  <(-14) (5) (-9) (6) (-4) (19) (-29) (27) (-30) (46) (-63) (77) (-103) (150) (-218) (337) (-599) (1266) (-2718) (19537) (-2718) (1266) (-599) (337) (-218) (150) (-103) (77) (-63) (46) (-30) (27) (-29) (19) (-4) (6) (-9) (5) (-14) (0)>;
                adi,tx-profile-tx-fir-coefs = /bits/ 16  <(31) (-73) (118) (-151) (164) (-108) (-147) (1002) (-2864) (19887) (-2864) (1002) (-147) (-108) (164) (-151) (118) (-73) (31) (0)>;

                adi,tx-profile-dac-div = <1>;

                adi,tx-profile-tx-fir-interpolation = <1>;
                adi,tx-profile-thb1-interpolation = <2>;
                adi,tx-profile-thb2-interpolation = <2>;
                adi,tx-profile-thb3-interpolation = <2>;
                adi,tx-profile-tx-int5-interpolation = <1>;
                // 245M76Hz adi,tx-profile-tx-input-rate_khz = <245760>;
                adi,tx-profile-tx-input-rate_khz = <208000>;
                // 245M76Hz adi,tx-profile-primary-sig-bandwidth_hz = <100000000>;
                adi,tx-profile-primary-sig-bandwidth_hz = <63000000>;
                // 245M76Hz adi,tx-profile-rf-bandwidth_hz = <225000000>;
                adi,tx-profile-rf-bandwidth_hz = <169000000>;
                // 245M76Hz adi,tx-profile-tx-dac3d-bcorner_khz = <225000>;
                adi,tx-profile-tx-dac3d-bcorner_khz = <187000>;
                // 245M76Hz adi,tx-profile-tx-bbf3d-bcorner_khz = <113000>;
                adi,tx-profile-tx-bbf3d-bcorner_khz = <84500>;
                adi,tx-profile-loop-back-adc-profile = /bits/ 16 <206 132 168 90 1280 641 1307 53 1359 28 1039 30 48 48 37 210 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;

                adi,tx-settings-deframer-sel = <0>;
                adi,tx-settings-tx-channels = <3>;
                adi,tx-settings-tx-atten-step-size = <0>;
                adi,tx-settings-tx1-atten_md-b = <10000>;
                adi,tx-settings-tx2-atten_md-b = <10000>;
                adi,tx-settings-dis-tx-data-if-pll-unlock = <0>;

                // Clocks

                // 245M76Hz adi,dig-clocks-device-clock_khz = <245760>;
                adi,dig-clocks-device-clock_khz = <208000>;
                // 245M76Hz adi,dig-clocks-clk-pll-vco-freq_khz = <9830400>;
                adi,dig-clocks-clk-pll-vco-freq_khz = <8320000>;
                adi,dig-clocks-clk-pll-hs-div = <1>;
                adi,dig-clocks-rf-pll-use-external-lo = <0>;
                adi,dig-clocks-rf-pll-phase-sync-mode = <0>;

                // AGC

                adi,rxagc-peak-agc-under-range-low-interval_ns = <205>;
                adi,rxagc-peak-agc-under-range-mid-interval = <2>;
                adi,rxagc-peak-agc-under-range-high-interval = <4>;
                adi,rxagc-peak-apd-high-thresh = <39>;
                adi,rxagc-peak-apd-low-gain-mode-high-thresh = <36>;
                adi,rxagc-peak-apd-low-thresh = <23>;
                adi,rxagc-peak-apd-low-gain-mode-low-thresh = <19>;
                adi,rxagc-peak-apd-upper-thresh-peak-exceeded-cnt = <6>;
                adi,rxagc-peak-apd-lower-thresh-peak-exceeded-cnt = <3>;
                adi,rxagc-peak-apd-gain-step-attack = <4>;
                adi,rxagc-peak-apd-gain-step-recovery = <2>;
                adi,rxagc-peak-enable-hb2-overload = <1>;
                adi,rxagc-peak-hb2-overload-duration-cnt = <1>;
                adi,rxagc-peak-hb2-overload-thresh-cnt = <4>;
                adi,rxagc-peak-hb2-high-thresh = <181>;
                adi,rxagc-peak-hb2-under-range-low-thresh = <45>;
                adi,rxagc-peak-hb2-under-range-mid-thresh = <90>;
                adi,rxagc-peak-hb2-under-range-high-thresh = <128>;
                adi,rxagc-peak-hb2-upper-thresh-peak-exceeded-cnt = <6>;
                adi,rxagc-peak-hb2-lower-thresh-peak-exceeded-cnt = <3>;
                adi,rxagc-peak-hb2-gain-step-high-recovery = <2>;
                adi,rxagc-peak-hb2-gain-step-low-recovery = <4>;
                adi,rxagc-peak-hb2-gain-step-mid-recovery = <8>;
                adi,rxagc-peak-hb2-gain-step-attack = <4>;
                adi,rxagc-peak-hb2-overload-power-mode = <1>;
                adi,rxagc-peak-hb2-ovrg-sel = <0>;
                adi,rxagc-peak-hb2-thresh-config = <3>;

                adi,rxagc-power-power-enable-measurement = <1>;
                adi,rxagc-power-power-use-rfir-out = <1>;
                adi,rxagc-power-power-use-bbdc2 = <0>;
                adi,rxagc-power-under-range-high-power-thresh = <9>;
                adi,rxagc-power-under-range-low-power-thresh = <2>;
                adi,rxagc-power-under-range-high-power-gain-step-recovery = <4>;
                adi,rxagc-power-under-range-low-power-gain-step-recovery = <4>;
                adi,rxagc-power-power-measurement-duration = <5>;
                adi,rxagc-power-rx1-tdd-power-meas-duration = <5>;
                adi,rxagc-power-rx1-tdd-power-meas-delay = <1>;
                adi,rxagc-power-rx2-tdd-power-meas-duration = <5>;
                adi,rxagc-power-rx2-tdd-power-meas-delay = <1>;
                adi,rxagc-power-upper0-power-thresh = <2>;
                adi,rxagc-power-upper1-power-thresh = <0>;
                adi,rxagc-power-power-log-shift = <0>;

                adi,rxagc-agc-peak-wait-time = <4>;
                adi,rxagc-agc-rx1-max-gain-index = <255>;
                adi,rxagc-agc-rx1-min-gain-index = <195>;
                adi,rxagc-agc-rx2-max-gain-index = <255>;
                adi,rxagc-agc-rx2-min-gain-index = <195>;
                adi,rxagc-agc-gain-update-counter_us = <250>;
                adi,rxagc-agc-rx1-attack-delay = <10>;
                adi,rxagc-agc-rx2-attack-delay = <10>;
                adi,rxagc-agc-slow-loop-settling-delay = <16>;
                adi,rxagc-agc-low-thresh-prevent-gain = <0>;
                adi,rxagc-agc-change-gain-if-thresh-high = <1>;
                adi,rxagc-agc-peak-thresh-gain-control-mode = <1>;
                adi,rxagc-agc-reset-on-rxon = <0>;
                adi,rxagc-agc-enable-sync-pulse-for-gain-counter = <0>;
                adi,rxagc-agc-enable-ip3-optimization-thresh = <0>;
                adi,rxagc-ip3-over-range-thresh = <31>;
                adi,rxagc-ip3-over-range-thresh-index = <246>;
                adi,rxagc-ip3-peak-exceeded-cnt = <4>;
                adi,rxagc-agc-enable-fast-recovery-loop = <0>;


                // Misc

                adi,aux-dac-enables = <0x00>; // Mask

                adi,aux-dac-vref0 = <3>;
                adi,aux-dac-resolution0 = <0>;
                adi,aux-dac-values0 = <0>;
                adi,aux-dac-vref1 = <3>;
                adi,aux-dac-resolution1 = <0>;
                adi,aux-dac-values1 = <0>;
                adi,aux-dac-vref2 = <3>;
                adi,aux-dac-resolution2 = <0>;
                adi,aux-dac-values2 = <0>;
                adi,aux-dac-vref3 = <3>;
                adi,aux-dac-resolution3 = <0>;
                adi,aux-dac-values3 = <0>;
                adi,aux-dac-vref4 = <3>;
                adi,aux-dac-resolution4 = <0>;
                adi,aux-dac-values4 = <0>;
                adi,aux-dac-vref5 = <3>;
                adi,aux-dac-resolution5 = <0>;
                adi,aux-dac-values5 = <0>;
                adi,aux-dac-vref6 = <3>;
                adi,aux-dac-resolution6 = <0>;
                adi,aux-dac-values6 = <0>;
                adi,aux-dac-vref7 = <3>;
                adi,aux-dac-resolution7 = <0>;
                adi,aux-dac-values7 = <0>;
                adi,aux-dac-vref8 = <3>;
                adi,aux-dac-resolution8 = <0>;
                adi,aux-dac-values8 = <0>;
                adi,aux-dac-vref9 = <3>;
                adi,aux-dac-resolution9 = <0>;
                adi,aux-dac-values9 = <0>;
                adi,aux-dac-vref10 = <3>;
                adi,aux-dac-resolution10 = <0>;
                adi,aux-dac-values10 = <0>;
                adi,aux-dac-vref11 = <3>;
                adi,aux-dac-resolution11 = <0>;
                adi,aux-dac-values11 = <0>;

                adi,arm-gpio-config-orx1-tx-sel0-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx1-tx-sel0-pin-polarity = <0>;
                adi,arm-gpio-config-orx1-tx-sel0-pin-enable = <0>;

                adi,arm-gpio-config-orx1-tx-sel1-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx1-tx-sel1-pin-polarity = <0>;
                adi,arm-gpio-config-orx1-tx-sel1-pin-enable = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-polarity = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-enable = <0>;

                adi,arm-gpio-config-orx2-tx-sel1-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx2-tx-sel1-pin-polarity = <0>;
                adi,arm-gpio-config-orx2-tx-sel1-pin-enable = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-gpio-pin-sel = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-polarity = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-enable = <0>;

                adi,orx-lo-cfg-disable-aux-pll-relocking = <0>;
                adi,orx-lo-cfg-gpio-select = <19>;

                adi,fhm-config-fhm-gpio-pin = <0>;
                adi,fhm-config-fhm-min-freq_mhz = <2400>;
                adi,fhm-config-fhm-max-freq_mhz = <2500>;

                adi,fhm-mode-fhm-enable = <0>;
                adi,fhm-mode-enable-mcs-sync = <0>;
                adi,fhm-mode-fhm-trigger-mode = <0>;
                adi,fhm-mode-fhm-exit-mode = <1>;
                adi,fhm-mode-fhm-init-frequency_hz = <2450000000>;

                adi,rx1-gain-ctrl-pin-inc-step = <1>;
                adi,rx1-gain-ctrl-pin-dec-step = <1>;
                adi,rx1-gain-ctrl-pin-rx-gain-inc-pin = <0>;
                adi,rx1-gain-ctrl-pin-rx-gain-dec-pin = <1>;
                adi,rx1-gain-ctrl-pin-enable = <0>;

                adi,rx2-gain-ctrl-pin-inc-step = <1>;
                adi,rx2-gain-ctrl-pin-dec-step = <1>;
                adi,rx2-gain-ctrl-pin-rx-gain-inc-pin = <3>;
                adi,rx2-gain-ctrl-pin-rx-gain-dec-pin = <4>;
                adi,rx2-gain-ctrl-pin-enable = <0>;

                adi,tx1-atten-ctrl-pin-step-size = <0>;
                adi,tx1-atten-ctrl-pin-tx-atten-inc-pin = <4>;
                adi,tx1-atten-ctrl-pin-tx-atten-dec-pin = <5>;
                adi,tx1-atten-ctrl-pin-enable = <0>;

                adi,tx2-atten-ctrl-pin-step-size = <0>;
                adi,tx2-atten-ctrl-pin-tx-atten-inc-pin = <6>;
                adi,tx2-atten-ctrl-pin-tx-atten-dec-pin = <7>;
                adi,tx2-atten-ctrl-pin-enable = <0>;

                adi,tx-pa-protection-avg-duration = <3>;
                adi,tx-pa-protection-tx-atten-step = <2>;
                adi,tx-pa-protection-tx1-power-threshold = <4096>;
                adi,tx-pa-protection-tx2-power-threshold = <4096>;
                adi,tx-pa-protection-peak-count = <4>;
                adi,tx-pa-protection-tx1-peak-threshold = <140>;
                adi,tx-pa-protection-tx2-peak-threshold = <140>;
            };

            trx1_adrv9009: adrv9009-phy-b@1 {
                compatible = "adrv9009";
                reg = <1>;

                #address-cells = <1>;
                #size-cells = <0>;

                // SPI Setup
                spi-max-frequency = <25000000>;

                reset-gpios = <&gpio 110 0>;
                sysref-req-gpios = <&gpio 111 0>;

                // Clocks
                clocks = <&axi_adrv9009_rx_jesd_1>, <&axi_adrv9009_tx_jesd_1>,
                    <&axi_adrv9009_rx_os_jesd_1>, <&hmc7044 4>, <&hmc7044 8>, <&hmc7044 5>, <&hmc7044 1>;
                clock-names = "jesd_rx_clk", "jesd_tx_clk", "jesd_rx_os_clk", "dev_clk", "fmc_clk", "sysref_dev_clk", "sysref_fmc_clk";

                clock-output-names = "rx_sampl_clk_1", "rx_os_sampl_clk_1", "tx_sampl_clk_1";
                #clock-cells = <1>;

                // JESD204

                // JESD204 RX
                adi,jesd204-framer-a-bank-id = <1>;
                adi,jesd204-framer-a-device-id = <0>;
                adi,jesd204-framer-a-lane0-id = <0>;
                adi,jesd204-framer-a-m = <4>;
                adi,jesd204-framer-a-k = <32>;
                adi,jesd204-framer-a-f = <4>;
                adi,jesd204-framer-a-np = <16>;
                adi,jesd204-framer-a-scramble = <1>;
                adi,jesd204-framer-a-external-sysref = <1>;
                adi,jesd204-framer-a-serializer-lanes-enabled = <0x03>;
                adi,jesd204-framer-a-serializer-lane-crossbar = <0xE4>;
                adi,jesd204-framer-a-lmfc-offset = <31>;
                adi,jesd204-framer-a-new-sysref-on-relink = <0>;
                adi,jesd204-framer-a-syncb-in-select = <0>;
                adi,jesd204-framer-a-over-sample = <0>;
                adi,jesd204-framer-a-syncb-in-lvds-mode = <1>;
                adi,jesd204-framer-a-syncb-in-lvds-pn-invert = <0>;
                adi,jesd204-framer-a-enable-manual-lane-xbar = <0>;

                // JESD204 OBS
                adi,jesd204-framer-b-bank-id = <0>;
                adi,jesd204-framer-b-device-id = <0>;
                adi,jesd204-framer-b-lane0-id = <0>;
                adi,jesd204-framer-b-m = <4>;
                adi,jesd204-framer-b-k = <32>;
                adi,jesd204-framer-b-f = <4>;
                adi,jesd204-framer-b-np = <16>;
                adi,jesd204-framer-b-scramble = <1>;
                adi,jesd204-framer-b-external-sysref = <1>;
                adi,jesd204-framer-b-serializer-lanes-enabled = <0x0C>;
                adi,jesd204-framer-b-serializer-lane-crossbar = <0xE4>;
                adi,jesd204-framer-b-lmfc-offset = <31>;
                adi,jesd204-framer-b-new-sysref-on-relink = <0>;
                adi,jesd204-framer-b-syncb-in-select = <1>;
                adi,jesd204-framer-b-over-sample = <0>;
                adi,jesd204-framer-b-syncb-in-lvds-mode = <1>;
                adi,jesd204-framer-b-syncb-in-lvds-pn-invert = <0>;
                adi,jesd204-framer-b-enable-manual-lane-xbar = <0>;

                // JESD204 TX
                adi,jesd204-deframer-a-bank-id = <0>;
                adi,jesd204-deframer-a-device-id = <0>;
                adi,jesd204-deframer-a-lane0-id = <0>;
                adi,jesd204-deframer-a-m = <4>;
                adi,jesd204-deframer-a-k = <32>;
                adi,jesd204-deframer-a-scramble = <1>;
                adi,jesd204-deframer-a-external-sysref = <1>;
                adi,jesd204-deframer-a-deserializer-lanes-enabled = <0x0F>;
                adi,jesd204-deframer-a-deserializer-lane-crossbar = <0xE4>;
                adi,jesd204-deframer-a-lmfc-offset = <17>;
                adi,jesd204-deframer-a-new-sysref-on-relink = <0>;
                adi,jesd204-deframer-a-syncb-out-select = <0>;
                adi,jesd204-deframer-a-np = <16>;
                adi,jesd204-deframer-a-syncb-out-lvds-mode = <1>;
                adi,jesd204-deframer-a-syncb-out-lvds-pn-invert = <0>;
                adi,jesd204-deframer-a-syncb-out-cmos-slew-rate = <0>;
                adi,jesd204-deframer-a-syncb-out-cmos-drive-level = <0>;
                adi,jesd204-deframer-a-enable-manual-lane-xbar = <0>;

                adi,jesd204-ser-amplitude = <15>;
                adi,jesd204-ser-pre-emphasis = <1>;
                adi,jesd204-ser-invert-lane-polarity = <0>;
                adi,jesd204-des-invert-lane-polarity = <0>;
                adi,jesd204-des-eq-setting = <1>;
                adi,jesd204-sysref-lvds-mode = <1>;
                adi,jesd204-sysref-lvds-pn-invert = <0>;

                // RX

                adi,rx-profile-rx-fir-gain_db = <(-6)>;
                adi,rx-profile-rx-fir-num-fir-coefs = <48>;
                // 245M76Hz adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-2) (23) (46) (-17) (-104) (10) (208) (23) (-370) (-97) (607) (240) (-942) (-489) (1407) (910) (-2065) (-1637) (3058) (2995) (-4912) (-6526) (9941) (30489) (30489) (9941) (-6526) (-4912) (2995) (3058) (-1637) (-2065) (910) (1407) (-489) (-942) (240) (607) (-97) (-370) (23) (208) (10) (-104) (-17) (46) (23) (-2)>;
                adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-6) (-22) (31) (48) (-68) (-107) (141) (201) (-254) (-351) (431) (576) (-691) (-910) (1075) (1410) (-1649) (-2205) (2562) (3613) (-4348) (-7172) (9326) (31134) (31134) (9326) (-7172) (-4348) (3613) (2562) (-2205) (-1649) (1410) (1075) (-910) (-691) (576) (431) (-351) (-254) (201) (141) (-107) (-68) (48) (31) (-22) (-6)>;

                adi,rx-profile-rx-fir-decimation = <2>;
                adi,rx-profile-rx-dec5-decimation = <4>;
                adi,rx-profile-rhb1-decimation = <1>;
                // 245M76Hz adi,rx-profile-rx-output-rate_khz = <245760>;
                adi,rx-profile-rx-output-rate_khz = <208000>;
                // 245M76Hz adi,rx-profile-rf-bandwidth_hz = <200000000>;
                adi,rx-profile-rf-bandwidth_hz = <169000000>;
                // 245M76Hz adi,rx-profile-rx-bbf3d-bcorner_khz = <200000>;
                adi,rx-profile-rx-bbf3d-bcorner_khz = <169000>;
                // 245M76Hz adi,rx-profile-rx-adc-profile = /bits/ 16 <182 142 173 90 1280 982 1335 96 1369 48 1012 18 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,rx-profile-rx-adc-profile = /bits/ 16 <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,rx-profile-rx-ddc-mode = <0>;

                adi,rx-nco-shifter-band-a-input-band-width_khz = <0>;
                adi,rx-nco-shifter-band-a-input-center-freq_khz = <0>;
                adi,rx-nco-shifter-band-a-nco1-freq_khz = <0>;
                adi,rx-nco-shifter-band-a-nco2-freq_khz = <0>;
                adi,rx-nco-shifter-band-binput-band-width_khz = <0>;
                adi,rx-nco-shifter-band-binput-center-freq_khz = <0>;
                adi,rx-nco-shifter-band-bnco1-freq_khz = <0>;
                adi,rx-nco-shifter-band-bnco2-freq_khz = <0>;

                adi,rx-gain-control-gain-mode = <0>;
                adi,rx-gain-control-rx1-gain-index = <255>;
                adi,rx-gain-control-rx2-gain-index = <255>;
                adi,rx-gain-control-rx1-max-gain-index = <255>;
                adi,rx-gain-control-rx1-min-gain-index = <195>;
                adi,rx-gain-control-rx2-max-gain-index = <255>;
                adi,rx-gain-control-rx2-min-gain-index = <195>;

                adi,rx-settings-framer-sel = <0>;
                adi,rx-settings-rx-channels = <3>;

                // ORX

                // 245M76Hz adi,orx-profile-rx-fir-gain_db = <6>;
                adi,orx-profile-rx-fir-gain_db = <(-6)>;
                // 245M76Hz adi,orx-profile-rx-fir-num-fir-coefs = <24>;
                adi,orx-profile-rx-fir-num-fir-coefs = <48>;
                // 245M76Hz adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-10) (7) (-10) (-12) (6) (-12) (16) (-16) (1) (63) (-431) (17235) (-431) (63) (1) (-16) (16) (-12) (6) (-12) (-10) (7) (-10) (0)>;
                adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-7) (-19) (29) (44) (-64) (-98) (118) (152) (-265) (-315) (425) (523) (-672) (-830) (1037) (1289) (-1588) (-2018) (2477) (3327) (-4207) (-6558) (9518) (30464) (30464) (9518) (-6558) (-4207) (3327) (2477) (-2018) (-1588) (1289) (1037) (-830) (-672) (523) (425) (-315) (-265) (152) (118) (-98) (-64) (44) (29) (-19) (-7)>;
                // 245M76Hz adi,orx-profile-rx-fir-decimation = <1>;
                adi,orx-profile-rx-fir-decimation = <2>;
                adi,orx-profile-rx-dec5-decimation = <4>;
                // 245M76Hz adi,orx-profile-rhb1-decimation = <2>;
                adi,orx-profile-rhb1-decimation = <1>;
                // 245M76Hz adi,orx-profile-orx-output-rate_khz = <245760>;
                adi,orx-profile-orx-output-rate_khz = <208000>;
                // 245M76Hz adi,orx-profile-rf-bandwidth_hz = <200000000>;
                adi,orx-profile-rf-bandwidth_hz = <169000000>;
                adi,orx-profile-rx-bbf3d-bcorner_khz = <225000>;
                // 245M76Hz adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <185 141 172 90 1280 942 1332 90 1368 46 1016 19 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                // 245M76Hz adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
                adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,orx-profile-orx-ddc-mode = <0>;
                adi,orx-profile-orx-merge-filter = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0>;

                adi,orx-gain-control-gain-mode = <0>;
                adi,orx-gain-control-orx1-gain-index = <255>;
                adi,orx-gain-control-orx2-gain-index = <255>;
                adi,orx-gain-control-orx1-max-gain-index = <255>;
                adi,orx-gain-control-orx1-min-gain-index = <195>;
                adi,orx-gain-control-orx2-max-gain-index = <255>;
                adi,orx-gain-control-orx2-min-gain-index = <195>;

                adi,obs-settings-framer-sel = <1>;
                adi,obs-settings-obs-rx-channels-enable = <3>;
                adi,obs-settings-obs-rx-lo-source = <0>;

                // TX

                // 245M76Hz adi,tx-profile-tx-fir-gain_db = <6>;
                adi,tx-profile-tx-fir-gain_db = <0>;
                // 245M76Hz adi,tx-profile-tx-fir-num-fir-coefs = <40>;
                adi,tx-profile-tx-fir-num-fir-coefs = <20>;
                // 245M76Hz adi,tx-profile-tx-fir-coefs = /bits/ 16  <(-14) (5) (-9) (6) (-4) (19) (-29) (27) (-30) (46) (-63) (77) (-103) (150) (-218) (337) (-599) (1266) (-2718) (19537) (-2718) (1266) (-599) (337) (-218) (150) (-103) (77) (-63) (46) (-30) (27) (-29) (19) (-4) (6) (-9) (5) (-14) (0)>;
                adi,tx-profile-tx-fir-coefs = /bits/ 16  <(31) (-73) (118) (-151) (164) (-108) (-147) (1002) (-2864) (19887) (-2864) (1002) (-147) (-108) (164) (-151) (118) (-73) (31) (0)>;

                adi,tx-profile-dac-div = <1>;

                adi,tx-profile-tx-fir-interpolation = <1>;
                adi,tx-profile-thb1-interpolation = <2>;
                adi,tx-profile-thb2-interpolation = <2>;
                adi,tx-profile-thb3-interpolation = <2>;
                adi,tx-profile-tx-int5-interpolation = <1>;
                // 245M76Hz adi,tx-profile-tx-input-rate_khz = <245760>;
                adi,tx-profile-tx-input-rate_khz = <208000>;
                // 245M76Hz adi,tx-profile-primary-sig-bandwidth_hz = <100000000>;
                adi,tx-profile-primary-sig-bandwidth_hz = <63000000>;
                // 245M76Hz adi,tx-profile-rf-bandwidth_hz = <225000000>;
                adi,tx-profile-rf-bandwidth_hz = <169000000>;
                // 245M76Hz adi,tx-profile-tx-dac3d-bcorner_khz = <225000>;
                adi,tx-profile-tx-dac3d-bcorner_khz = <187000>;
                // 245M76Hz adi,tx-profile-tx-bbf3d-bcorner_khz = <113000>;
                adi,tx-profile-tx-bbf3d-bcorner_khz = <84500>;
                adi,tx-profile-loop-back-adc-profile = /bits/ 16 <206 132 168 90 1280 641 1307 53 1359 28 1039 30 48 48 37 210 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;

                adi,tx-settings-deframer-sel = <0>;
                adi,tx-settings-tx-channels = <3>;
                adi,tx-settings-tx-atten-step-size = <0>;
                adi,tx-settings-tx1-atten_md-b = <10000>;
                adi,tx-settings-tx2-atten_md-b = <10000>;
                adi,tx-settings-dis-tx-data-if-pll-unlock = <0>;

                // Clocks

                // 245M76Hz adi,dig-clocks-device-clock_khz = <245760>;
                adi,dig-clocks-device-clock_khz = <208000>;
                // 245M76Hz adi,dig-clocks-clk-pll-vco-freq_khz = <9830400>;
                adi,dig-clocks-clk-pll-vco-freq_khz = <8320000>;
                adi,dig-clocks-clk-pll-hs-div = <1>;
                adi,dig-clocks-rf-pll-use-external-lo = <0>;
                adi,dig-clocks-rf-pll-phase-sync-mode = <0>;

                // AGC

                adi,rxagc-peak-agc-under-range-low-interval_ns = <205>;
                adi,rxagc-peak-agc-under-range-mid-interval = <2>;
                adi,rxagc-peak-agc-under-range-high-interval = <4>;
                adi,rxagc-peak-apd-high-thresh = <39>;
                adi,rxagc-peak-apd-low-gain-mode-high-thresh = <36>;
                adi,rxagc-peak-apd-low-thresh = <23>;
                adi,rxagc-peak-apd-low-gain-mode-low-thresh = <19>;
                adi,rxagc-peak-apd-upper-thresh-peak-exceeded-cnt = <6>;
                adi,rxagc-peak-apd-lower-thresh-peak-exceeded-cnt = <3>;
                adi,rxagc-peak-apd-gain-step-attack = <4>;
                adi,rxagc-peak-apd-gain-step-recovery = <2>;
                adi,rxagc-peak-enable-hb2-overload = <1>;
                adi,rxagc-peak-hb2-overload-duration-cnt = <1>;
                adi,rxagc-peak-hb2-overload-thresh-cnt = <4>;
                adi,rxagc-peak-hb2-high-thresh = <181>;
                adi,rxagc-peak-hb2-under-range-low-thresh = <45>;
                adi,rxagc-peak-hb2-under-range-mid-thresh = <90>;
                adi,rxagc-peak-hb2-under-range-high-thresh = <128>;
                adi,rxagc-peak-hb2-upper-thresh-peak-exceeded-cnt = <6>;
                adi,rxagc-peak-hb2-lower-thresh-peak-exceeded-cnt = <3>;
                adi,rxagc-peak-hb2-gain-step-high-recovery = <2>;
                adi,rxagc-peak-hb2-gain-step-low-recovery = <4>;
                adi,rxagc-peak-hb2-gain-step-mid-recovery = <8>;
                adi,rxagc-peak-hb2-gain-step-attack = <4>;
                adi,rxagc-peak-hb2-overload-power-mode = <1>;
                adi,rxagc-peak-hb2-ovrg-sel = <0>;
                adi,rxagc-peak-hb2-thresh-config = <3>;

                adi,rxagc-power-power-enable-measurement = <1>;
                adi,rxagc-power-power-use-rfir-out = <1>;
                adi,rxagc-power-power-use-bbdc2 = <0>;
                adi,rxagc-power-under-range-high-power-thresh = <9>;
                adi,rxagc-power-under-range-low-power-thresh = <2>;
                adi,rxagc-power-under-range-high-power-gain-step-recovery = <4>;
                adi,rxagc-power-under-range-low-power-gain-step-recovery = <4>;
                adi,rxagc-power-power-measurement-duration = <5>;
                adi,rxagc-power-rx1-tdd-power-meas-duration = <5>;
                adi,rxagc-power-rx1-tdd-power-meas-delay = <1>;
                adi,rxagc-power-rx2-tdd-power-meas-duration = <5>;
                adi,rxagc-power-rx2-tdd-power-meas-delay = <1>;
                adi,rxagc-power-upper0-power-thresh = <2>;
                adi,rxagc-power-upper1-power-thresh = <0>;
                adi,rxagc-power-power-log-shift = <0>;

                adi,rxagc-agc-peak-wait-time = <4>;
                adi,rxagc-agc-rx1-max-gain-index = <255>;
                adi,rxagc-agc-rx1-min-gain-index = <195>;
                adi,rxagc-agc-rx2-max-gain-index = <255>;
                adi,rxagc-agc-rx2-min-gain-index = <195>;
                adi,rxagc-agc-gain-update-counter_us = <250>;
                adi,rxagc-agc-rx1-attack-delay = <10>;
                adi,rxagc-agc-rx2-attack-delay = <10>;
                adi,rxagc-agc-slow-loop-settling-delay = <16>;
                adi,rxagc-agc-low-thresh-prevent-gain = <0>;
                adi,rxagc-agc-change-gain-if-thresh-high = <1>;
                adi,rxagc-agc-peak-thresh-gain-control-mode = <1>;
                adi,rxagc-agc-reset-on-rxon = <0>;
                adi,rxagc-agc-enable-sync-pulse-for-gain-counter = <0>;
                adi,rxagc-agc-enable-ip3-optimization-thresh = <0>;
                adi,rxagc-ip3-over-range-thresh = <31>;
                adi,rxagc-ip3-over-range-thresh-index = <246>;
                adi,rxagc-ip3-peak-exceeded-cnt = <4>;
                adi,rxagc-agc-enable-fast-recovery-loop = <0>;


                // Misc

                adi,aux-dac-enables = <0x00>; // Mask

                adi,aux-dac-vref0 = <3>;
                adi,aux-dac-resolution0 = <0>;
                adi,aux-dac-values0 = <0>;
                adi,aux-dac-vref1 = <3>;
                adi,aux-dac-resolution1 = <0>;
                adi,aux-dac-values1 = <0>;
                adi,aux-dac-vref2 = <3>;
                adi,aux-dac-resolution2 = <0>;
                adi,aux-dac-values2 = <0>;
                adi,aux-dac-vref3 = <3>;
                adi,aux-dac-resolution3 = <0>;
                adi,aux-dac-values3 = <0>;
                adi,aux-dac-vref4 = <3>;
                adi,aux-dac-resolution4 = <0>;
                adi,aux-dac-values4 = <0>;
                adi,aux-dac-vref5 = <3>;
                adi,aux-dac-resolution5 = <0>;
                adi,aux-dac-values5 = <0>;
                adi,aux-dac-vref6 = <3>;
                adi,aux-dac-resolution6 = <0>;
                adi,aux-dac-values6 = <0>;
                adi,aux-dac-vref7 = <3>;
                adi,aux-dac-resolution7 = <0>;
                adi,aux-dac-values7 = <0>;
                adi,aux-dac-vref8 = <3>;
                adi,aux-dac-resolution8 = <0>;
                adi,aux-dac-values8 = <0>;
                adi,aux-dac-vref9 = <3>;
                adi,aux-dac-resolution9 = <0>;
                adi,aux-dac-values9 = <0>;
                adi,aux-dac-vref10 = <3>;
                adi,aux-dac-resolution10 = <0>;
                adi,aux-dac-values10 = <0>;
                adi,aux-dac-vref11 = <3>;
                adi,aux-dac-resolution11 = <0>;
                adi,aux-dac-values11 = <0>;

                adi,arm-gpio-config-orx1-tx-sel0-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx1-tx-sel0-pin-polarity = <0>;
                adi,arm-gpio-config-orx1-tx-sel0-pin-enable = <0>;

                adi,arm-gpio-config-orx1-tx-sel1-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx1-tx-sel1-pin-polarity = <0>;
                adi,arm-gpio-config-orx1-tx-sel1-pin-enable = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-polarity = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-enable = <0>;

                adi,arm-gpio-config-orx2-tx-sel1-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx2-tx-sel1-pin-polarity = <0>;
                adi,arm-gpio-config-orx2-tx-sel1-pin-enable = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-gpio-pin-sel = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-polarity = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-enable = <0>;

                adi,orx-lo-cfg-disable-aux-pll-relocking = <0>;
                adi,orx-lo-cfg-gpio-select = <19>;

                adi,fhm-config-fhm-gpio-pin = <0>;
                adi,fhm-config-fhm-min-freq_mhz = <2400>;
                adi,fhm-config-fhm-max-freq_mhz = <2500>;

                adi,fhm-mode-fhm-enable = <0>;
                adi,fhm-mode-enable-mcs-sync = <0>;
                adi,fhm-mode-fhm-trigger-mode = <0>;
                adi,fhm-mode-fhm-exit-mode = <1>;
                adi,fhm-mode-fhm-init-frequency_hz = <2450000000>;

                adi,rx1-gain-ctrl-pin-inc-step = <1>;
                adi,rx1-gain-ctrl-pin-dec-step = <1>;
                adi,rx1-gain-ctrl-pin-rx-gain-inc-pin = <0>;
                adi,rx1-gain-ctrl-pin-rx-gain-dec-pin = <1>;
                adi,rx1-gain-ctrl-pin-enable = <0>;

                adi,rx2-gain-ctrl-pin-inc-step = <1>;
                adi,rx2-gain-ctrl-pin-dec-step = <1>;
                adi,rx2-gain-ctrl-pin-rx-gain-inc-pin = <3>;
                adi,rx2-gain-ctrl-pin-rx-gain-dec-pin = <4>;
                adi,rx2-gain-ctrl-pin-enable = <0>;

                adi,tx1-atten-ctrl-pin-step-size = <0>;
                adi,tx1-atten-ctrl-pin-tx-atten-inc-pin = <4>;
                adi,tx1-atten-ctrl-pin-tx-atten-dec-pin = <5>;
                adi,tx1-atten-ctrl-pin-enable = <0>;

                adi,tx2-atten-ctrl-pin-step-size = <0>;
                adi,tx2-atten-ctrl-pin-tx-atten-inc-pin = <6>;
                adi,tx2-atten-ctrl-pin-tx-atten-dec-pin = <7>;
                adi,tx2-atten-ctrl-pin-enable = <0>;

                adi,tx-pa-protection-avg-duration = <3>;
                adi,tx-pa-protection-tx-atten-step = <2>;
                adi,tx-pa-protection-tx1-power-threshold = <4096>;
                adi,tx-pa-protection-tx2-power-threshold = <4096>;
                adi,tx-pa-protection-peak-count = <4>;
                adi,tx-pa-protection-tx1-peak-threshold = <140>;
                adi,tx-pa-protection-tx2-peak-threshold = <140>;
            };

            trx2_adrv9009: adrv9009-phy-c@2 {
                compatible = "adrv9009";
                reg = <2>;

                #address-cells = <1>;
                #size-cells = <0>;

                // SPI Setup
                spi-max-frequency = <25000000>;

                reset-gpios = <&gpio 110 0>;
                sysref-req-gpios = <&gpio 111 0>;

                // Clocks
                clocks = <&axi_adrv9009_rx_jesd_2>, <&axi_adrv9009_tx_jesd_2>,
                    <&axi_adrv9009_rx_os_jesd_2>, <&hmc7044 2>, <&hmc7044 10>, <&hmc7044 3>, <&hmc7044 1>;
                clock-names = "jesd_rx_clk", "jesd_tx_clk", "jesd_rx_os_clk", "dev_clk", "fmc_clk", "sysref_dev_clk", "sysref_fmc_clk";

                clock-output-names = "rx_sampl_clk_2", "rx_os_sampl_clk_2", "tx_sampl_clk_2";
                #clock-cells = <1>;

                // JESD204

                // JESD204 RX
                adi,jesd204-framer-a-bank-id = <1>;
                adi,jesd204-framer-a-device-id = <0>;
                adi,jesd204-framer-a-lane0-id = <0>;
                adi,jesd204-framer-a-m = <4>;
                adi,jesd204-framer-a-k = <32>;
                adi,jesd204-framer-a-f = <4>;
                adi,jesd204-framer-a-np = <16>;
                adi,jesd204-framer-a-scramble = <1>;
                adi,jesd204-framer-a-external-sysref = <1>;
                adi,jesd204-framer-a-serializer-lanes-enabled = <0x03>;
                adi,jesd204-framer-a-serializer-lane-crossbar = <0xE4>;
                adi,jesd204-framer-a-lmfc-offset = <31>;
                adi,jesd204-framer-a-new-sysref-on-relink = <0>;
                adi,jesd204-framer-a-syncb-in-select = <0>;
                adi,jesd204-framer-a-over-sample = <0>;
                adi,jesd204-framer-a-syncb-in-lvds-mode = <1>;
                adi,jesd204-framer-a-syncb-in-lvds-pn-invert = <0>;
                adi,jesd204-framer-a-enable-manual-lane-xbar = <0>;

                // JESD204 OBS
                adi,jesd204-framer-b-bank-id = <0>;
                adi,jesd204-framer-b-device-id = <0>;
                adi,jesd204-framer-b-lane0-id = <0>;
                adi,jesd204-framer-b-m = <4>;
                adi,jesd204-framer-b-k = <32>;
                adi,jesd204-framer-b-f = <4>;
                adi,jesd204-framer-b-np = <16>;
                adi,jesd204-framer-b-scramble = <1>;
                adi,jesd204-framer-b-external-sysref = <1>;
                adi,jesd204-framer-b-serializer-lanes-enabled = <0x0C>;
                adi,jesd204-framer-b-serializer-lane-crossbar = <0xE4>;
                adi,jesd204-framer-b-lmfc-offset = <31>;
                adi,jesd204-framer-b-new-sysref-on-relink = <0>;
                adi,jesd204-framer-b-syncb-in-select = <1>;
                adi,jesd204-framer-b-over-sample = <0>;
                adi,jesd204-framer-b-syncb-in-lvds-mode = <1>;
                adi,jesd204-framer-b-syncb-in-lvds-pn-invert = <0>;
                adi,jesd204-framer-b-enable-manual-lane-xbar = <0>;

                // JESD204 TX
                adi,jesd204-deframer-a-bank-id = <0>;
                adi,jesd204-deframer-a-device-id = <0>;
                adi,jesd204-deframer-a-lane0-id = <0>;
                adi,jesd204-deframer-a-m = <4>;
                adi,jesd204-deframer-a-k = <32>;
                adi,jesd204-deframer-a-scramble = <1>;
                adi,jesd204-deframer-a-external-sysref = <1>;
                adi,jesd204-deframer-a-deserializer-lanes-enabled = <0x0F>;
                adi,jesd204-deframer-a-deserializer-lane-crossbar = <0xE4>;
                adi,jesd204-deframer-a-lmfc-offset = <17>;
                adi,jesd204-deframer-a-new-sysref-on-relink = <0>;
                adi,jesd204-deframer-a-syncb-out-select = <0>;
                adi,jesd204-deframer-a-np = <16>;
                adi,jesd204-deframer-a-syncb-out-lvds-mode = <1>;
                adi,jesd204-deframer-a-syncb-out-lvds-pn-invert = <0>;
                adi,jesd204-deframer-a-syncb-out-cmos-slew-rate = <0>;
                adi,jesd204-deframer-a-syncb-out-cmos-drive-level = <0>;
                adi,jesd204-deframer-a-enable-manual-lane-xbar = <0>;

                adi,jesd204-ser-amplitude = <15>;
                adi,jesd204-ser-pre-emphasis = <1>;
                adi,jesd204-ser-invert-lane-polarity = <0>;
                adi,jesd204-des-invert-lane-polarity = <0>;
                adi,jesd204-des-eq-setting = <1>;
                adi,jesd204-sysref-lvds-mode = <1>;
                adi,jesd204-sysref-lvds-pn-invert = <0>;

                // RX

                adi,rx-profile-rx-fir-gain_db = <(-6)>;
                adi,rx-profile-rx-fir-num-fir-coefs = <48>;
                // 245M76Hz adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-2) (23) (46) (-17) (-104) (10) (208) (23) (-370) (-97) (607) (240) (-942) (-489) (1407) (910) (-2065) (-1637) (3058) (2995) (-4912) (-6526) (9941) (30489) (30489) (9941) (-6526) (-4912) (2995) (3058) (-1637) (-2065) (910) (1407) (-489) (-942) (240) (607) (-97) (-370) (23) (208) (10) (-104) (-17) (46) (23) (-2)>;
                adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-6) (-22) (31) (48) (-68) (-107) (141) (201) (-254) (-351) (431) (576) (-691) (-910) (1075) (1410) (-1649) (-2205) (2562) (3613) (-4348) (-7172) (9326) (31134) (31134) (9326) (-7172) (-4348) (3613) (2562) (-2205) (-1649) (1410) (1075) (-910) (-691) (576) (431) (-351) (-254) (201) (141) (-107) (-68) (48) (31) (-22) (-6)>;

                adi,rx-profile-rx-fir-decimation = <2>;
                adi,rx-profile-rx-dec5-decimation = <4>;
                adi,rx-profile-rhb1-decimation = <1>;
                // 245M76Hz adi,rx-profile-rx-output-rate_khz = <245760>;
                adi,rx-profile-rx-output-rate_khz = <208000>;
                // 245M76Hz adi,rx-profile-rf-bandwidth_hz = <200000000>;
                adi,rx-profile-rf-bandwidth_hz = <169000000>;
                // 245M76Hz adi,rx-profile-rx-bbf3d-bcorner_khz = <200000>;
                adi,rx-profile-rx-bbf3d-bcorner_khz = <169000>;
                // 245M76Hz adi,rx-profile-rx-adc-profile = /bits/ 16 <182 142 173 90 1280 982 1335 96 1369 48 1012 18 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,rx-profile-rx-adc-profile = /bits/ 16 <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,rx-profile-rx-ddc-mode = <0>;

                adi,rx-nco-shifter-band-a-input-band-width_khz = <0>;
                adi,rx-nco-shifter-band-a-input-center-freq_khz = <0>;
                adi,rx-nco-shifter-band-a-nco1-freq_khz = <0>;
                adi,rx-nco-shifter-band-a-nco2-freq_khz = <0>;
                adi,rx-nco-shifter-band-binput-band-width_khz = <0>;
                adi,rx-nco-shifter-band-binput-center-freq_khz = <0>;
                adi,rx-nco-shifter-band-bnco1-freq_khz = <0>;
                adi,rx-nco-shifter-band-bnco2-freq_khz = <0>;

                adi,rx-gain-control-gain-mode = <0>;
                adi,rx-gain-control-rx1-gain-index = <255>;
                adi,rx-gain-control-rx2-gain-index = <255>;
                adi,rx-gain-control-rx1-max-gain-index = <255>;
                adi,rx-gain-control-rx1-min-gain-index = <195>;
                adi,rx-gain-control-rx2-max-gain-index = <255>;
                adi,rx-gain-control-rx2-min-gain-index = <195>;

                adi,rx-settings-framer-sel = <0>;
                adi,rx-settings-rx-channels = <3>;

                // ORX

                // 245M76Hz adi,orx-profile-rx-fir-gain_db = <6>;
                adi,orx-profile-rx-fir-gain_db = <(-6)>;
                // 245M76Hz adi,orx-profile-rx-fir-num-fir-coefs = <24>;
                adi,orx-profile-rx-fir-num-fir-coefs = <48>;
                // 245M76Hz adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-10) (7) (-10) (-12) (6) (-12) (16) (-16) (1) (63) (-431) (17235) (-431) (63) (1) (-16) (16) (-12) (6) (-12) (-10) (7) (-10) (0)>;
                adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-7) (-19) (29) (44) (-64) (-98) (118) (152) (-265) (-315) (425) (523) (-672) (-830) (1037) (1289) (-1588) (-2018) (2477) (3327) (-4207) (-6558) (9518) (30464) (30464) (9518) (-6558) (-4207) (3327) (2477) (-2018) (-1588) (1289) (1037) (-830) (-672) (523) (425) (-315) (-265) (152) (118) (-98) (-64) (44) (29) (-19) (-7)>;
                // 245M76Hz adi,orx-profile-rx-fir-decimation = <1>;
                adi,orx-profile-rx-fir-decimation = <2>;
                adi,orx-profile-rx-dec5-decimation = <4>;
                // 245M76Hz adi,orx-profile-rhb1-decimation = <2>;
                adi,orx-profile-rhb1-decimation = <1>;
                // 245M76Hz adi,orx-profile-orx-output-rate_khz = <245760>;
                adi,orx-profile-orx-output-rate_khz = <208000>;
                // 245M76Hz adi,orx-profile-rf-bandwidth_hz = <200000000>;
                adi,orx-profile-rf-bandwidth_hz = <169000000>;
                adi,orx-profile-rx-bbf3d-bcorner_khz = <225000>;
                // 245M76Hz adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <185 141 172 90 1280 942 1332 90 1368 46 1016 19 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                // 245M76Hz adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
                adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                adi,orx-profile-orx-ddc-mode = <0>;
                adi,orx-profile-orx-merge-filter = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0>;

                adi,orx-gain-control-gain-mode = <0>;
                adi,orx-gain-control-orx1-gain-index = <255>;
                adi,orx-gain-control-orx2-gain-index = <255>;
                adi,orx-gain-control-orx1-max-gain-index = <255>;
                adi,orx-gain-control-orx1-min-gain-index = <195>;
                adi,orx-gain-control-orx2-max-gain-index = <255>;
                adi,orx-gain-control-orx2-min-gain-index = <195>;

                adi,obs-settings-framer-sel = <1>;
                adi,obs-settings-obs-rx-channels-enable = <3>;
                adi,obs-settings-obs-rx-lo-source = <0>;

                // TX

                // 245M76Hz adi,tx-profile-tx-fir-gain_db = <6>;
                adi,tx-profile-tx-fir-gain_db = <0>;
                // 245M76Hz adi,tx-profile-tx-fir-num-fir-coefs = <40>;
                adi,tx-profile-tx-fir-num-fir-coefs = <20>;
                // 245M76Hz adi,tx-profile-tx-fir-coefs = /bits/ 16  <(-14) (5) (-9) (6) (-4) (19) (-29) (27) (-30) (46) (-63) (77) (-103) (150) (-218) (337) (-599) (1266) (-2718) (19537) (-2718) (1266) (-599) (337) (-218) (150) (-103) (77) (-63) (46) (-30) (27) (-29) (19) (-4) (6) (-9) (5) (-14) (0)>;
                adi,tx-profile-tx-fir-coefs = /bits/ 16  <(31) (-73) (118) (-151) (164) (-108) (-147) (1002) (-2864) (19887) (-2864) (1002) (-147) (-108) (164) (-151) (118) (-73) (31) (0)>;

                adi,tx-profile-dac-div = <1>;

                adi,tx-profile-tx-fir-interpolation = <1>;
                adi,tx-profile-thb1-interpolation = <2>;
                adi,tx-profile-thb2-interpolation = <2>;
                adi,tx-profile-thb3-interpolation = <2>;
                adi,tx-profile-tx-int5-interpolation = <1>;
                // 245M76Hz adi,tx-profile-tx-input-rate_khz = <245760>;
                adi,tx-profile-tx-input-rate_khz = <208000>;
                // 245M76Hz adi,tx-profile-primary-sig-bandwidth_hz = <100000000>;
                adi,tx-profile-primary-sig-bandwidth_hz = <63000000>;
                // 245M76Hz adi,tx-profile-rf-bandwidth_hz = <225000000>;
                adi,tx-profile-rf-bandwidth_hz = <169000000>;
                // 245M76Hz adi,tx-profile-tx-dac3d-bcorner_khz = <225000>;
                adi,tx-profile-tx-dac3d-bcorner_khz = <187000>;
                // 245M76Hz adi,tx-profile-tx-bbf3d-bcorner_khz = <113000>;
                adi,tx-profile-tx-bbf3d-bcorner_khz = <84500>;
                adi,tx-profile-loop-back-adc-profile = /bits/ 16 <206 132 168 90 1280 641 1307 53 1359 28 1039 30 48 48 37 210 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;

                adi,tx-settings-deframer-sel = <0>;
                adi,tx-settings-tx-channels = <3>;
                adi,tx-settings-tx-atten-step-size = <0>;
                adi,tx-settings-tx1-atten_md-b = <10000>;
                adi,tx-settings-tx2-atten_md-b = <10000>;
                adi,tx-settings-dis-tx-data-if-pll-unlock = <0>;

                // Clocks

                // 245M76Hz adi,dig-clocks-device-clock_khz = <245760>;
                adi,dig-clocks-device-clock_khz = <208000>;
                // 245M76Hz adi,dig-clocks-clk-pll-vco-freq_khz = <9830400>;
                adi,dig-clocks-clk-pll-vco-freq_khz = <8320000>;
                adi,dig-clocks-clk-pll-hs-div = <1>;
                adi,dig-clocks-rf-pll-use-external-lo = <0>;
                adi,dig-clocks-rf-pll-phase-sync-mode = <0>;

                // AGC

                adi,rxagc-peak-agc-under-range-low-interval_ns = <205>;
                adi,rxagc-peak-agc-under-range-mid-interval = <2>;
                adi,rxagc-peak-agc-under-range-high-interval = <4>;
                adi,rxagc-peak-apd-high-thresh = <39>;
                adi,rxagc-peak-apd-low-gain-mode-high-thresh = <36>;
                adi,rxagc-peak-apd-low-thresh = <23>;
                adi,rxagc-peak-apd-low-gain-mode-low-thresh = <19>;
                adi,rxagc-peak-apd-upper-thresh-peak-exceeded-cnt = <6>;
                adi,rxagc-peak-apd-lower-thresh-peak-exceeded-cnt = <3>;
                adi,rxagc-peak-apd-gain-step-attack = <4>;
                adi,rxagc-peak-apd-gain-step-recovery = <2>;
                adi,rxagc-peak-enable-hb2-overload = <1>;
                adi,rxagc-peak-hb2-overload-duration-cnt = <1>;
                adi,rxagc-peak-hb2-overload-thresh-cnt = <4>;
                adi,rxagc-peak-hb2-high-thresh = <181>;
                adi,rxagc-peak-hb2-under-range-low-thresh = <45>;
                adi,rxagc-peak-hb2-under-range-mid-thresh = <90>;
                adi,rxagc-peak-hb2-under-range-high-thresh = <128>;
                adi,rxagc-peak-hb2-upper-thresh-peak-exceeded-cnt = <6>;
                adi,rxagc-peak-hb2-lower-thresh-peak-exceeded-cnt = <3>;
                adi,rxagc-peak-hb2-gain-step-high-recovery = <2>;
                adi,rxagc-peak-hb2-gain-step-low-recovery = <4>;
                adi,rxagc-peak-hb2-gain-step-mid-recovery = <8>;
                adi,rxagc-peak-hb2-gain-step-attack = <4>;
                adi,rxagc-peak-hb2-overload-power-mode = <1>;
                adi,rxagc-peak-hb2-ovrg-sel = <0>;
                adi,rxagc-peak-hb2-thresh-config = <3>;

                adi,rxagc-power-power-enable-measurement = <1>;
                adi,rxagc-power-power-use-rfir-out = <1>;
                adi,rxagc-power-power-use-bbdc2 = <0>;
                adi,rxagc-power-under-range-high-power-thresh = <9>;
                adi,rxagc-power-under-range-low-power-thresh = <2>;
                adi,rxagc-power-under-range-high-power-gain-step-recovery = <4>;
                adi,rxagc-power-under-range-low-power-gain-step-recovery = <4>;
                adi,rxagc-power-power-measurement-duration = <5>;
                adi,rxagc-power-rx1-tdd-power-meas-duration = <5>;
                adi,rxagc-power-rx1-tdd-power-meas-delay = <1>;
                adi,rxagc-power-rx2-tdd-power-meas-duration = <5>;
                adi,rxagc-power-rx2-tdd-power-meas-delay = <1>;
                adi,rxagc-power-upper0-power-thresh = <2>;
                adi,rxagc-power-upper1-power-thresh = <0>;
                adi,rxagc-power-power-log-shift = <0>;

                adi,rxagc-agc-peak-wait-time = <4>;
                adi,rxagc-agc-rx1-max-gain-index = <255>;
                adi,rxagc-agc-rx1-min-gain-index = <195>;
                adi,rxagc-agc-rx2-max-gain-index = <255>;
                adi,rxagc-agc-rx2-min-gain-index = <195>;
                adi,rxagc-agc-gain-update-counter_us = <250>;
                adi,rxagc-agc-rx1-attack-delay = <10>;
                adi,rxagc-agc-rx2-attack-delay = <10>;
                adi,rxagc-agc-slow-loop-settling-delay = <16>;
                adi,rxagc-agc-low-thresh-prevent-gain = <0>;
                adi,rxagc-agc-change-gain-if-thresh-high = <1>;
                adi,rxagc-agc-peak-thresh-gain-control-mode = <1>;
                adi,rxagc-agc-reset-on-rxon = <0>;
                adi,rxagc-agc-enable-sync-pulse-for-gain-counter = <0>;
                adi,rxagc-agc-enable-ip3-optimization-thresh = <0>;
                adi,rxagc-ip3-over-range-thresh = <31>;
                adi,rxagc-ip3-over-range-thresh-index = <246>;
                adi,rxagc-ip3-peak-exceeded-cnt = <4>;
                adi,rxagc-agc-enable-fast-recovery-loop = <0>;


                // Misc

                adi,aux-dac-enables = <0x00>; // Mask

                adi,aux-dac-vref0 = <3>;
                adi,aux-dac-resolution0 = <0>;
                adi,aux-dac-values0 = <0>;
                adi,aux-dac-vref1 = <3>;
                adi,aux-dac-resolution1 = <0>;
                adi,aux-dac-values1 = <0>;
                adi,aux-dac-vref2 = <3>;
                adi,aux-dac-resolution2 = <0>;
                adi,aux-dac-values2 = <0>;
                adi,aux-dac-vref3 = <3>;
                adi,aux-dac-resolution3 = <0>;
                adi,aux-dac-values3 = <0>;
                adi,aux-dac-vref4 = <3>;
                adi,aux-dac-resolution4 = <0>;
                adi,aux-dac-values4 = <0>;
                adi,aux-dac-vref5 = <3>;
                adi,aux-dac-resolution5 = <0>;
                adi,aux-dac-values5 = <0>;
                adi,aux-dac-vref6 = <3>;
                adi,aux-dac-resolution6 = <0>;
                adi,aux-dac-values6 = <0>;
                adi,aux-dac-vref7 = <3>;
                adi,aux-dac-resolution7 = <0>;
                adi,aux-dac-values7 = <0>;
                adi,aux-dac-vref8 = <3>;
                adi,aux-dac-resolution8 = <0>;
                adi,aux-dac-values8 = <0>;
                adi,aux-dac-vref9 = <3>;
                adi,aux-dac-resolution9 = <0>;
                adi,aux-dac-values9 = <0>;
                adi,aux-dac-vref10 = <3>;
                adi,aux-dac-resolution10 = <0>;
                adi,aux-dac-values10 = <0>;
                adi,aux-dac-vref11 = <3>;
                adi,aux-dac-resolution11 = <0>;
                adi,aux-dac-values11 = <0>;

                adi,arm-gpio-config-orx1-tx-sel0-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx1-tx-sel0-pin-polarity = <0>;
                adi,arm-gpio-config-orx1-tx-sel0-pin-enable = <0>;

                adi,arm-gpio-config-orx1-tx-sel1-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx1-tx-sel1-pin-polarity = <0>;
                adi,arm-gpio-config-orx1-tx-sel1-pin-enable = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-polarity = <0>;
                adi,arm-gpio-config-orx2-tx-sel0-pin-enable = <0>;

                adi,arm-gpio-config-orx2-tx-sel1-pin-gpio-pin-sel = <0>;
                adi,arm-gpio-config-orx2-tx-sel1-pin-polarity = <0>;
                adi,arm-gpio-config-orx2-tx-sel1-pin-enable = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-gpio-pin-sel = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-polarity = <0>;
                adi,arm-gpio-config-en-tx-tracking-cals-enable = <0>;

                adi,orx-lo-cfg-disable-aux-pll-relocking = <0>;
                adi,orx-lo-cfg-gpio-select = <19>;

                adi,fhm-config-fhm-gpio-pin = <0>;
                adi,fhm-config-fhm-min-freq_mhz = <2400>;
                adi,fhm-config-fhm-max-freq_mhz = <2500>;

                adi,fhm-mode-fhm-enable = <0>;
                adi,fhm-mode-enable-mcs-sync = <0>;
                adi,fhm-mode-fhm-trigger-mode = <0>;
                adi,fhm-mode-fhm-exit-mode = <1>;
                adi,fhm-mode-fhm-init-frequency_hz = <2450000000>;

                adi,rx1-gain-ctrl-pin-inc-step = <1>;
                adi,rx1-gain-ctrl-pin-dec-step = <1>;
                adi,rx1-gain-ctrl-pin-rx-gain-inc-pin = <0>;
                adi,rx1-gain-ctrl-pin-rx-gain-dec-pin = <1>;
                adi,rx1-gain-ctrl-pin-enable = <0>;

                adi,rx2-gain-ctrl-pin-inc-step = <1>;
                adi,rx2-gain-ctrl-pin-dec-step = <1>;
                adi,rx2-gain-ctrl-pin-rx-gain-inc-pin = <3>;
                adi,rx2-gain-ctrl-pin-rx-gain-dec-pin = <4>;
                adi,rx2-gain-ctrl-pin-enable = <0>;

                adi,tx1-atten-ctrl-pin-step-size = <0>;
                adi,tx1-atten-ctrl-pin-tx-atten-inc-pin = <4>;
                adi,tx1-atten-ctrl-pin-tx-atten-dec-pin = <5>;
                adi,tx1-atten-ctrl-pin-enable = <0>;

                adi,tx2-atten-ctrl-pin-step-size = <0>;
                adi,tx2-atten-ctrl-pin-tx-atten-inc-pin = <6>;
                adi,tx2-atten-ctrl-pin-tx-atten-dec-pin = <7>;
                adi,tx2-atten-ctrl-pin-enable = <0>;

                adi,tx-pa-protection-avg-duration = <3>;
                adi,tx-pa-protection-tx-atten-step = <2>;
                adi,tx-pa-protection-tx1-power-threshold = <4096>;
                adi,tx-pa-protection-tx2-power-threshold = <4096>;
                adi,tx-pa-protection-peak-count = <4>;
                adi,tx-pa-protection-tx1-peak-threshold = <140>;
                adi,tx-pa-protection-tx2-peak-threshold = <140>;
            };

        };

        spi@ff050000 {
            status = "okay";
            is-decoded-cs = <0x0>;
            num-cs = <0x1>;

            hmc7044: hmc7044@0 {
                #address-cells = <1>;
                #size-cells = <0>;
                #clock-cells = <1>;
                compatible = "adi,hmc7044";
                reg = <0>;
                spi-max-frequency = <10000000>;

                // 245M76Hz adi,pll1-clkin-frequencies = <0 0 0 122880000>;
                adi,pll1-clkin-frequencies = <0 0 0 10000000>;
                adi,pll1-ref-prio-ctrl = <0xFF>; // prefer CLKIN3

                adi,clkin0-buffer-mode  = <0x07>;
                adi,clkin1-buffer-mode  = <0x07>;
                adi,clkin2-buffer-mode  = <0x10>;
                adi,clkin3-buffer-mode  = <0x07>;
                adi,sync-pin-mode = <2>; // PULSE GENERATOR MODE

                // 245M76Hz adi,pll1-loop-bandwidth-hz = <30>;
                adi,pll1-loop-bandwidth-hz = <36>;

                // 245M76Hz adi,vcxo-frequency = <122880000>;
                adi,vcxo-frequency = <100000000>;

                // 245M76Hz adi,pll2-output-frequency = <2949120000>;
                adi,pll2-output-frequency = <2496000000>;

                adi,sysref-timer-divider = <3840>;
                adi,pulse-generator-mode = <0>; // LEVEL SENSITIVE

                adi,oscin-buffer-mode = <0x07>;

                adi,gpi-controls = <0x00 0x00 0x00 0x00>;
                adi,gpo-controls = <0x20 0x20 0x20 0x20>;

                adi,high-performance-mode-clock-dist-enable; // NOT USED
                adi,high-performance-mode-pll-vco-enable; // NOT USED

                clock-output-names =
                    "hmc7044_out0_JESD204B0_GBTCLK", "hmc7044_out1_SOM_SYSREF",
                    "hmc7044_out2_ADRV9009_2_SYSCLK", "hmc7044_out3_ADRV9009_2_SYSREF",
                    "hmc7044_out4_ADRV9009_1_SYSCLK", "hmc7044_out5_ADRV9009_1_SYSREF",
                    "hmc7044_out6_ADRV9009_0_SYSCLK", "hmc7044_out7_ADRV9009_0_SYSREF",
                    "hmc7044_out8_JESD204B1_GBTCLK","hmc7044_out9",
                    "hmc7044_out10_JESD204B2_GBTCLK2", "hmc7044_out11",
                    "hmc7044_out12_SCO", "hmc7044_out13_SRO";

                hmc7044_c0: channel@0 {
                    reg = <0>;
                    adi,extended-name = "JESD204B0_GBTCLK";
                    // 245M76Hz adi,divider = <12>;    // 245760000
                    adi,divider = <12>;    // 208000000
                    adi,driver-mode = <2>;    // LVDS
                };
                hmc7044_c1: channel@1 {
                    reg = <1>;
                    adi,extended-name = "SOM_SYSREF";
                    // 245M76Hz adi,divider = <3840>;    // 768000
                    adi,divider = <3840>;    // 650000
                    adi,driver-mode = <2>;    // LVDS
                    adi,high-performance-mode-disable;
                };
                hmc7044_c2: channel@2 {
                    reg = <2>;
                    adi,extended-name = "ADRV9009_2_SYSCLK";
                    // 245M76Hz adi,divider = <12>;    // 245760000
                    adi,divider = <12>;    // 208000000
                    adi,driver-mode = <1>;    // LVPECL
                };
                hmc7044_c3: channel@3 {
                    reg = <3>;
                    adi,extended-name = "ADRV9009_2_SYSREF";
                    // 245M76Hz adi,divider = <3840>;    // 768000
                    adi,divider = <3840>;    // 650000
                    adi,driver-mode = <2>;    // LVDS
                    adi,startup-mode-dynamic-enable;
                    adi,high-performance-mode-disable;
                };
                hmc7044_c4: channel@4 {
                    reg = <4>;
                    adi,extended-name = "ADRV9009_1_SYSCLK";
                    // 245M76Hz adi,divider = <12>;    // 245760000
                    adi,divider = <12>;    // 208000000
                    adi,driver-mode = <1>;    // LVPECL
                };
                hmc7044_c5: channel@5 {
                    reg = <5>;
                    adi,extended-name = "ADRV9009_1_SYSREF";
                    // 245M76Hz adi,divider = <3840>;    // 768000
                    adi,divider = <3840>;    // 650000
                    adi,driver-mode = <2>;    // LVDS
                    adi,startup-mode-dynamic-enable;
                    adi,high-performance-mode-disable;
                };
                hmc7044_c6: channel@6 {
                    reg = <6>;
                    adi,extended-name = "ADRV9009_0_SYSCLK";
                    // 245M76Hz adi,divider = <12>;    // 245760000
                    adi,divider = <12>;    // 208000000
                    adi,driver-mode = <1>;    // LVPECL
                };
                hmc7044_c7: channel@7 {
                    reg = <7>;
                    adi,extended-name = "ADRV9009_0_SYSREF";
                    // 245M76Hz adi,divider = <3840>;    // 768000
                    adi,divider = <3840>;    // 650000
                    adi,driver-mode = <2>;    // LVDS
                    adi,startup-mode-dynamic-enable;
                    adi,high-performance-mode-disable;
                };
                hmc7044_c8: channel@8 {
                    reg = <8>;
                    adi,extended-name = "JESD204B1_GBTCLK";
                    // 245M76Hz adi,divider = <12>;    // 245760000
                    adi,divider = <12>;    // 208000000
                    adi,driver-mode = <2>;    // LVDS
                };

                hmc7044_c10: channel@10 {
                    reg = <10>;
                    adi,extended-name = "JESD204B2_GBTCLK2";
                    // 245M76Hz adi,divider = <12>;    // 245760000
                    adi,divider = <12>;    // 208000000
                    adi,driver-mode = <2>;    // LVDS
                };
                hmc7044_c12: channel@12 {
                    reg = <12>;
                    adi,extended-name = "SCO";
                    // 245M76Hz adi,divider = <12>;    // 245760000
                    adi,divider = <12>;    // 208000000
                    adi,driver-mode = <1>;    // LVPECL
                };
                hmc7044_c13: channel@13 {
                    reg = <13>;
                    adi,extended-name = "SRO";
                    // 245M76Hz adi,divider = <3840>;    // 650000
                    adi,divider = <3840>;    // 768000
                    adi,driver-mode = <1>;    // LVPECL
                    adi,high-performance-mode-disable;
                };
            };
        };

Top Replies

    •  Analog Employees 
    May 4, 2021 in reply to gavint +1 verified
    Is there a way to disable the ADRV9009 SYSREF internal 100R termination via the device tree? I can only see a "adi,jesd204-sysref-lvds-mode" which controls whether it is an LVDS or CMOS input…
Parents
  • 0
    •  Analog Employees 
    on Apr 16, 2021 11:33 AM

    Hi,

    Can you paste here the contents of:

    /sys/kernel/debug/clk/clk_summary

    Thanks,

    Alexandru

  •    clock                         enable_cnt  prepare_cnt        rate   accuracy   phase
    ----------------------------------------------------------------------------------------
     spi1.0-tx_sampl_clk                      1            1   208000000          0 0  
     spi1.0-obs_sampl_clk                     1            1   208000000          0 0  
     spi1.0-rx_sampl_clk                      0            0   208000000          0 0  
     hmc7044_out13_SRO                        0            0      650000          0 0  
     hmc7044_out12_SCO                        0            0   208000000          0 0  
     hmc7044_out10_JESD204B2_GBTCLK2           3            3   208000000          0 0  
     hmc7044_out8_JESD204B1_GBTCLK            3            3   208000000          0 0  
     hmc7044_out7_ADRV9009_0_SYSREF           0            0      650000          0 0  
     hmc7044_out6_ADRV9009_0_SYSCLK           1            1   208000000          0 0  
     hmc7044_out5_ADRV9009_1_SYSREF           0            0      650000          0 0  
     hmc7044_out4_ADRV9009_1_SYSCLK           0            0   208000000          0 0  
     hmc7044_out3_ADRV9009_2_SYSREF           0            0      650000          0 0  
     hmc7044_out2_ADRV9009_2_SYSCLK           0            0   208000000          0 0  
     hmc7044_out1_SOM_SYSREF                  0            0      650000          0 0  
     hmc7044_out0_JESD204B0_GBTCLK            7            7   208000000          0 0  
        tx_out_clk                            0            0   208000000          0 0  
        tx_gt_clk                             1            1     4160000          0 0  
           jesd_tx_lane_clk                   1            1     4160000          0 0  
        rx_out_clk                            0            0   208000000          0 0  
        rx_gt_clk                             1            1     8320000          0 0  
           jesd_rx_lane_clk                   1            1     8320000          0 0  
        rx_os_out_clk                         0            0   208000000          0 0  
        rx_os_gt_clk                          1            1     8320000          0 0  
           jesd_rx_os_lane_clk                1            1     8320000          0 0  
     dp_aclk                                  1            1   100000000        100 0  
     aux_ref_clk                              0            0    27000000          0 0  
     gt_crx_ref_clk                           0            0   108000000          0 0  
     pss_alt_ref_clk                          0            0           0          0 0  
     video_clk                                0            0    27000000          0 0  
     pss_ref_clk                              4            4    33333333          0 0  
        vpll_post_src                         0            0    33333333          0 0  
        vpll_pre_src                          0            0    33333333          0 0  
           vpll_int                           0            0  2999999970          0 0  
              vpll_half                       0            0  1499999985          0 0  
                 vpll_int_mux                 0            0  1499999985          0 0  
                    vpll                      0            0  1499999985          0 0  
                       dp_video_ref_mux           0            0  1499999985          0 0  
                          dp_video_ref_div1           0            0   299999997          0 0  
                             dp_video_ref_div2           0            0   299999997          0 0  
                                dp_video_ref           0            0   299999997          0 0  
                       vpll_to_lpd            0            0   499999995          0 0  
        dpll_post_src                         0            0    33333333          0 0  
        dpll_pre_src                          1            1    33333333          0 0  
           dpll_int                           1            1  2399999976          0 0  
              dpll_half                       1            1  1199999988          0 0  
                 dpll_int_mux                 1            1  1199999988          0 0  
                    dpll                      1            1  1199999988          0 0  
                       topsw_main_mux           0            0  1199999988          0 0  
                          topsw_main_div1           0            0   399999996          0 0  
                             topsw_main           0            0   399999996          0 0  
                       gpu_ref_mux            0            0  1199999988          0 0  
                          gpu_ref_div1           0            0   599999994          0 0  
                             gpu_ref           0            0   599999994          0 0  
                                gpu_pp1_ref           0            0   599999994          0 0  
                                gpu_pp0_ref           0            0   599999994          0 0  
                       sata_ref_mux           0            0  1199999988          0 0  
                          sata_ref_div1           0            0    99999999          0 0  
                             sata_ref           0            0    99999999          0 0  
                       ddr_ref_mux            1            1  1199999988          0 0  
                          ddr_ref             1            1   599999994          0 0  
                       dpll_to_lpd            0            0   399999996          0 0  
        apll_post_src                         0            0    33333333          0 0  
        apll_pre_src                          1            1    33333333          0 0  
           apll_int                           1            1  2399999976          0 0  
              apll_half                       1            1  1199999988          0 0  
                 apll_int_mux                 1            1  1199999988          0 0  
                    apll                      2            2  1199999988          0 0  
                       dpdma_ref_mux           1            1  1199999988          0 0  
                          dpdma_ref_div1           1            1   599999994          0 0  
                             dpdma_ref           1            1   599999994          0 0  
                       gdma_ref_mux           0            0  1199999988          0 0  
                          gdma_ref_div1           0            0   599999994          0 0  
                             gdma_ref           0            0   599999994          0 0  
                       acpu_mux               1            1  1199999988          0 0  
                          acpu_div1           1            1  1199999988          0 0  
                             acpu             1            1  1199999988          0 0  
                                acpu_half_ff           0            0   599999994          0 0  
                                   acpu_half           0            0   599999994          0 0  
                       apll_to_lpd            0            0   399999996          0 0  
        rpll_post_src                         0            0    33333333          0 0  
        rpll_pre_src                          1            1    33333333          0 0  
           rpll_int                           1            1  1523711634          0 0  
              rpll_half                       1            1   761855817          0 0  
                 rpll_int_mux                 1            1   761855817          0 0  
                    rpll                      1            1   761855817          0 0  
                       rpll_to_fpd            1            1    24575995          0 0  
                          dp_stc_ref_mux           0            0    24575995          0 0  
                             dp_stc_ref_div1           0            0     1755429          0 0  
                                dp_stc_ref_div2           0            0     1755429          0 0  
                                   dp_stc_ref           0            0     1755429          0 0  
                          dp_audio_ref_mux           1            1    24575995          0 0  
                             dp_audio_ref_div1           1            1    24575995          0 0  
                                dp_audio_ref_div2           1            1    24575995          0 0  
                                   dp_audio_ref           1            1    24575995          0 0  
        iopll_post_src                        0            0    33333333          0 0  
        iopll_pre_src                         1            1    33333333          0 0  
           iopll_int                          1            1  2999999970          0 0  
              iopll_half                      1            1  1499999985          0 0  
                 iopll_int_mux                1            1  1499999985          0 0  
                    iopll                    13           14  1499999985          0 0  
                       pl3_ref_mux            0            0  1499999985          0 0  
                          pl3_ref_div1           0            0    46875000          0 0  
                             pl3_ref_div2           0            0     9375000          0 0  
                                pl3_ref           0            0     9375000          0 0  
                       pl2_ref_mux            0            0  1499999985          0 0  
                          pl2_ref_div1           0            0    46875000          0 0  
                             pl2_ref_div2           0            0     9375000          0 0  
                                pl2_ref           0            0     9375000          0 0  
                       pl1_ref_mux            1            1  1499999985          0 0  
                          pl1_ref_div1           1            1   299999997          0 0  
                             pl1_ref_div2           1            1   299999997          0 0  
                                pl1_ref           9            9   299999997          0 0  
                       pl0_ref_mux            1            1  1499999985          0 0  
                          pl0_ref_div1           1            1   149999999          0 0  
                             pl0_ref_div2           1            1   149999999          0 0  
                                pl0_ref           3            3   149999999          0 0  
                       ams_ref_mux            1            1  1499999985          0 0  
                          ams_ref_div1           1            1    50000000          0 0  
                             ams_ref_div2           1            1    50000000          0 0  
                                ams_ref           1            1    50000000          0 0  
                       timestamp_ref_mux           0            0  1499999985          0 0  
                          timestamp_ref_div1           0            0    99999999          0 0  
                             timestamp_ref           0            0    99999999          0 0  
                       adma_ref_mux           0            0  1499999985          0 0  
                          adma_ref_div1           0            0   499999995          0 0  
                             adma_ref           0            0   499999995          0 0  
                       dll_ref                0            0  1499999985          0 0  
                       can1_ref_mux           0            0  1499999985          0 0  
                          can1_ref_div1           0            0    46875000          0 0  
                             can1_ref_div2           0            0    46875000          0 0  
                                can1_ref           0            0    46875000          0 0  
                                   can1           0            0    46875000          0 0  
                       can0_ref_mux           0            0  1499999985          0 0  
                          can0_ref_div1           0            0    46875000          0 0  
                             can0_ref_div2           0            0    46875000          0 0  
                                can0_ref           0            0    46875000          0 0  
                                   can0           0            0    46875000          0 0  
                       i2c1_ref_mux           0            0  1499999985          0 0  
                          i2c1_ref_div1           0            0    99999999          0 0  
                             i2c1_ref_div2           0            0    99999999          0 0  
                                i2c1_ref           0            0    99999999          0 0  
                       i2c0_ref_mux           0            1  1499999985          0 0  
                          i2c0_ref_div1           0            1    99999999          0 0  
                             i2c0_ref_div2           0            1    99999999          0 0  
                                i2c0_ref           0            1    99999999          0 0  
                       nand_ref_mux           0            0  1499999985          0 0  
                          nand_ref_div1           0            0    46875000          0 0  
                             nand_ref_div2           0            0     9375000          0 0  
                                nand_ref           0            0     9375000          0 0  
                       spi1_ref_mux           0            0  1499999985          0 0  
                          spi1_ref_div1           0            0   187499999          0 0  
                             spi1_ref_div2           0            0   187499999          0 0  
                                spi1_ref           0            0   187499999          0 0  
                       spi0_ref_mux           0            0  1499999985          0 0  
                          spi0_ref_div1           0            0   187499999          0 0  
                             spi0_ref_div2           0            0   187499999          0 0  
                                spi0_ref           0            0   187499999          0 0  
                       uart1_ref_mux           0            0  1499999985          0 0  
                          uart1_ref_div1           0            0    99999999          0 0  
                             uart1_ref_div2           0            0    99999999          0 0  
                                uart1_ref           0            0    99999999          0 0  
                       uart0_ref_mux           1            1  1499999985          0 0  
                          uart0_ref_div1           1            1    99999999          0 0  
                             uart0_ref_div2           1            1    99999999          0 0  
                                uart0_ref           1            1    99999999          0 0  
                       sdio1_ref_mux           1            1  1499999985          0 0  
                          sdio1_ref_div1           1            1    50000000          0 0  
                             sdio1_ref_div2           1            1    50000000          0 0  
                                sdio1_ref           1            1    50000000          0 0  
                       sdio0_ref_mux           1            1  1499999985          0 0  
                          sdio0_ref_div1           1            1   187499999          0 0  
                             sdio0_ref_div2           1            1   187499999          0 0  
                                sdio0_ref           1            1   187499999          0 0  
                       qspi_ref_mux           0            0  1499999985          0 0  
                          qspi_ref_div1           0            0    50000000          0 0  
                             qspi_ref_div2           0            0    50000000          0 0  
                                qspi_ref           0            0    50000000          0 0  
                       gem3_ref_mux           0            0  1499999985          0 0  
                          gem3_ref_div1           0            0    62500000          0 0  
                             gem3_ref_div2           0            0    62500000          0 0  
                                gem3_ref           0            0    62500000          0 0  
                                   gem3_tx_mux           0            0    62500000          0 0  
                                      gem3_tx           0            0    62500000          0 0  
                       gem2_ref_mux           0            0  1499999985          0 0  
                          gem2_ref_div1           0            0    62500000          0 0  
                             gem2_ref_div2           0            0    62500000          0 0  
                                gem2_ref           0            0    62500000          0 0  
                                   gem2_tx_mux           0            0    62500000          0 0  
                                      gem2_tx           0            0    62500000          0 0  
                       gem1_ref_mux           0            0  1499999985          0 0  
                          gem1_ref_div1           0            0    62500000          0 0  
                             gem1_ref_div2           0            0    62500000          0 0  
                                gem1_ref           0            0    62500000          0 0  
                                   gem1_tx_mux           0            0    62500000          0 0  
                                      gem1_tx           0            0    62500000          0 0  
                       gem0_ref_mux           1            1  1499999985          0 0  
                          gem0_ref_div1           1            1   124999999          0 0  
                             gem0_ref_div2           1            1   124999999          0 0  
                                gem0_ref           2            2   124999999          0 0  
                                   gem0_tx_mux           1            1   124999999          0 0  
                                      gem0_tx           2            2   124999999          0 0  
                       gem_tsu_ref_mux           1            1  1499999985          0 0  
                          gem_tsu_ref_div1           1            1   249999998          0 0  
                             gem_tsu_ref_div2           1            1   249999998          0 0  
                                gem_tsu_ref           1            1   249999998          0 0  
                                   gem_tsu           1            1   249999998          0 0  
                       iou_switch_mux           0            0  1499999985          0 0  
                          iou_switch_div1           0            0   249999998          0 0  
                             iou_switch           0            0   249999998          0 0  
                       pcap_mux               0            0  1499999985          0 0  
                          pcap_div1           0            0   187499999          0 0  
                             pcap             0            0   187499999          0 0  
                       csu_pll_mux            0            0  1499999985          0 0  
                          csu_pll_div1           0            0   187499999          0 0  
                             csu_pll           0            0   187499999          0 0  
                       cpu_r5_mux             0            0  1499999985          0 0  
                          cpu_r5_div1           0            0   499999995          0 0  
                             cpu_r5           0            0   499999995          0 0  
                                cpu_r5_core           0            0   499999995          0 0  
                       usb3_dual_ref_mux           1            1  1499999985          0 0  
                          usb3_dual_ref_div1           1            1    60000000          0 0  
                             usb3_dual_ref_div2           1            1    20000000          0 0  
                                usb3_dual_ref           2            2    20000000          0 0  
                       usb1_bus_ref_mux           1            1  1499999985          0 0  
                          usb1_bus_ref_div1           1            1   249999998          0 0  
                             usb1_bus_ref_div2           1            1   249999998          0 0  
                                usb1_bus_ref           1            1   249999998          0 0  
                       usb0_bus_ref_mux           1            1  1499999985          0 0  
                          usb0_bus_ref_div1           1            1   249999998          0 0  
                             usb0_bus_ref_div2           1            1   249999998          0 0  
                                usb0_bus_ref           1            1   249999998          0 0  
                       lpd_lsbus_mux           1            1  1499999985          0 0  
                          lpd_lsbus_div1           1            1    99999999          0 0  
                             lpd_lsbus           5            5    99999999          0 0  
                       lpd_switch_mux           0            0  1499999985          0 0  
                          lpd_switch_div1           0            0   499999995          0 0  
                             lpd_switch           0            0   499999995          0 0  
                       dbg_lpd_mux            0            0  1499999985          0 0  
                          dbg_lpd_div1           0            0   249999998          0 0  
                             dbg_lpd           0            0   249999998          0 0  
                       iopll_to_fpd           1            1   499999995          0 0  
                          gtgref0_ref_mux           0            0   499999995          0 0  
                             gtgref0_ref_div1           0            0    62500000          0 0  
                                gtgref0_ref           0            0    62500000          0 0  
                          topsw_lsbus_mux           0            0   499999995          0 0  
                             topsw_lsbus_div1           0            0    99999999          0 0  
                                topsw_lsbus           0            0    99999999          0 0  
                                   wdt           0            0    99999999          0 0  
                          pcie_ref_mux           1            1   499999995          0 0  
                             pcie_ref_div1           1            1   249999998          0 0  
                                pcie_ref           1            1   249999998          0 0  
                          dbg_tstmp_mux           0            0   499999995          0 0  
                             dbg_tstmp           0            0   249999998          0 0  
                          dbg_trace_mux           0            0   499999995          0 0  
                             dbg_trace_div1           0            0    13513514          0 0  
                                dbg_trace           0            0    13513514          0 0  
                          dbg_fpd_mux           0            0   499999995          0 0  
                             dbg_fpd_div1           0            0   249999998          0 0  
                                dbg_fpd           0            0   249999998          0 0  
     can1_mio                                 0            0           0          0 0  
     can0_mio                                 0            0           0          0 0  

  • Update: When I run iio_info, I am not seeing an axi-adrv9009-rx-hpc entry for the observation receiver. This explains why I am not getting the option to plot the OS RX data.

    This is the original device tree:

    #include <dt-bindings/iio/frequency/hmc7044.h>
    #include <dt-bindings/iio/adc/adi,adrv9009.h>
    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>


    /include/ "system-conf.dtsi"
    / {

    // hmc7044_sync,         // 33
    // adrv9009_reset_b,     // 32 + 78

        amba {

            spi@ff040000 {
                compatible = "cdns,spi-r1p6";
                status = "okay";
                is-decoded-cs = <0x0>;
                num-cs = <0x3>;

                trx0_adrv9009: adrv9009-phy@0 {
                    compatible = "adrv9009";
                    reg = <0>;

                    #address-cells = <1>;
                    #size-cells = <0>;

                    // SPI Setup
                    // GT 21042021 THIS IS ACTUALLY NEEDED spi-max-frequency = <25000000>;
                    spi-max-frequency = <10000000>;

                    reset-gpios = <&gpio 110 0>;
                    sysref-req-gpios = <&gpio 111 0>;

                    // Clocks
                    clocks = <&axi_adrv9009_rx_jesd_0>, <&axi_adrv9009_tx_jesd_0>,
                        <&axi_adrv9009_rx_os_jesd_0>, <&hmc7044 6>, <&hmc7044 0>, <&hmc7044 7>, <&hmc7044 1>;
                    //clock-names = "jesd_rx_clk_0", "jesd_tx_clk_0", "jesd_rx_os_clk_0", "adrv9009_0_sysclk", "jesd204b0_gbtclk", "adrv9009_0_sysref", "som_sysref";
                    clock-names = "jesd_rx_clk", "jesd_tx_clk", "jesd_rx_os_clk", "dev_clk", "fmc_clk", "sysref_dev_clk", "sysref_fmc_clk";

                    clock-output-names = "rx_sampl_clk_0", "rx_os_sampl_clk_0", "tx_sampl_clk_0";
                    #clock-cells = <1>;

                    // JESD204

                    // JESD204 RX
                    adi,jesd204-framer-a-bank-id = <1>;
                    adi,jesd204-framer-a-device-id = <0>;
                    adi,jesd204-framer-a-lane0-id = <0>;
                    adi,jesd204-framer-a-m = <4>;
                    adi,jesd204-framer-a-k = <32>;
                    adi,jesd204-framer-a-f = <4>;
                    adi,jesd204-framer-a-np = <16>;
                    adi,jesd204-framer-a-scramble = <1>;
                    adi,jesd204-framer-a-external-sysref = <1>;
                    adi,jesd204-framer-a-serializer-lanes-enabled = <0x03>;
                    adi,jesd204-framer-a-serializer-lane-crossbar = <0xE4>;
                    adi,jesd204-framer-a-lmfc-offset = <31>;
                    adi,jesd204-framer-a-new-sysref-on-relink = <0>;
                    adi,jesd204-framer-a-syncb-in-select = <0>;
                    adi,jesd204-framer-a-over-sample = <0>;
                    adi,jesd204-framer-a-syncb-in-lvds-mode = <1>;
                    adi,jesd204-framer-a-syncb-in-lvds-pn-invert = <0>;
                    adi,jesd204-framer-a-enable-manual-lane-xbar = <0>;

                    // JESD204 OBS
                    adi,jesd204-framer-b-bank-id = <0>;
                    adi,jesd204-framer-b-device-id = <0>;
                    adi,jesd204-framer-b-lane0-id = <0>;
                    adi,jesd204-framer-b-m = <4>;
                    adi,jesd204-framer-b-k = <32>;
                    adi,jesd204-framer-b-f = <4>;
                    adi,jesd204-framer-b-np = <16>;
                    adi,jesd204-framer-b-scramble = <1>;
                    adi,jesd204-framer-b-external-sysref = <1>;
                    adi,jesd204-framer-b-serializer-lanes-enabled = <0x0C>;
                    adi,jesd204-framer-b-serializer-lane-crossbar = <0xE4>;
                    adi,jesd204-framer-b-lmfc-offset = <31>;
                    adi,jesd204-framer-b-new-sysref-on-relink = <0>;
                    adi,jesd204-framer-b-syncb-in-select = <1>;
                    adi,jesd204-framer-b-over-sample = <0>;
                    adi,jesd204-framer-b-syncb-in-lvds-mode = <1>;
                    adi,jesd204-framer-b-syncb-in-lvds-pn-invert = <0>;
                    adi,jesd204-framer-b-enable-manual-lane-xbar = <0>;

                    // JESD204 TX
                    adi,jesd204-deframer-a-bank-id = <0>;
                    adi,jesd204-deframer-a-device-id = <0>;
                    adi,jesd204-deframer-a-lane0-id = <0>;
                    adi,jesd204-deframer-a-m = <4>;
                    adi,jesd204-deframer-a-k = <32>;
                    adi,jesd204-deframer-a-scramble = <1>;
                    adi,jesd204-deframer-a-external-sysref = <1>;
                    adi,jesd204-deframer-a-deserializer-lanes-enabled = <0x0F>;
                    adi,jesd204-deframer-a-deserializer-lane-crossbar = <0xE4>;
                    adi,jesd204-deframer-a-lmfc-offset = <17>;
                    adi,jesd204-deframer-a-new-sysref-on-relink = <0>;
                    adi,jesd204-deframer-a-syncb-out-select = <0>;
                    adi,jesd204-deframer-a-np = <16>;
                    adi,jesd204-deframer-a-syncb-out-lvds-mode = <1>;
                    adi,jesd204-deframer-a-syncb-out-lvds-pn-invert = <0>;
                    adi,jesd204-deframer-a-syncb-out-cmos-slew-rate = <0>;
                    adi,jesd204-deframer-a-syncb-out-cmos-drive-level = <0>;
                    adi,jesd204-deframer-a-enable-manual-lane-xbar = <0>;

                    adi,jesd204-ser-amplitude = <15>;
                    adi,jesd204-ser-pre-emphasis = <1>;
                    adi,jesd204-ser-invert-lane-polarity = <0>;
                    adi,jesd204-des-invert-lane-polarity = <0>;
                    adi,jesd204-des-eq-setting = <1>;
                    adi,jesd204-sysref-lvds-mode = <1>;
                    adi,jesd204-sysref-lvds-pn-invert = <0>;

                    // RX

                    adi,rx-profile-rx-fir-gain_db = <(-6)>;
                    adi,rx-profile-rx-fir-num-fir-coefs = <48>;
                    adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-2) (23) (46) (-17) (-104) (10) (208) (23) (-370) (-97) (607) (240) (-942) (-489) (1407) (910) (-2065) (-1637) (3058) (2995) (-4912) (-6526) (9941) (30489) (30489) (9941) (-6526) (-4912) (2995) (3058) (-1637) (-2065) (910) (1407) (-489) (-942) (240) (607) (-97) (-370) (23) (208) (10) (-104) (-17) (46) (23) (-2)>;
                    // 208MHz adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-6) (-22) (31) (48) (-68) (-107) (141) (201) (-254) (-351) (431) (576) (-691) (-910) (1075) (1410) (-1649) (-2205) (2562) (3613) (-4348) (-7172) (9326) (31134) (31134) (9326) (-7172) (-4348) (3613) (2562) (-2205) (-1649) (1410) (1075) (-910) (-691) (576) (431) (-351) (-254) (201) (141) (-107) (-68) (48) (31) (-22) (-6)>;

                    adi,rx-profile-rx-fir-decimation = <2>;
                    adi,rx-profile-rx-dec5-decimation = <4>;
                    adi,rx-profile-rhb1-decimation = <1>;
                    adi,rx-profile-rx-output-rate_khz = <245760>;
                    // 208MHz adi,rx-profile-rx-output-rate_khz = <208000>;
                    adi,rx-profile-rf-bandwidth_hz = <200000000>;
                    // 208MHz adi,rx-profile-rf-bandwidth_hz = <169000000>;
                    adi,rx-profile-rx-bbf3d-bcorner_khz = <200000>;
                    // 208MHz adi,rx-profile-rx-bbf3d-bcorner_khz = <169000>;
                    adi,rx-profile-rx-adc-profile = /bits/ 16 <182 142 173 90 1280 982 1335 96 1369 48 1012 18 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    // 208MHz adi,rx-profile-rx-adc-profile = /bits/ 16 <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    adi,rx-profile-rx-ddc-mode = <0>;

                    adi,rx-nco-shifter-band-a-input-band-width_khz = <0>;
                    adi,rx-nco-shifter-band-a-input-center-freq_khz = <0>;
                    adi,rx-nco-shifter-band-a-nco1-freq_khz = <0>;
                    adi,rx-nco-shifter-band-a-nco2-freq_khz = <0>;
                    adi,rx-nco-shifter-band-binput-band-width_khz = <0>;
                    adi,rx-nco-shifter-band-binput-center-freq_khz = <0>;
                    adi,rx-nco-shifter-band-bnco1-freq_khz = <0>;
                    adi,rx-nco-shifter-band-bnco2-freq_khz = <0>;

                    adi,rx-gain-control-gain-mode = <0>;
                    adi,rx-gain-control-rx1-gain-index = <255>;
                    adi,rx-gain-control-rx2-gain-index = <255>;
                    adi,rx-gain-control-rx1-max-gain-index = <255>;
                    adi,rx-gain-control-rx1-min-gain-index = <195>;
                    adi,rx-gain-control-rx2-max-gain-index = <255>;
                    adi,rx-gain-control-rx2-min-gain-index = <195>;

                    adi,rx-settings-framer-sel = <0>;
                    adi,rx-settings-rx-channels = <3>;

                    // ORX

                    adi,orx-profile-rx-fir-gain_db = <6>;
                    // 208MHz adi,orx-profile-rx-fir-gain_db = <(-6)>;
                    adi,orx-profile-rx-fir-num-fir-coefs = <24>;
                    // 208MHz adi,orx-profile-rx-fir-num-fir-coefs = <48>;
                    adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-10) (7) (-10) (-12) (6) (-12) (16) (-16) (1) (63) (-431) (17235) (-431) (63) (1) (-16) (16) (-12) (6) (-12) (-10) (7) (-10) (0)>;
                    // 208MHz adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-7) (-19) (29) (44) (-64) (-98) (118) (152) (-265) (-315) (425) (523) (-672) (-830) (1037) (1289) (-1588) (-2018) (2477) (3327) (-4207) (-6558) (9518) (30464) (30464) (9518) (-6558) (-4207) (3327) (2477) (-2018) (-1588) (1289) (1037) (-830) (-672) (523) (425) (-315) (-265) (152) (118) (-98) (-64) (44) (29) (-19) (-7)>;
                    adi,orx-profile-rx-fir-decimation = <1>;
                    // 208MHz adi,orx-profile-rx-fir-decimation = <2>;
                    adi,orx-profile-rx-dec5-decimation = <4>;
                    adi,orx-profile-rhb1-decimation = <2>;
                    // 208MHz adi,orx-profile-rhb1-decimation = <1>;
                    adi,orx-profile-orx-output-rate_khz = <245760>;
                    // 208MHz adi,orx-profile-orx-output-rate_khz = <208000>;
                    adi,orx-profile-rf-bandwidth_hz = <200000000>;
                    // 208MHz adi,orx-profile-rf-bandwidth_hz = <169000000>;
                    adi,orx-profile-rx-bbf3d-bcorner_khz = <225000>;
                    adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <185 141 172 90 1280 942 1332 90 1368 46 1016 19 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    // 208MHz adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
                    // 208MHz adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    adi,orx-profile-orx-ddc-mode = <0>;
                    adi,orx-profile-orx-merge-filter = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0>;

                    adi,orx-gain-control-gain-mode = <0>;
                    adi,orx-gain-control-orx1-gain-index = <255>;
                    adi,orx-gain-control-orx2-gain-index = <255>;
                    adi,orx-gain-control-orx1-max-gain-index = <255>;
                    adi,orx-gain-control-orx1-min-gain-index = <195>;
                    adi,orx-gain-control-orx2-max-gain-index = <255>;
                    adi,orx-gain-control-orx2-min-gain-index = <195>;

                    adi,obs-settings-framer-sel = <1>;
                    adi,obs-settings-obs-rx-channels-enable = <3>;
                    adi,obs-settings-obs-rx-lo-source = <0>;

                    // TX

                    adi,tx-profile-tx-fir-gain_db = <0>;
                    adi,tx-profile-tx-fir-num-fir-coefs = <20>;
                    adi,tx-profile-tx-fir-coefs = /bits/ 16  <(32) (-76) (124) (-160) (176) (-121) (-145) (1031) (-3015) (20138) (-3015) (1031) (-145) (-121) (176) (-160) (124) (-76) (32) (0)>;

                    adi,tx-profile-dac-div = <1>;

                    adi,tx-profile-tx-fir-interpolation = <1>;
                    adi,tx-profile-thb1-interpolation = <2>;
                    adi,tx-profile-thb2-interpolation = <2>;
                    adi,tx-profile-thb3-interpolation = <1>;
                    adi,tx-profile-tx-int5-interpolation = <1>;
                    adi,tx-profile-tx-input-rate_khz = <491520>;
                    adi,tx-profile-primary-sig-bandwidth_hz = <150000000>;
                    adi,tx-profile-rf-bandwidth_hz = <400000000>;
                    adi,tx-profile-tx-dac3d-bcorner_khz = <400000>;
                    adi,tx-profile-tx-bbf3d-bcorner_khz = <200000>;
                    adi,tx-profile-loop-back-adc-profile = /bits/ 16 <186 148 176 90 1280 901 1479 225 1401 85 995 21 48 48 36 207 0 0 0 0 52 0 0 6 24 0 0 6 24 0 25 27 0 0 25 27 0 0 165 44 15 905>;

                    adi,tx-settings-deframer-sel = <0>;
                    adi,tx-settings-tx-channels = <3>;
                    adi,tx-settings-tx-atten-step-size = <0>;
                    adi,tx-settings-tx1-atten_md-b = <10000>;
                    adi,tx-settings-tx2-atten_md-b = <10000>;
                    adi,tx-settings-dis-tx-data-if-pll-unlock = <0>;

                    // Clocks

                    adi,dig-clocks-device-clock_khz = <245760>;
                    // 208MHz adi,dig-clocks-device-clock_khz = <208000>;
                    adi,dig-clocks-clk-pll-vco-freq_khz = <9830400>;
                    // 208MHz adi,dig-clocks-clk-pll-vco-freq_khz = <8320000>;
                    adi,dig-clocks-clk-pll-hs-div = <1>;
                    adi,dig-clocks-rf-pll-use-external-lo = <0>;
                    adi,dig-clocks-rf-pll-phase-sync-mode = <0>;

                    // AGC

                    adi,rxagc-peak-agc-under-range-low-interval_ns = <205>;
                    adi,rxagc-peak-agc-under-range-mid-interval = <2>;
                    adi,rxagc-peak-agc-under-range-high-interval = <4>;
                    adi,rxagc-peak-apd-high-thresh = <39>;
                    adi,rxagc-peak-apd-low-gain-mode-high-thresh = <36>;
                    adi,rxagc-peak-apd-low-thresh = <23>;
                    adi,rxagc-peak-apd-low-gain-mode-low-thresh = <19>;
                    adi,rxagc-peak-apd-upper-thresh-peak-exceeded-cnt = <6>;
                    adi,rxagc-peak-apd-lower-thresh-peak-exceeded-cnt = <3>;
                    adi,rxagc-peak-apd-gain-step-attack = <4>;
                    adi,rxagc-peak-apd-gain-step-recovery = <2>;
                    adi,rxagc-peak-enable-hb2-overload = <1>;
                    adi,rxagc-peak-hb2-overload-duration-cnt = <1>;
                    adi,rxagc-peak-hb2-overload-thresh-cnt = <4>;
                    adi,rxagc-peak-hb2-high-thresh = <181>;
                    adi,rxagc-peak-hb2-under-range-low-thresh = <45>;
                    adi,rxagc-peak-hb2-under-range-mid-thresh = <90>;
                    adi,rxagc-peak-hb2-under-range-high-thresh = <128>;
                    adi,rxagc-peak-hb2-upper-thresh-peak-exceeded-cnt = <6>;
                    adi,rxagc-peak-hb2-lower-thresh-peak-exceeded-cnt = <3>;
                    adi,rxagc-peak-hb2-gain-step-high-recovery = <2>;
                    adi,rxagc-peak-hb2-gain-step-low-recovery = <4>;
                    adi,rxagc-peak-hb2-gain-step-mid-recovery = <8>;
                    adi,rxagc-peak-hb2-gain-step-attack = <4>;
                    adi,rxagc-peak-hb2-overload-power-mode = <1>;
                    adi,rxagc-peak-hb2-ovrg-sel = <0>;
                    adi,rxagc-peak-hb2-thresh-config = <3>;

                    adi,rxagc-power-power-enable-measurement = <1>;
                    adi,rxagc-power-power-use-rfir-out = <1>;
                    adi,rxagc-power-power-use-bbdc2 = <0>;
                    adi,rxagc-power-under-range-high-power-thresh = <9>;
                    adi,rxagc-power-under-range-low-power-thresh = <2>;
                    adi,rxagc-power-under-range-high-power-gain-step-recovery = <4>;
                    adi,rxagc-power-under-range-low-power-gain-step-recovery = <4>;
                    adi,rxagc-power-power-measurement-duration = <5>;
                    adi,rxagc-power-rx1-tdd-power-meas-duration = <5>;
                    adi,rxagc-power-rx1-tdd-power-meas-delay = <1>;
                    adi,rxagc-power-rx2-tdd-power-meas-duration = <5>;
                    adi,rxagc-power-rx2-tdd-power-meas-delay = <1>;
                    adi,rxagc-power-upper0-power-thresh = <2>;
                    adi,rxagc-power-upper1-power-thresh = <0>;
                    adi,rxagc-power-power-log-shift = <0>;

                    adi,rxagc-agc-peak-wait-time = <4>;
                    adi,rxagc-agc-rx1-max-gain-index = <255>;
                    adi,rxagc-agc-rx1-min-gain-index = <195>;
                    adi,rxagc-agc-rx2-max-gain-index = <255>;
                    adi,rxagc-agc-rx2-min-gain-index = <195>;
                    adi,rxagc-agc-gain-update-counter_us = <250>;
                    adi,rxagc-agc-rx1-attack-delay = <10>;
                    adi,rxagc-agc-rx2-attack-delay = <10>;
                    adi,rxagc-agc-slow-loop-settling-delay = <16>;
                    adi,rxagc-agc-low-thresh-prevent-gain = <0>;
                    adi,rxagc-agc-change-gain-if-thresh-high = <1>;
                    adi,rxagc-agc-peak-thresh-gain-control-mode = <1>;
                    adi,rxagc-agc-reset-on-rxon = <0>;
                    adi,rxagc-agc-enable-sync-pulse-for-gain-counter = <0>;
                    adi,rxagc-agc-enable-ip3-optimization-thresh = <0>;
                    adi,rxagc-ip3-over-range-thresh = <31>;
                    adi,rxagc-ip3-over-range-thresh-index = <246>;
                    adi,rxagc-ip3-peak-exceeded-cnt = <4>;
                    adi,rxagc-agc-enable-fast-recovery-loop = <0>;


                    // Misc

                    adi,aux-dac-enables = <0x00>; // Mask

                    adi,aux-dac-vref0 = <3>;
                    adi,aux-dac-resolution0 = <0>;
                    adi,aux-dac-values0 = <0>;
                    adi,aux-dac-vref1 = <3>;
                    adi,aux-dac-resolution1 = <0>;
                    adi,aux-dac-values1 = <0>;
                    adi,aux-dac-vref2 = <3>;
                    adi,aux-dac-resolution2 = <0>;
                    adi,aux-dac-values2 = <0>;
                    adi,aux-dac-vref3 = <3>;
                    adi,aux-dac-resolution3 = <0>;
                    adi,aux-dac-values3 = <0>;
                    adi,aux-dac-vref4 = <3>;
                    adi,aux-dac-resolution4 = <0>;
                    adi,aux-dac-values4 = <0>;
                    adi,aux-dac-vref5 = <3>;
                    adi,aux-dac-resolution5 = <0>;
                    adi,aux-dac-values5 = <0>;
                    adi,aux-dac-vref6 = <3>;
                    adi,aux-dac-resolution6 = <0>;
                    adi,aux-dac-values6 = <0>;
                    adi,aux-dac-vref7 = <3>;
                    adi,aux-dac-resolution7 = <0>;
                    adi,aux-dac-values7 = <0>;
                    adi,aux-dac-vref8 = <3>;
                    adi,aux-dac-resolution8 = <0>;
                    adi,aux-dac-values8 = <0>;
                    adi,aux-dac-vref9 = <3>;
                    adi,aux-dac-resolution9 = <0>;
                    adi,aux-dac-values9 = <0>;
                    adi,aux-dac-vref10 = <3>;
                    adi,aux-dac-resolution10 = <0>;
                    adi,aux-dac-values10 = <0>;
                    adi,aux-dac-vref11 = <3>;
                    adi,aux-dac-resolution11 = <0>;
                    adi,aux-dac-values11 = <0>;

                    adi,arm-gpio-config-orx1-tx-sel0-pin-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-orx1-tx-sel0-pin-polarity = <0>;
                    adi,arm-gpio-config-orx1-tx-sel0-pin-enable = <0>;

                    adi,arm-gpio-config-orx1-tx-sel1-pin-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-orx1-tx-sel1-pin-polarity = <0>;
                    adi,arm-gpio-config-orx1-tx-sel1-pin-enable = <0>;
                    adi,arm-gpio-config-orx2-tx-sel0-pin-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-orx2-tx-sel0-pin-polarity = <0>;
                    adi,arm-gpio-config-orx2-tx-sel0-pin-enable = <0>;

                    adi,arm-gpio-config-orx2-tx-sel1-pin-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-orx2-tx-sel1-pin-polarity = <0>;
                    adi,arm-gpio-config-orx2-tx-sel1-pin-enable = <0>;
                    adi,arm-gpio-config-en-tx-tracking-cals-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-en-tx-tracking-cals-polarity = <0>;
                    adi,arm-gpio-config-en-tx-tracking-cals-enable = <0>;

                    adi,orx-lo-cfg-disable-aux-pll-relocking = <0>;
                    adi,orx-lo-cfg-gpio-select = <19>;

                    adi,fhm-config-fhm-gpio-pin = <0>;
                    adi,fhm-config-fhm-min-freq_mhz = <2400>;
                    adi,fhm-config-fhm-max-freq_mhz = <2500>;

                    adi,fhm-mode-fhm-enable = <0>;
                    adi,fhm-mode-enable-mcs-sync = <0>;
                    adi,fhm-mode-fhm-trigger-mode = <0>;
                    adi,fhm-mode-fhm-exit-mode = <1>;
                    adi,fhm-mode-fhm-init-frequency_hz = <2450000000>;

                    adi,rx1-gain-ctrl-pin-inc-step = <1>;
                    adi,rx1-gain-ctrl-pin-dec-step = <1>;
                    adi,rx1-gain-ctrl-pin-rx-gain-inc-pin = <0>;
                    adi,rx1-gain-ctrl-pin-rx-gain-dec-pin = <1>;
                    adi,rx1-gain-ctrl-pin-enable = <0>;

                    adi,rx2-gain-ctrl-pin-inc-step = <1>;
                    adi,rx2-gain-ctrl-pin-dec-step = <1>;
                    adi,rx2-gain-ctrl-pin-rx-gain-inc-pin = <3>;
                    adi,rx2-gain-ctrl-pin-rx-gain-dec-pin = <4>;
                    adi,rx2-gain-ctrl-pin-enable = <0>;

                    adi,tx1-atten-ctrl-pin-step-size = <0>;
                    adi,tx1-atten-ctrl-pin-tx-atten-inc-pin = <4>;
                    adi,tx1-atten-ctrl-pin-tx-atten-dec-pin = <5>;
                    adi,tx1-atten-ctrl-pin-enable = <0>;

                    adi,tx2-atten-ctrl-pin-step-size = <0>;
                    adi,tx2-atten-ctrl-pin-tx-atten-inc-pin = <6>;
                    adi,tx2-atten-ctrl-pin-tx-atten-dec-pin = <7>;
                    adi,tx2-atten-ctrl-pin-enable = <0>;

                    adi,tx-pa-protection-avg-duration = <3>;
                    adi,tx-pa-protection-tx-atten-step = <2>;
                    adi,tx-pa-protection-tx1-power-threshold = <4096>;
                    adi,tx-pa-protection-tx2-power-threshold = <4096>;
                    adi,tx-pa-protection-peak-count = <4>;
                    adi,tx-pa-protection-tx1-peak-threshold = <140>;
                    adi,tx-pa-protection-tx2-peak-threshold = <140>;

                    jesd204-device;
                    #jesd204-cells = <2>;
                    jesd204-top-device = <0>; // This is the TOP device
                    jesd204-link-ids = <DEFRAMER_LINK_TX FRAMER_LINK_RX FRAMER_LINK_ORX>;

                    jesd204-inputs =
                        <&axi_adrv9009_rx_jesd_0 0 FRAMER_LINK_RX>,
                        <&axi_adrv9009_rx_os_jesd_0 0 FRAMER_LINK_ORX>,
                        <&axi_adrv9009_tx_jesd_0 0 DEFRAMER_LINK_TX>;

                    /delete-property/ interrupts;
                };
            };

            spi@ff050000 {
                status = "okay";
                is-decoded-cs = <0x0>;
                num-cs = <0x1>;

                hmc7044: hmc7044@0 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    #clock-cells = <1>;
                    compatible = "adi,hmc7044";
                    reg = <0>;
                    spi-max-frequency = <10000000>;
                    
                    adi,pll1-clkin-frequencies = <0 0 0 10000000>;
                    adi,pll1-ref-prio-ctrl = <0xFF>; // prefer CLKIN3

                    adi,clkin0-buffer-mode  = <0x07>;
                    adi,clkin1-buffer-mode  = <0x07>;
                    adi,clkin2-buffer-mode  = <0x10>;
                    adi,clkin3-buffer-mode  = <0x07>;

                    adi,pll1-loop-bandwidth-hz = <29>;
                    adi,pll1-charge-pump-current-ua = <1920>;

                    adi,vcxo-frequency = <122880000>;

                    adi,pll2-output-frequency = <2949120000>;

                    adi,sysref-timer-divider = <3840>;

                    adi,oscin-buffer-mode = <0x07>;

                    adi,gpi-controls = <0x00 0x00 0x00 0x00>;
                    adi,gpo-controls = <0x20 0x20 0x20 0x20>;

                    adi,high-performance-mode-clock-dist-enable;
                    adi,high-performance-mode-pll-vco-enable;

                    jesd204-device;
                    #jesd204-cells = <2>;
                    jesd204-sysref-provider;

                    adi,pulse-generator-mode = <HMC7044_PULSE_GEN_16_PULSE>;
                    adi,sync-pin-mode = <0>;

                    /delete-property/ adi,pll2-autocal-bypass-manual-cap-bank-sel;

                    clock-output-names =
                        "hmc7044_out0_JESD204B0_GBTCLK", "hmc7044_out1_SOM_SYSREF",
                        "hmc7044_out2_ADRV9009_2_SYSCLK", "hmc7044_out3_ADRV9009_2_SYSREF",
                        "hmc7044_out4_ADRV9009_1_SYSCLK", "hmc7044_out5_ADRV9009_1_SYSREF",
                        "hmc7044_out6_ADRV9009_0_SYSCLK", "hmc7044_out7_ADRV9009_0_SYSREF",
                        "hmc7044_out8_JESD204B1_GBTCLK","hmc7044_out9",
                        "hmc7044_out10_JESD204B2_GBTCLK2", "hmc7044_out11",
                        "hmc7044_out12_SCO", "hmc7044_out13_SRO";

                    hmc7044_c0: channel@0 {
                        reg = <0>;
                        adi,extended-name = "JESD204B0_GBTCLK";
                        adi,divider = <12>;    // 245760000
                        adi,driver-mode = <2>;    // LVDS
                    };
                    hmc7044_c1: channel@1 {
                        reg = <1>;
                        adi,extended-name = "SOM_SYSREF";
                        adi,divider = <3840>;    // 768000
                        adi,driver-mode = <2>;    // LVDS
                        adi,high-performance-mode-disable;
                    };
                    hmc7044_c2: channel@2 {
                        reg = <2>;
                        adi,extended-name = "ADRV9009_2_SYSCLK";
                        adi,divider = <12>;    // 245760000
                        adi,driver-mode = <1>;    // LVPECL
                    };
                    hmc7044_c3: channel@3 {
                        reg = <3>;
                        adi,extended-name = "ADRV9009_2_SYSREF";
                        adi,divider = <3840>;    // 768000
                        adi,driver-mode = <2>;    // LVDS
                        adi,startup-mode-dynamic-enable;
                        adi,high-performance-mode-disable;
                    };
                    hmc7044_c4: channel@4 {
                        reg = <4>;
                        adi,extended-name = "ADRV9009_1_SYSCLK";
                        adi,divider = <12>;    // 245760000
                        adi,driver-mode = <1>;    // LVPECL
                    };
                    hmc7044_c5: channel@5 {
                        reg = <5>;
                        adi,extended-name = "ADRV9009_1_SYSREF";
                        adi,divider = <3840>;    // 768000
                        adi,driver-mode = <2>;    // LVDS
                        adi,startup-mode-dynamic-enable;
                        adi,high-performance-mode-disable;
                    };
                    hmc7044_c6: channel@6 {
                        reg = <6>;
                        adi,extended-name = "ADRV9009_0_SYSCLK";
                        adi,divider = <12>;    // 245760000
                        adi,driver-mode = <1>;    // LVPECL
                    };
                    hmc7044_c7: channel@7 {
                        reg = <7>;
                        adi,extended-name = "ADRV9009_0_SYSREF";
                        adi,divider = <3840>;    // 768000
                        adi,driver-mode = <2>;    // LVDS
                        adi,startup-mode-dynamic-enable;
                        adi,high-performance-mode-disable;
                    };
                    hmc7044_c8: channel@8 {
                        reg = <8>;
                        adi,extended-name = "JESD204B1_GBTCLK";
                        adi,divider = <12>;    // 245760000
                        adi,driver-mode = <2>;    // LVDS
                    };

                    hmc7044_c10: channel@10 {
                        reg = <10>;
                        adi,extended-name = "JESD204B2_GBTCLK2";
                        adi,divider = <12>;    // 245760000
                        adi,driver-mode = <2>;    // LVDS
                    };
                    hmc7044_c12: channel@12 {
                        reg = <12>;
                        adi,extended-name = "SCO";
                        adi,divider = <12>;    // 245760000
                        adi,driver-mode = <1>;    // LVPECL
                    };
                    hmc7044_c13: channel@13 {
                        reg = <13>;
                        adi,extended-name = "SRO";
                        adi,divider = <3840>;    // 768000
                        adi,driver-mode = <1>;    // LVPECL
                        adi,high-performance-mode-disable;
                    };
                };
            };

        };

        amba_pl@0 {
            
            interrupt-parent = <&gic>;
            #address-cells = <0x2>;
            #size-cells = <0x2>;
            compatible = "simple-bus";
            ranges;

            /delete-node/ axi_adrv9009@a00c0000;
            /delete-node/ axi_dmac@a0100000;
            /delete-node/ axi_dmac@a0120000;
            /delete-node/ axi_dmac@a0140000;

            rx_dma_0: dma@a0140000 {
                compatible = "adi,axi-dmac-1.00.a";
                reg = <0x0 0xa0140000 0x0 0x10000>;
                #dma-cells = <1>;
                #clock-cells = <0>;
                interrupt-parent = <&axi_intc>;
                interrupts = <0x5 0x2>;
                clocks = <&zynqmp_clk PL1_REF>;

                adi,channels {
                    #size-cells = <0>;
                    #address-cells = <1>;

                    dma-channel@0 {
                        reg = <0>;
                        adi,source-bus-width = <64>;
                        adi,source-bus-type = <2>;
                        adi,destination-bus-width = <64>;
                        adi,destination-bus-type = <0>;
                    };
                };
            };

            rx_obs_dma_0: dma@a0120000 {
                compatible = "adi,axi-dmac-1.00.a";
                reg = <0x0 0xa0120000 0x0 0x10000>;
                #dma-cells = <1>;
                #clock-cells = <0>;
                interrupt-parent = <&axi_intc>;
                interrupts = <0x3 0x2>;
                clocks = <&zynqmp_clk PL1_REF>;

                adi,channels {
                    #size-cells = <0>;
                    #address-cells = <1>;

                    dma-channel@0 {
                        reg = <0>;
                        adi,source-bus-width = <128>;
                        adi,source-bus-type = <2>;
                        adi,destination-bus-width = <64>;
                        adi,destination-bus-type = <0>;
                    };
                };
            };

            tx_dma_0: dma@a0100000  {
                compatible = "adi,axi-dmac-1.00.a";
                reg = <0x0 0xa0100000 0x0 0x10000>;
                #dma-cells = <1>;
                #clock-cells = <0>;
                interrupt-parent = <&axi_intc>;
                interrupts = <0x4 0x2>;
                clocks = <&zynqmp_clk PL1_REF>;

                adi,channels {
                    #size-cells = <0>;
                    #address-cells = <1>;

                    dma-channel@0 {
                        reg = <0>;
                        adi,source-bus-width = <128>;
                        adi,source-bus-type = <0>;
                        adi,destination-bus-width = <128>;
                        adi,destination-bus-type = <2>;
                    };
                };
            };

            axi_adrv9009_core_rx_0: axi-adrv9009-rx-hpc@a00c0000 {
                compatible = "adi,axi-adrv9009-rx-1.0";
                reg = <0x0 0xa00c0000 0x0 0x8000>;
                dmas = <&rx_dma_0 0>;
                dma-names = "rx";
                spibus-connected = <&trx0_adrv9009>;
            };

            axi_adrv9009_core_rx_obs_0: axi-adrv9009-rx-obs-hpc@a00c8000 {
                compatible = "adi,axi-adrv9009-obs-1.0";
                reg = <0x0 0xa00c8000 0x0 0x1000>;
                dmas = <&rx_obs_dma_0 0>;
                dma-names = "rx";
                clocks = <&trx0_adrv9009 1>;
                clock-names = "sampl_clk";
            };

            axi_adrv9009_core_tx_0: axi-adrv9009-tx-hpc@a00c4000 {
                compatible = "adi,axi-adrv9009-tx-1.0";
                reg = <0x0 0xa00c4000 0x0 0x4000>;
                dmas = <&tx_dma_0 0>;
                dma-names = "tx";
                clocks = <&trx0_adrv9009 2>;
                clock-names = "sampl_clk";
                spibus-connected = <&trx0_adrv9009>;
                //adi,axi-pl-fifo-enable;
                plddrbypass-gpios = <&gpio 113 0>;
            };
            
            axi_adrv9009_rx_jesd_0: axi_jesd204_rx@a0014000 {
                compatible = "adi,axi-jesd204-rx-1.0";
                reg = <0x0 0xa0014000 0x0 0x4000>;

                //clocks = <&zynqmp_clk PL0_REF>, <&axi_adrv9009_adxcvr_rx_0 1>, <&axi_adrv9009_adxcvr_rx_0 0>;
                clocks = <&zynqmp_clk PL0_REF>, <&hmc7044 6>, <&axi_adrv9009_adxcvr_rx_0 0>;
                clock-names = "s_axi_aclk", "device_clk", "lane_clk";

                #clock-cells = <0>;
                clock-output-names = "jesd_rx_lane_clk";

                adi,octets-per-frame = <4>;
                adi,frames-per-multiframe = <32>;

                jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs = <&axi_adrv9009_adxcvr_rx_0 0 FRAMER_LINK_RX>;
            };

            axi_adrv9009_tx_jesd_0: axi_jesd204_tx@a001c000 {
                compatible = "adi,axi-jesd204-tx-1.0";
                reg = <0x0 0xa001c000 0x0 0x4000>;

                //clocks = <&zynqmp_clk PL0_REF>, <&axi_adrv9009_adxcvr_tx_0 1>, <&axi_adrv9009_adxcvr_tx_0 0>;
                clocks = <&zynqmp_clk PL0_REF>, <&hmc7044 6>, <&axi_adrv9009_adxcvr_tx_0 0>;
                clock-names = "s_axi_aclk", "device_clk", "lane_clk";

                #clock-cells = <0>;
                clock-output-names = "jesd_tx_lane_clk";

                adi,octets-per-frame = <2>;
                adi,frames-per-multiframe = <32>;
                adi,converter-resolution = <14>;
                adi,bits-per-sample = <16>;
                adi,converters-per-device = <4>;
                adi,control-bits-per-sample = <2>;

                jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs = <&axi_adrv9009_adxcvr_tx_0 0 DEFRAMER_LINK_TX>;
            };

            axi_adrv9009_rx_os_jesd_0: axi_jesd204_rx@a0018000 {
                compatible = "adi,axi-jesd204-rx-1.0";
                reg = <0x0 0xa0018000 0x0 0x4000>;

                //clocks = <&zynqmp_clk PL0_REF>, <&axi_adrv9009_adxcvr_rx_os_0 1>, <&axi_adrv9009_adxcvr_rx_os_0 0>;
                clocks = <&zynqmp_clk PL0_REF>, <&hmc7044 6>, <&axi_adrv9009_adxcvr_rx_os_0 0>;
                clock-names = "s_axi_aclk", "device_clk", "lane_clk";

                #clock-cells = <0>;
                clock-output-names = "jesd_rx_os_lane_clk";

                adi,octets-per-frame = <4>;
                adi,frames-per-multiframe = <32>;

                jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs = <&axi_adrv9009_adxcvr_rx_os_0 0 FRAMER_LINK_ORX>;
            };

            axi_adrv9009_adxcvr_rx_0: axi_adxcvr@a0090000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "adi,axi-adxcvr-1.0";
                reg = <0x0 0xa0090000 0x0 0x10000>;

                clocks = <&hmc7044 0>;
                clock-names = "conv";

                #clock-cells = <1>;
                clock-output-names = "rx_gt_clk", "rx_out_clk";

                adi,sys-clk-select = <0>;
                adi,out-clk-select = <3>;
                adi,use-lpm-enable;
                adi,use-cpll-enable;
            
                jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs =  <&hmc7044 0 FRAMER_LINK_RX>;
            };

            axi_adrv9009_adxcvr_rx_os_0: axi_adxcvr@a0080000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "adi,axi-adxcvr-1.0";
                reg = <0x0 0xa0080000 0x0 0x10000>;

                clocks = <&hmc7044 0>;
                clock-names = "conv";

                #clock-cells = <1>;
                clock-output-names = "rx_os_gt_clk", "rx_os_out_clk";

                adi,sys-clk-select = <0>;
                adi,out-clk-select = <3>;
                adi,use-lpm-enable;
                adi,use-cpll-enable;

                    jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs =  <&hmc7044 0 FRAMER_LINK_ORX>;
            };

            axi_adrv9009_adxcvr_tx_0: axi_adxcvr@a00b0000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "adi,axi-adxcvr-1.0";
                reg = <0x0 0xa00b0000 0x0 0x10000>;

                clocks = <&hmc7044 0>;
                clock-names = "conv";

                #clock-cells = <1>;
                clock-output-names = "tx_gt_clk", "tx_out_clk";

                adi,sys-clk-select = <3>;
                adi,out-clk-select = <3>;

                    jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs =  <&hmc7044 0 DEFRAMER_LINK_TX>;
            };

        };
     

        chosen {
            bootargs = "earlycon clk_ignore_unused cpuidle.off=1 uio_pdrv_genirq.of_id=\"generic-uio\"";
        };
    };

  • 0
    •  Analog Employees 
    on Apr 29, 2021 11:49 AM in reply to gavint
    Should this "device_clk" in axi_jesd204_rx be the same clock as the clock connected to "dev_clk" in trx0_adrv9009? In my case, that would be <&hmc7044 6>.

    Well it depends - this device_clk is typically Lane_Rate/40 and clocks the link layer. In case axi_adrv9009_adxcvr_rx_os_0 1 controlled by out-clk-sel satisfies this it's ok.

    Here, I don't see the option to plot the OS RX data. Is that expected behaviour?

    Check why this devices doesn't get probed. It's a different driver - maybe not enabled in Kconfig?

    axi-adrv9009-rx-obs-hpc@a00c8000 {
     compatible = "adi,axi-adrv9009-obs-1.0";

    -Michael

  • That was it! I need to include the CONFIG_ADMC in the kernel configuration to get the observation receiver.

    So now I am pretty much at the same state I had in the 2018_R2 case of a single working ADRV9009 device.

    Now it starts getting interesting. How should I proceed to add the remaining two devices? Remember that I have duplicated everything in firmware three times so there are effectively three independent ADRV9009 devices.

    Should all three ADRV9009 devices get the following:

    jesd204-top-device = <0>

    Or should they all be assigned a unique number?

  • 0
    •  Analog Employees 
    on Apr 29, 2021 12:33 PM in reply to gavint

    No - there can only be one top device per topology.

    However simply add the two other TRX in the chain just without:

    jesd204-top-device = <0>;

    Do the same for your jesd and adxcvr cores.

    One thing to mention here - you're using the HMC7044 to generate SYSREF, and you configure the outputs to be LVDS. The HMC7044 doesn't properly inactivate the buffers, so they appear to be floating.

    You need to use LVPECL and use a voltage level translation circuit, similar to what we use on the FMCOMMS8 take a look there....

    -Michael 

  • 0
    •  Analog Employees 
    on Apr 29, 2021 12:38 PM in reply to mhennerich

    Please see here:

    https://ez.analog.com/clock_and_timing/f/q-a/167096/hmc7043-sysref-output-in-lvds-mode

    This one is about the 7043 but same applies for the 7044

    -Michael

Reply Children
  • So I have now added two and this is the dmesg output:

    root@frm127101u1r1:~# dmesg | grep adrv9009
    [    1.303583] jesd204: created con: id=12, topo=0, link=1, /amba_pl@0/axi_jesd204_rx@a0020000 <-> /amba/spi@ff040000/adrv9009-phy@1
    [    1.303608] jesd204: created con: id=13, topo=0, link=2, /amba_pl@0/axi_jesd204_rx@a0024000 <-> /amba/spi@ff040000/adrv9009-phy@1
    [    1.303633] jesd204: created con: id=14, topo=0, link=0, /amba_pl@0/axi_jesd204_tx@a0028000 <-> /amba/spi@ff040000/adrv9009-phy@1
    [    1.303669] jesd204: created con: id=15, topo=0, link=1, /amba_pl@0/axi_jesd204_rx@a0014000 <-> /amba/spi@ff040000/adrv9009-phy@0
    [    1.303695] jesd204: created con: id=16, topo=0, link=2, /amba_pl@0/axi_jesd204_rx@a0018000 <-> /amba/spi@ff040000/adrv9009-phy@0
    [    1.303721] jesd204: created con: id=17, topo=0, link=0, /amba_pl@0/axi_jesd204_tx@a001c000 <-> /amba/spi@ff040000/adrv9009-phy@0
    [    1.303749] jesd204: /amba/spi@ff040000/adrv9009-phy@0: JESD204[0] transition uninitialized -> initialized
    [    1.303762] jesd204: /amba/spi@ff040000/adrv9009-phy@0: JESD204[1] transition uninitialized -> initialized
    [    1.303774] jesd204: /amba/spi@ff040000/adrv9009-phy@0: JESD204[2] transition uninitialized -> initialized
    [    5.894968] adrv9009 spi1.0: adrv9009_probe : enter
    [    5.900627] adrv9009 spi1.1: adrv9009_probe : enter
    [    6.428197] adrv9009 spi1.0: adrv9009_probe : enter
    [    6.438111] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition initialized -> probed
    [    6.449260] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition initialized -> probed
    [    6.460395] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition initialized -> probed
    [    6.471530] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition probed -> idle
    [    6.482052] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition probed -> idle
    [    6.492572] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition probed -> idle
    [    6.503098] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition idle -> device_init
    [    6.514055] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition idle -> device_init
    [    6.525009] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition idle -> device_init
    [    6.535969] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition device_init -> link_init
    [    6.547361] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition device_init -> link_init
    [    6.558749] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition device_init -> link_init
    [    6.570145] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_init -> link_supported
    [    6.581795] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition link_init -> link_supported
    [    6.593443] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_init -> link_supported
    [    6.605462] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_supported -> link_pre_setup
    [    6.617560] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition link_supported -> link_pre_setup
    [    6.629650] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_supported -> link_pre_setup
    [    6.641737] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_pre_setup -> clk_sync_stage1
    [    6.653910] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition link_pre_setup -> clk_sync_stage1
    [    6.666079] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_pre_setup -> clk_sync_stage1
    [    6.678253] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage1 -> clk_sync_stage2
    [    6.690513] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition clk_sync_stage1 -> clk_sync_stage2
    [    6.702769] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage1 -> clk_sync_stage2
    [    6.715030] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage2 -> clk_sync_stage3
    [    6.727291] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition clk_sync_stage2 -> clk_sync_stage3
    [    6.739547] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage2 -> clk_sync_stage3
    [    6.752899] adrv9009 spi1.0: ADIHAL_resetHw
    [    7.123324] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage3 -> link_setup
    [    7.135156] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition clk_sync_stage3 -> link_setup
    [    7.146984] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage3 -> link_setup
    [    7.158947] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_setup -> opt_setup_stage1
    [    7.170865] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition link_setup -> opt_setup_stage1
    [    7.182783] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_setup -> opt_setup_stage1
    [    9.586180] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage1 -> opt_setup_stage2
    [    9.598617] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition opt_setup_stage1 -> opt_setup_stage2
    [    9.611053] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage1 -> opt_setup_stage2
    [    9.623614] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage2 -> opt_setup_stage3
    [    9.636053] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition opt_setup_stage2 -> opt_setup_stage3
    [    9.648489] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage2 -> opt_setup_stage3
    [    9.661102] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage3 -> opt_setup_stage4
    [    9.673534] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition opt_setup_stage3 -> opt_setup_stage4
    [    9.685969] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage3 -> opt_setup_stage4
    [   13.800418] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage4 -> opt_setup_stage5
    [   13.812852] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition opt_setup_stage4 -> opt_setup_stage5
    [   13.825287] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage4 -> opt_setup_stage5
    [   13.840002] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage5 -> clocks_enable
    [   13.852181] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition opt_setup_stage5 -> clocks_enable
    [   13.864358] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage5 -> clocks_enable
    [   13.876804] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition clocks_enable -> link_enable
    [   13.888549] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition clocks_enable -> link_enable
    [   13.900291] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition clocks_enable -> link_enable
    [   13.912403] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_enable -> link_running
    [   13.924060] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition link_enable -> link_running
    [   13.935715] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_enable -> link_running
    [   13.950016] adrv9009 spi1.0: adrv9009_info: adrv9009 Rev 192, Firmware 6.0.2 API version: 3.6.0.5 successfully initialized via jesd204-fsm
    [   13.962453] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_running -> opt_post_running_stage
    [   13.975062] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[1] transition link_running -> opt_post_running_stage
    [   13.987667] jesd204: /amba/spi@ff040000/adrv9009-phy@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_running -> opt_post_running_stage
    [   14.000426] adrv9009 spi1.1: adrv9009_probe : enter
    [   14.010093] jesd204: /amba/spi@ff040000/adrv9009-phy@1,jesd204:1,parent=spi1.1: Device isn't a top-device, nor does it belong to topology with top-device
    [   14.025072] adrv9009: probe of spi1.1 failed with error -14
    [   14.051364] cf_axi_adc a00c0000.axi-adrv9009-rx-hpc: ADI AIM (10.00.b) at 0xA00C0000 mapped to 0x000000004a9ee787, probed ADC ADRV9009 as MASTER
    [   14.085090] cf_axi_dds a00c4000.axi-adrv9009-tx-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.00.b) at 0xA00C4000 mapped to 0x00000000cabac236, probed DDS AD9371

    I think the critical message for the second ADRV9009 is the following:

    [   14.000426] adrv9009 spi1.1: adrv9009_probe : enter
    [   14.010093] jesd204: /amba/spi@ff040000/adrv9009-phy@1,jesd204:1,parent=spi1.1: Device isn't a top-device, nor does it belong to topology with top-device
    [   14.025072] adrv9009: probe of spi1.1 failed with error -14

    Any suggestions please? I didn't set the second ADRV9009 to be a top device.

  • 0
    •  Analog Employees 
    on Apr 29, 2021 12:59 PM in reply to gavint

    Did you add:

    jesd204-device;

    jesd204-link-ids property and jesd204-inputs ?

    -Michael

  • I did yes. Here are the parts of the device tree for the second ADRV9009:

                trx1_adrv9009: adrv9009-phy@1 {
                    compatible = "adrv9009";
                    reg = <1>;

                    #address-cells = <1>;
                    #size-cells = <0>;

                    // SPI Setup
                    // GT 21042021 THIS IS ACTUALLY NEEDED spi-max-frequency = <25000000>;
                    spi-max-frequency = <10000000>;

                    //reset-gpios = <&gpio 110 0>;
                    //sysref-req-gpios = <&gpio 111 0>;

                    // Clocks
                    clocks = <&axi_adrv9009_rx_jesd_1>, <&axi_adrv9009_tx_jesd_1>,
                        <&axi_adrv9009_rx_os_jesd_1>, <&hmc7044 4>, <&hmc7044 8>, <&hmc7044 5>, <&hmc7044 1>;
                    //clock-names = "jesd_rx_clk_1", "jesd_tx_clk_1", "jesd_rx_os_clk_1", "adrv9009_1_sysclk", "jesd204b1_gbtclk", "adrv9009_1_sysref", "som_sysref";
                    clock-names = "jesd_rx_clk", "jesd_tx_clk", "jesd_rx_os_clk", "dev_clk", "fmc_clk", "sysref_dev_clk", "sysref_fmc_clk";

                    clock-output-names = "rx_sampl_clk_1", "rx_os_sampl_clk_1", "tx_sampl_clk_1";
                    #clock-cells = <1>;

                    // JESD204

                    // JESD204 RX
                    adi,jesd204-framer-a-bank-id = <1>;
                    adi,jesd204-framer-a-device-id = <0>;
                    adi,jesd204-framer-a-lane0-id = <0>;
                    adi,jesd204-framer-a-m = <4>;
                    adi,jesd204-framer-a-k = <32>;
                    adi,jesd204-framer-a-f = <4>;
                    adi,jesd204-framer-a-np = <16>;
                    adi,jesd204-framer-a-scramble = <1>;
                    adi,jesd204-framer-a-external-sysref = <1>;
                    adi,jesd204-framer-a-serializer-lanes-enabled = <0x03>;
                    adi,jesd204-framer-a-serializer-lane-crossbar = <0xE4>;
                    adi,jesd204-framer-a-lmfc-offset = <31>;
                    adi,jesd204-framer-a-new-sysref-on-relink = <0>;
                    adi,jesd204-framer-a-syncb-in-select = <0>;
                    adi,jesd204-framer-a-over-sample = <0>;
                    adi,jesd204-framer-a-syncb-in-lvds-mode = <1>;
                    adi,jesd204-framer-a-syncb-in-lvds-pn-invert = <0>;
                    adi,jesd204-framer-a-enable-manual-lane-xbar = <0>;

                    // JESD204 OBS
                    adi,jesd204-framer-b-bank-id = <0>;
                    adi,jesd204-framer-b-device-id = <0>;
                    adi,jesd204-framer-b-lane0-id = <0>;
                    adi,jesd204-framer-b-m = <4>;
                    adi,jesd204-framer-b-k = <32>;
                    adi,jesd204-framer-b-f = <4>;
                    adi,jesd204-framer-b-np = <16>;
                    adi,jesd204-framer-b-scramble = <1>;
                    adi,jesd204-framer-b-external-sysref = <1>;
                    adi,jesd204-framer-b-serializer-lanes-enabled = <0x0C>;
                    adi,jesd204-framer-b-serializer-lane-crossbar = <0xE4>;
                    adi,jesd204-framer-b-lmfc-offset = <31>;
                    adi,jesd204-framer-b-new-sysref-on-relink = <0>;
                    adi,jesd204-framer-b-syncb-in-select = <1>;
                    adi,jesd204-framer-b-over-sample = <0>;
                    adi,jesd204-framer-b-syncb-in-lvds-mode = <1>;
                    adi,jesd204-framer-b-syncb-in-lvds-pn-invert = <0>;
                    adi,jesd204-framer-b-enable-manual-lane-xbar = <0>;

                    // JESD204 TX
                    adi,jesd204-deframer-a-bank-id = <0>;
                    adi,jesd204-deframer-a-device-id = <0>;
                    adi,jesd204-deframer-a-lane0-id = <0>;
                    adi,jesd204-deframer-a-m = <4>;
                    adi,jesd204-deframer-a-k = <32>;
                    adi,jesd204-deframer-a-scramble = <1>;
                    adi,jesd204-deframer-a-external-sysref = <1>;
                    adi,jesd204-deframer-a-deserializer-lanes-enabled = <0x0F>;
                    adi,jesd204-deframer-a-deserializer-lane-crossbar = <0xE4>;
                    adi,jesd204-deframer-a-lmfc-offset = <17>;
                    adi,jesd204-deframer-a-new-sysref-on-relink = <0>;
                    adi,jesd204-deframer-a-syncb-out-select = <0>;
                    adi,jesd204-deframer-a-np = <16>;
                    adi,jesd204-deframer-a-syncb-out-lvds-mode = <1>;
                    adi,jesd204-deframer-a-syncb-out-lvds-pn-invert = <0>;
                    adi,jesd204-deframer-a-syncb-out-cmos-slew-rate = <0>;
                    adi,jesd204-deframer-a-syncb-out-cmos-drive-level = <0>;
                    adi,jesd204-deframer-a-enable-manual-lane-xbar = <0>;

                    adi,jesd204-ser-amplitude = <15>;
                    adi,jesd204-ser-pre-emphasis = <1>;
                    adi,jesd204-ser-invert-lane-polarity = <0>;
                    adi,jesd204-des-invert-lane-polarity = <0>;
                    adi,jesd204-des-eq-setting = <1>;
                    adi,jesd204-sysref-lvds-mode = <1>;
                    adi,jesd204-sysref-lvds-pn-invert = <0>;

                    // RX

                    adi,rx-profile-rx-fir-gain_db = <(-6)>;
                    adi,rx-profile-rx-fir-num-fir-coefs = <48>;
                    adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-2) (23) (46) (-17) (-104) (10) (208) (23) (-370) (-97) (607) (240) (-942) (-489) (1407) (910) (-2065) (-1637) (3058) (2995) (-4912) (-6526) (9941) (30489) (30489) (9941) (-6526) (-4912) (2995) (3058) (-1637) (-2065) (910) (1407) (-489) (-942) (240) (607) (-97) (-370) (23) (208) (10) (-104) (-17) (46) (23) (-2)>;
                    // 208MHz adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-6) (-22) (31) (48) (-68) (-107) (141) (201) (-254) (-351) (431) (576) (-691) (-910) (1075) (1410) (-1649) (-2205) (2562) (3613) (-4348) (-7172) (9326) (31134) (31134) (9326) (-7172) (-4348) (3613) (2562) (-2205) (-1649) (1410) (1075) (-910) (-691) (576) (431) (-351) (-254) (201) (141) (-107) (-68) (48) (31) (-22) (-6)>;

                    adi,rx-profile-rx-fir-decimation = <2>;
                    adi,rx-profile-rx-dec5-decimation = <4>;
                    adi,rx-profile-rhb1-decimation = <1>;
                    adi,rx-profile-rx-output-rate_khz = <245760>;
                    // 208MHz adi,rx-profile-rx-output-rate_khz = <208000>;
                    adi,rx-profile-rf-bandwidth_hz = <200000000>;
                    // 208MHz adi,rx-profile-rf-bandwidth_hz = <169000000>;
                    adi,rx-profile-rx-bbf3d-bcorner_khz = <200000>;
                    // 208MHz adi,rx-profile-rx-bbf3d-bcorner_khz = <169000>;
                    adi,rx-profile-rx-adc-profile = /bits/ 16 <182 142 173 90 1280 982 1335 96 1369 48 1012 18 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    // 208MHz adi,rx-profile-rx-adc-profile = /bits/ 16 <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    adi,rx-profile-rx-ddc-mode = <0>;

                    adi,rx-nco-shifter-band-a-input-band-width_khz = <0>;
                    adi,rx-nco-shifter-band-a-input-center-freq_khz = <0>;
                    adi,rx-nco-shifter-band-a-nco1-freq_khz = <0>;
                    adi,rx-nco-shifter-band-a-nco2-freq_khz = <0>;
                    adi,rx-nco-shifter-band-binput-band-width_khz = <0>;
                    adi,rx-nco-shifter-band-binput-center-freq_khz = <0>;
                    adi,rx-nco-shifter-band-bnco1-freq_khz = <0>;
                    adi,rx-nco-shifter-band-bnco2-freq_khz = <0>;

                    adi,rx-gain-control-gain-mode = <0>;
                    adi,rx-gain-control-rx1-gain-index = <255>;
                    adi,rx-gain-control-rx2-gain-index = <255>;
                    adi,rx-gain-control-rx1-max-gain-index = <255>;
                    adi,rx-gain-control-rx1-min-gain-index = <195>;
                    adi,rx-gain-control-rx2-max-gain-index = <255>;
                    adi,rx-gain-control-rx2-min-gain-index = <195>;

                    adi,rx-settings-framer-sel = <0>;
                    adi,rx-settings-rx-channels = <3>;

                    // ORX

                    adi,orx-profile-rx-fir-gain_db = <6>;
                    // 208MHz adi,orx-profile-rx-fir-gain_db = <(-6)>;
                    adi,orx-profile-rx-fir-num-fir-coefs = <24>;
                    // 208MHz adi,orx-profile-rx-fir-num-fir-coefs = <48>;
                    adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-10) (7) (-10) (-12) (6) (-12) (16) (-16) (1) (63) (-431) (17235) (-431) (63) (1) (-16) (16) (-12) (6) (-12) (-10) (7) (-10) (0)>;
                    // 208MHz adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-7) (-19) (29) (44) (-64) (-98) (118) (152) (-265) (-315) (425) (523) (-672) (-830) (1037) (1289) (-1588) (-2018) (2477) (3327) (-4207) (-6558) (9518) (30464) (30464) (9518) (-6558) (-4207) (3327) (2477) (-2018) (-1588) (1289) (1037) (-830) (-672) (523) (425) (-315) (-265) (152) (118) (-98) (-64) (44) (29) (-19) (-7)>;
                    adi,orx-profile-rx-fir-decimation = <1>;
                    // 208MHz adi,orx-profile-rx-fir-decimation = <2>;
                    adi,orx-profile-rx-dec5-decimation = <4>;
                    adi,orx-profile-rhb1-decimation = <2>;
                    // 208MHz adi,orx-profile-rhb1-decimation = <1>;
                    adi,orx-profile-orx-output-rate_khz = <245760>;
                    // 208MHz adi,orx-profile-orx-output-rate_khz = <208000>;
                    adi,orx-profile-rf-bandwidth_hz = <200000000>;
                    // 208MHz adi,orx-profile-rf-bandwidth_hz = <169000000>;
                    adi,orx-profile-rx-bbf3d-bcorner_khz = <225000>;
                    adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <185 141 172 90 1280 942 1332 90 1368 46 1016 19 48 48 37 208 0 0 0 0 52 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    // 208MHz adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
                    // 208MHz adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <219 166 181 90 1280 940 1322 89 1216 41 857 19 48 42 31 212 0 0 0 0 53 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
                    adi,orx-profile-orx-ddc-mode = <0>;
                    adi,orx-profile-orx-merge-filter = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0>;

                    adi,orx-gain-control-gain-mode = <0>;
                    adi,orx-gain-control-orx1-gain-index = <255>;
                    adi,orx-gain-control-orx2-gain-index = <255>;
                    adi,orx-gain-control-orx1-max-gain-index = <255>;
                    adi,orx-gain-control-orx1-min-gain-index = <195>;
                    adi,orx-gain-control-orx2-max-gain-index = <255>;
                    adi,orx-gain-control-orx2-min-gain-index = <195>;

                    adi,obs-settings-framer-sel = <1>;
                    adi,obs-settings-obs-rx-channels-enable = <3>;
                    adi,obs-settings-obs-rx-lo-source = <0>;

                    // TX

                    adi,tx-profile-tx-fir-gain_db = <0>;
                    adi,tx-profile-tx-fir-num-fir-coefs = <20>;
                    adi,tx-profile-tx-fir-coefs = /bits/ 16  <(32) (-76) (124) (-160) (176) (-121) (-145) (1031) (-3015) (20138) (-3015) (1031) (-145) (-121) (176) (-160) (124) (-76) (32) (0)>;

                    adi,tx-profile-dac-div = <1>;

                    adi,tx-profile-tx-fir-interpolation = <1>;
                    adi,tx-profile-thb1-interpolation = <2>;
                    adi,tx-profile-thb2-interpolation = <2>;
                    adi,tx-profile-thb3-interpolation = <1>;
                    adi,tx-profile-tx-int5-interpolation = <1>;
                    adi,tx-profile-tx-input-rate_khz = <491520>;
                    adi,tx-profile-primary-sig-bandwidth_hz = <150000000>;
                    adi,tx-profile-rf-bandwidth_hz = <400000000>;
                    adi,tx-profile-tx-dac3d-bcorner_khz = <400000>;
                    adi,tx-profile-tx-bbf3d-bcorner_khz = <200000>;
                    adi,tx-profile-loop-back-adc-profile = /bits/ 16 <186 148 176 90 1280 901 1479 225 1401 85 995 21 48 48 36 207 0 0 0 0 52 0 0 6 24 0 0 6 24 0 25 27 0 0 25 27 0 0 165 44 15 905>;

                    adi,tx-settings-deframer-sel = <0>;
                    adi,tx-settings-tx-channels = <3>;
                    adi,tx-settings-tx-atten-step-size = <0>;
                    adi,tx-settings-tx1-atten_md-b = <10000>;
                    adi,tx-settings-tx2-atten_md-b = <10000>;
                    adi,tx-settings-dis-tx-data-if-pll-unlock = <0>;

                    // Clocks

                    adi,dig-clocks-device-clock_khz = <245760>;
                    // 208MHz adi,dig-clocks-device-clock_khz = <208000>;
                    adi,dig-clocks-clk-pll-vco-freq_khz = <9830400>;
                    // 208MHz adi,dig-clocks-clk-pll-vco-freq_khz = <8320000>;
                    adi,dig-clocks-clk-pll-hs-div = <1>;
                    adi,dig-clocks-rf-pll-use-external-lo = <0>;
                    adi,dig-clocks-rf-pll-phase-sync-mode = <0>;

                    // AGC

                    adi,rxagc-peak-agc-under-range-low-interval_ns = <205>;
                    adi,rxagc-peak-agc-under-range-mid-interval = <2>;
                    adi,rxagc-peak-agc-under-range-high-interval = <4>;
                    adi,rxagc-peak-apd-high-thresh = <39>;
                    adi,rxagc-peak-apd-low-gain-mode-high-thresh = <36>;
                    adi,rxagc-peak-apd-low-thresh = <23>;
                    adi,rxagc-peak-apd-low-gain-mode-low-thresh = <19>;
                    adi,rxagc-peak-apd-upper-thresh-peak-exceeded-cnt = <6>;
                    adi,rxagc-peak-apd-lower-thresh-peak-exceeded-cnt = <3>;
                    adi,rxagc-peak-apd-gain-step-attack = <4>;
                    adi,rxagc-peak-apd-gain-step-recovery = <2>;
                    adi,rxagc-peak-enable-hb2-overload = <1>;
                    adi,rxagc-peak-hb2-overload-duration-cnt = <1>;
                    adi,rxagc-peak-hb2-overload-thresh-cnt = <4>;
                    adi,rxagc-peak-hb2-high-thresh = <181>;
                    adi,rxagc-peak-hb2-under-range-low-thresh = <45>;
                    adi,rxagc-peak-hb2-under-range-mid-thresh = <90>;
                    adi,rxagc-peak-hb2-under-range-high-thresh = <128>;
                    adi,rxagc-peak-hb2-upper-thresh-peak-exceeded-cnt = <6>;
                    adi,rxagc-peak-hb2-lower-thresh-peak-exceeded-cnt = <3>;
                    adi,rxagc-peak-hb2-gain-step-high-recovery = <2>;
                    adi,rxagc-peak-hb2-gain-step-low-recovery = <4>;
                    adi,rxagc-peak-hb2-gain-step-mid-recovery = <8>;
                    adi,rxagc-peak-hb2-gain-step-attack = <4>;
                    adi,rxagc-peak-hb2-overload-power-mode = <1>;
                    adi,rxagc-peak-hb2-ovrg-sel = <0>;
                    adi,rxagc-peak-hb2-thresh-config = <3>;

                    adi,rxagc-power-power-enable-measurement = <1>;
                    adi,rxagc-power-power-use-rfir-out = <1>;
                    adi,rxagc-power-power-use-bbdc2 = <0>;
                    adi,rxagc-power-under-range-high-power-thresh = <9>;
                    adi,rxagc-power-under-range-low-power-thresh = <2>;
                    adi,rxagc-power-under-range-high-power-gain-step-recovery = <4>;
                    adi,rxagc-power-under-range-low-power-gain-step-recovery = <4>;
                    adi,rxagc-power-power-measurement-duration = <5>;
                    adi,rxagc-power-rx1-tdd-power-meas-duration = <5>;
                    adi,rxagc-power-rx1-tdd-power-meas-delay = <1>;
                    adi,rxagc-power-rx2-tdd-power-meas-duration = <5>;
                    adi,rxagc-power-rx2-tdd-power-meas-delay = <1>;
                    adi,rxagc-power-upper0-power-thresh = <2>;
                    adi,rxagc-power-upper1-power-thresh = <0>;
                    adi,rxagc-power-power-log-shift = <0>;

                    adi,rxagc-agc-peak-wait-time = <4>;
                    adi,rxagc-agc-rx1-max-gain-index = <255>;
                    adi,rxagc-agc-rx1-min-gain-index = <195>;
                    adi,rxagc-agc-rx2-max-gain-index = <255>;
                    adi,rxagc-agc-rx2-min-gain-index = <195>;
                    adi,rxagc-agc-gain-update-counter_us = <250>;
                    adi,rxagc-agc-rx1-attack-delay = <10>;
                    adi,rxagc-agc-rx2-attack-delay = <10>;
                    adi,rxagc-agc-slow-loop-settling-delay = <16>;
                    adi,rxagc-agc-low-thresh-prevent-gain = <0>;
                    adi,rxagc-agc-change-gain-if-thresh-high = <1>;
                    adi,rxagc-agc-peak-thresh-gain-control-mode = <1>;
                    adi,rxagc-agc-reset-on-rxon = <0>;
                    adi,rxagc-agc-enable-sync-pulse-for-gain-counter = <0>;
                    adi,rxagc-agc-enable-ip3-optimization-thresh = <0>;
                    adi,rxagc-ip3-over-range-thresh = <31>;
                    adi,rxagc-ip3-over-range-thresh-index = <246>;
                    adi,rxagc-ip3-peak-exceeded-cnt = <4>;
                    adi,rxagc-agc-enable-fast-recovery-loop = <0>;


                    // Misc

                    adi,aux-dac-enables = <0x00>; // Mask

                    adi,aux-dac-vref0 = <3>;
                    adi,aux-dac-resolution0 = <0>;
                    adi,aux-dac-values0 = <0>;
                    adi,aux-dac-vref1 = <3>;
                    adi,aux-dac-resolution1 = <0>;
                    adi,aux-dac-values1 = <0>;
                    adi,aux-dac-vref2 = <3>;
                    adi,aux-dac-resolution2 = <0>;
                    adi,aux-dac-values2 = <0>;
                    adi,aux-dac-vref3 = <3>;
                    adi,aux-dac-resolution3 = <0>;
                    adi,aux-dac-values3 = <0>;
                    adi,aux-dac-vref4 = <3>;
                    adi,aux-dac-resolution4 = <0>;
                    adi,aux-dac-values4 = <0>;
                    adi,aux-dac-vref5 = <3>;
                    adi,aux-dac-resolution5 = <0>;
                    adi,aux-dac-values5 = <0>;
                    adi,aux-dac-vref6 = <3>;
                    adi,aux-dac-resolution6 = <0>;
                    adi,aux-dac-values6 = <0>;
                    adi,aux-dac-vref7 = <3>;
                    adi,aux-dac-resolution7 = <0>;
                    adi,aux-dac-values7 = <0>;
                    adi,aux-dac-vref8 = <3>;
                    adi,aux-dac-resolution8 = <0>;
                    adi,aux-dac-values8 = <0>;
                    adi,aux-dac-vref9 = <3>;
                    adi,aux-dac-resolution9 = <0>;
                    adi,aux-dac-values9 = <0>;
                    adi,aux-dac-vref10 = <3>;
                    adi,aux-dac-resolution10 = <0>;
                    adi,aux-dac-values10 = <0>;
                    adi,aux-dac-vref11 = <3>;
                    adi,aux-dac-resolution11 = <0>;
                    adi,aux-dac-values11 = <0>;

                    adi,arm-gpio-config-orx1-tx-sel0-pin-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-orx1-tx-sel0-pin-polarity = <0>;
                    adi,arm-gpio-config-orx1-tx-sel0-pin-enable = <0>;

                    adi,arm-gpio-config-orx1-tx-sel1-pin-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-orx1-tx-sel1-pin-polarity = <0>;
                    adi,arm-gpio-config-orx1-tx-sel1-pin-enable = <0>;
                    adi,arm-gpio-config-orx2-tx-sel0-pin-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-orx2-tx-sel0-pin-polarity = <0>;
                    adi,arm-gpio-config-orx2-tx-sel0-pin-enable = <0>;

                    adi,arm-gpio-config-orx2-tx-sel1-pin-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-orx2-tx-sel1-pin-polarity = <0>;
                    adi,arm-gpio-config-orx2-tx-sel1-pin-enable = <0>;
                    adi,arm-gpio-config-en-tx-tracking-cals-gpio-pin-sel = <0>;
                    adi,arm-gpio-config-en-tx-tracking-cals-polarity = <0>;
                    adi,arm-gpio-config-en-tx-tracking-cals-enable = <0>;

                    adi,orx-lo-cfg-disable-aux-pll-relocking = <0>;
                    adi,orx-lo-cfg-gpio-select = <19>;

                    adi,fhm-config-fhm-gpio-pin = <0>;
                    adi,fhm-config-fhm-min-freq_mhz = <2400>;
                    adi,fhm-config-fhm-max-freq_mhz = <2500>;

                    adi,fhm-mode-fhm-enable = <0>;
                    adi,fhm-mode-enable-mcs-sync = <0>;
                    adi,fhm-mode-fhm-trigger-mode = <0>;
                    adi,fhm-mode-fhm-exit-mode = <1>;
                    adi,fhm-mode-fhm-init-frequency_hz = <2450000000>;

                    adi,rx1-gain-ctrl-pin-inc-step = <1>;
                    adi,rx1-gain-ctrl-pin-dec-step = <1>;
                    adi,rx1-gain-ctrl-pin-rx-gain-inc-pin = <0>;
                    adi,rx1-gain-ctrl-pin-rx-gain-dec-pin = <1>;
                    adi,rx1-gain-ctrl-pin-enable = <0>;

                    adi,rx2-gain-ctrl-pin-inc-step = <1>;
                    adi,rx2-gain-ctrl-pin-dec-step = <1>;
                    adi,rx2-gain-ctrl-pin-rx-gain-inc-pin = <3>;
                    adi,rx2-gain-ctrl-pin-rx-gain-dec-pin = <4>;
                    adi,rx2-gain-ctrl-pin-enable = <0>;

                    adi,tx1-atten-ctrl-pin-step-size = <0>;
                    adi,tx1-atten-ctrl-pin-tx-atten-inc-pin = <4>;
                    adi,tx1-atten-ctrl-pin-tx-atten-dec-pin = <5>;
                    adi,tx1-atten-ctrl-pin-enable = <0>;

                    adi,tx2-atten-ctrl-pin-step-size = <0>;
                    adi,tx2-atten-ctrl-pin-tx-atten-inc-pin = <6>;
                    adi,tx2-atten-ctrl-pin-tx-atten-dec-pin = <7>;
                    adi,tx2-atten-ctrl-pin-enable = <0>;

                    adi,tx-pa-protection-avg-duration = <3>;
                    adi,tx-pa-protection-tx-atten-step = <2>;
                    adi,tx-pa-protection-tx1-power-threshold = <4096>;
                    adi,tx-pa-protection-tx2-power-threshold = <4096>;
                    adi,tx-pa-protection-peak-count = <4>;
                    adi,tx-pa-protection-tx1-peak-threshold = <140>;
                    adi,tx-pa-protection-tx2-peak-threshold = <140>;

                    jesd204-device;
                    #jesd204-cells = <2>;
                    jesd204-link-ids = <DEFRAMER_LINK_TX FRAMER_LINK_RX FRAMER_LINK_ORX>;

                    jesd204-inputs =
                        <&axi_adrv9009_rx_jesd_1 0 FRAMER_LINK_RX>,
                        <&axi_adrv9009_rx_os_jesd_1 0 FRAMER_LINK_ORX>,
                        <&axi_adrv9009_tx_jesd_1 0 DEFRAMER_LINK_TX>;

                    /delete-property/ interrupts;
                };

    And for the PL firmware of the second ADRV9009:

            rx_dma_1: dma@a01a0000 {
                compatible = "adi,axi-dmac-1.00.a";
                reg = <0x0 0xa01a0000 0x0 0x10000>;
                #dma-cells = <1>;
                #clock-cells = <0>;
                interrupt-parent = <&axi_intc>;
                interrupts = <0xb 0x2>;
                clocks = <&zynqmp_clk PL1_REF>;

                adi,channels {
                    #size-cells = <0>;
                    #address-cells = <1>;

                    dma-channel@0 {
                        reg = <0>;
                        adi,source-bus-width = <64>;
                        adi,source-bus-type = <2>;
                        adi,destination-bus-width = <64>;
                        adi,destination-bus-type = <0>;
                    };
                };
            };

            rx_obs_dma_1: dma@a0180000 {
                compatible = "adi,axi-dmac-1.00.a";
                reg = <0x0 0xa0180000 0x0 0x10000>;
                #dma-cells = <1>;
                #clock-cells = <0>;
                interrupt-parent = <&axi_intc>;
                interrupts = <0x9 0x2>;
                clocks = <&zynqmp_clk PL1_REF>;

                adi,channels {
                    #size-cells = <0>;
                    #address-cells = <1>;

                    dma-channel@0 {
                        reg = <0>;
                        adi,source-bus-width = <128>;
                        adi,source-bus-type = <2>;
                        adi,destination-bus-width = <64>;
                        adi,destination-bus-type = <0>;
                    };
                };
            };

            tx_dma_1: dma@a0160000  {
                compatible = "adi,axi-dmac-1.00.a";
                reg = <0x0 0xa0160000 0x0 0x10000>;
                #dma-cells = <1>;
                #clock-cells = <0>;
                interrupt-parent = <&axi_intc>;
                interrupts = <0xa 0x2>;
                clocks = <&zynqmp_clk PL1_REF>;

                adi,channels {
                    #size-cells = <0>;
                    #address-cells = <1>;

                    dma-channel@0 {
                        reg = <0>;
                        adi,source-bus-width = <128>;
                        adi,source-bus-type = <0>;
                        adi,destination-bus-width = <128>;
                        adi,destination-bus-type = <2>;
                    };
                };
            };

            axi_adrv9009_core_rx_1: axi-adrv9009-rx-hpc-b@a00e0000 {
                compatible = "adi,axi-adrv9009-rx-1.0";
                reg = <0x0 0xa00e0000 0x0 0x8000>;
                dmas = <&rx_dma_1 0>;
                dma-names = "rx";
                spibus-connected = <&trx1_adrv9009>;
            };

            axi_adrv9009_core_rx_obs_1: axi-adrv9009-rx-obs-hpc-b@a00e8000 {
                compatible = "adi,axi-adrv9009-obs-1.0";
                reg = <0x0 0xa00e8000 0x0 0x1000>;
                dmas = <&rx_obs_dma_1 0>;
                dma-names = "rx";
                clocks = <&trx1_adrv9009 1>;
                clock-names = "sampl_clk";
            };

            axi_adrv9009_core_tx_1: axi-adrv9009-tx-hpc-b@a00e4000 {
                compatible = "adi,axi-adrv9009-tx-1.0";
                reg = <0x0 0xa00e4000 0x0 0x4000>;
                dmas = <&tx_dma_1 0>;
                dma-names = "tx";
                clocks = <&trx1_adrv9009 2>;
                clock-names = "sampl_clk";
                spibus-connected = <&trx1_adrv9009>;
                //adi,axi-pl-fifo-enable;
                plddrbypass-gpios = <&gpio 113 0>;
            };
            
            axi_adrv9009_rx_jesd_1: axi_jesd204_rx@a0020000 {
                compatible = "adi,axi-jesd204-rx-1.0";
                reg = <0x0 0xa0020000 0x0 0x4000>;

                clocks = <&zynqmp_clk PL0_REF>, <&axi_adrv9009_adxcvr_rx_1 1>, <&axi_adrv9009_adxcvr_rx_1 0>;
                clock-names = "s_axi_aclk", "device_clk", "lane_clk";

                #clock-cells = <0>;
                clock-output-names = "jesd_rx_lane_clk";

                adi,octets-per-frame = <4>;
                adi,frames-per-multiframe = <32>;

                jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs = <&axi_adrv9009_adxcvr_rx_1 0 FRAMER_LINK_RX>;
            };

            axi_adrv9009_tx_jesd_1: axi_jesd204_tx@a0028000 {
                compatible = "adi,axi-jesd204-tx-1.0";
                reg = <0x0 0xa0028000 0x0 0x4000>;

                clocks = <&zynqmp_clk PL0_REF>, <&axi_adrv9009_adxcvr_tx_1 1>, <&axi_adrv9009_adxcvr_tx_1 0>;
                clock-names = "s_axi_aclk", "device_clk", "lane_clk";

                #clock-cells = <0>;
                clock-output-names = "jesd_tx_lane_clk";

                adi,octets-per-frame = <2>;
                adi,frames-per-multiframe = <32>;
                adi,converter-resolution = <14>;
                adi,bits-per-sample = <16>;
                adi,converters-per-device = <4>;
                adi,control-bits-per-sample = <2>;

                jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs = <&axi_adrv9009_adxcvr_tx_1 0 DEFRAMER_LINK_TX>;
            };

            axi_adrv9009_rx_os_jesd_1: axi_jesd204_rx@a0024000 {
                compatible = "adi,axi-jesd204-rx-1.0";
                reg = <0x0 0xa0024000 0x0 0x4000>;

                clocks = <&zynqmp_clk PL0_REF>, <&axi_adrv9009_adxcvr_rx_os_1 1>, <&axi_adrv9009_adxcvr_rx_os_1 0>;
                clock-names = "s_axi_aclk", "device_clk", "lane_clk";

                #clock-cells = <0>;
                clock-output-names = "jesd_rx_os_lane_clk";

                adi,octets-per-frame = <4>;
                adi,frames-per-multiframe = <32>;

                jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs = <&axi_adrv9009_adxcvr_rx_os_1 0 FRAMER_LINK_ORX>;
            };

            axi_adrv9009_adxcvr_rx_1: axi_adxcvr@a00a0000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "adi,axi-adxcvr-1.0";
                reg = <0x0 0xa00a0000 0x0 0x10000>;

                clocks = <&hmc7044 8>;
                clock-names = "conv";

                #clock-cells = <1>;
                clock-output-names = "rx_gt_clk", "rx_out_clk";

                adi,sys-clk-select = <0>;
                adi,out-clk-select = <3>;
                adi,use-lpm-enable;
                adi,use-cpll-enable;

                jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs =  <&hmc7044 8 FRAMER_LINK_RX>;
            };

            axi_adrv9009_adxcvr_rx_os_1: axi_adxcvr@a0030000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "adi,axi-adxcvr-1.0";
                reg = <0x0 0xa0030000 0x0 0x10000>;

                clocks = <&hmc7044 8>;
                clock-names = "conv";

                #clock-cells = <1>;
                clock-output-names = "rx_os_gt_clk", "rx_os_out_clk";

                adi,sys-clk-select = <0>;
                adi,out-clk-select = <3>;
                adi,use-lpm-enable;
                adi,use-cpll-enable;

                    jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs =  <&hmc7044 8 FRAMER_LINK_ORX>;
            };

            axi_adrv9009_adxcvr_tx_1: axi_adxcvr@a00d0000 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "adi,axi-adxcvr-1.0";
                reg = <0x0 0xa00d0000 0x0 0x10000>;

                clocks = <&hmc7044 8>;
                clock-names = "conv";

                #clock-cells = <1>;
                clock-output-names = "tx_gt_clk", "tx_out_clk";

                adi,sys-clk-select = <3>;
                adi,out-clk-select = <3>;

                    jesd204-device;
                #jesd204-cells = <2>;
                jesd204-inputs =  <&hmc7044 8 DEFRAMER_LINK_TX>;
            };

  • 0
    •  Analog Employees 
    on Apr 29, 2021 1:55 PM in reply to gavint

    I guess you don't link them correctly by their inputs.

    You need to build a straight connection for each link

    trx0_adrv9009 -> trx1_adrv9009 -> trx1_adrv9009 -> axi_adrv9009_rx_jesd_0 -> axi_adrv9009_rx_jesd_1 -> axi_adrv9009_rx_jesd_2 ->  axi_adrv9009_adxcvr_tx_0 -> axi_adrv9009_adxcvr_tx_1 ->axi_adrv9009_adxcvr_tx_2 ->  hmc7044 

    -Michael

  • So I have followed the connection instructions of the following link:

    wiki.analog.com/.../jesd204-fsm-framework

    I have a question about the Multi-Chip Multi-Link example.

    In this device tree, the final ADRV9009 in the chain (trx3_adrv9009) connects it's DEFRAMER_LINK_TX to axi_adrv9009_core_tx. This axi_adrv9009_core_tx then connects to axi_adrv9009_tx_jesd. Both the FRAMER_LINK_RX and FRAMER_LINK_ORX both connect directly to their corresponding JESD components.

    Is this intentional?

    In my case where I have three axi_adrv9009_core_tx components, must the DEFRAMER_LINK_TX connection be:

    trx0_adrv9009 -> trx1_adrv9009 -> trx2_adrv9009 -> axi_adrv9009_core_tx0 -> axi_adrv9009_core_tx1 -> axi_adrv9009_core_tx2 -> axi_adrv9009_tx_jesd_0 -> axi_adrv9009_tx_jesd_1 -> axi_adrv9009_tx_jesd_2 -> axi_adrv9009_adxcvr_tx_0 -> axi_adrv9009_adxcvr_tx_1 -> axi_adrv9009_adxcvr_tx_2 -> hmc7044