Post Go back to editing

spi issue

Thread Summary

The user encountered an issue with the AD9081 where the 'channels' attribute was missing, leading to a script failure. The problem was identified as a hardware issue with a resistor (R1M) that had fallen off, affecting the RX channels. The user resolved the issue by replacing the resistor, as suggested in the Analog Devices X-Band Platform hardware guide. No changes to the device tree or software were necessary.
AI Generated Content
Category: Software
Product Number: AD9081

I have been trying to run the ad9081 pyadi-iio examples and I recently started having this issue where it says the ad9081.py does not have attribute "channels". 

python3 ad9081_dma_example.py
Traceback (most recent call last):
File "/home/kenneth/Downloads/dds_compiler_multitone/ad9081_dma_example.py", line 21, in <module>
dev = adi.ad9081("ip:192.168.3.10")
File "/home/kenneth/.local/lib/python3.10/site-packages/adi/ad9081.py", line 101, in __init__
self._rx_complex_data = are_channels_complex(self._rxadc.channels)
AttributeError: 'NoneType' object has no attribute 'channels'

I went to look at the ad9081 node being initialized from the device tree, which is under spi. It says that the ad9081 node is not working somehow. I want to know how to fix this so I can run my ad9081 pyadi-iio scripts. I was able to run it before but I do not understand if I made a wrong change in the device tree or if its to do with my libiio, pyadi-iio, or iio drivers?

root@analog:~# dmesg | grep ad9081
[ 1.069027] jesd204: created con: id=4, topo=0, link=0, /fpga-axi@0/axi-jesd204-tx@84b90000 <-> /fpga-axi@0/axi-ad9081-tx-hpc@84b10000
[ 1.081080] jesd204: created con: id=5, topo=0, link=2, /fpga-axi@0/axi-jesd204-rx@84a90000 <-> /fpga-axi@0/axi-ad9081-rx-hpc@84a10000
[ 1.093101] jesd204: created con: id=6, topo=0, link=2, /fpga-axi@0/axi-ad9081-rx-hpc@84a10000 <-> /axi/spi@ff040000/ad9081@0
[ 1.104318] jesd204: created con: id=7, topo=0, link=0, /fpga-axi@0/axi-ad9081-tx-hpc@84b10000 <-> /axi/spi@ff040000/ad9081@0
[ 1.115569] jesd204: /axi/spi@ff040000/ad9081@0: JESD204[0:2] transition uninitialized -> initialized
[ 1.124730] jesd204: /axi/spi@ff040000/ad9081@0: JESD204[0:0] transition uninitialized -> initialized
[ 1.895673] axi_sysid 85000000.axi-sysid-0: [ad9081_fmca_ebz] [8B10B RX:RATE=10 M=8 L=4 S=1 NP=16 LINKS=1 TPL_W= TX:RATE=10 M=8 L=4 S=1 NP=16 LINKS=1 TPL_W= SHARED_DEVCLK=0 TDD:SUPPORT=0 CHANNEL_CNT=2 SYNC_WIDTH=32 SYNC_INT=1 SYNC_EXT=0 SYNC_EXT_CDC=0] on [zcu102] git branch <hdl_2023_r2> git <d146370c10fdd55156de2bafdd9b24292c01b6e1> clean [2026-05-15 21:36:03] UTC
[ 5.075953] ad9081 spi1.0: supply vdd not found, using dummy regulator
[ 6.249839] ad9081 spi1.0: 8bit r/w test failed. Write 5a but readback is 00.
[ 6.256974] ad9081 spi1.0: reset/init failed (-50)
[ 17.097578] platform 84a10000.axi-ad9081-rx-hpc: deferred probe pending: (reason unknown)
[ 17.097584] platform 84b10000.axi-ad9081-tx-hpc: deferred probe pending: platform: supplier spi1.0 not ready

  • Hello Keneth,

    If you are working with a modified devicetree we will need to know what you changed in order to help. Please provide a git diff or any other method of viewing the changes you made in the devicetree.

    Also, you mentioned that you've had successful runs before. If you modified anything else in your project since then, please mention that as well.

    All the best,
    Eric

  • This is the current tree I am using but I also tried using the original device tree from zynqmp-zcu102-rev10-ad9081-m8-l4 directory (from installing the Kuiper linux image as instructed in the quick start guide (wiki.analog.com/.../zynqmp)) as I had guessed that my errors originated from the device tree. I have not made any changes in the kernel or device tree regarding ad9081 so I am not sure why it suddenly stopped working. The main changes being at the end of fpga-axi@0 to correspond to some new ip blocks I added in my hdl block design.

    /dts-v1/;

    / {
    compatible = "xlnx,zynqmp-zcu102-rev1.0\0xlnx,zynqmp-zcu102\0xlnx,zynqmp";
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    model = "ZynqMP ZCU102 Rev1.0";

    cpus {
    #address-cells = <0x01>;
    #size-cells = <0x00>;

    cpu@0 {
    compatible = "arm,cortex-a53";
    device_type = "cpu";
    enable-method = "psci";
    operating-points-v2 = <0x01>;
    reg = <0x00>;
    cpu-idle-states = <0x02>;
    next-level-cache = <0x03>;
    clocks = <0x04 0x0a>;
    phandle = <0x06>;
    };

    cpu@1 {
    compatible = "arm,cortex-a53";
    device_type = "cpu";
    enable-method = "psci";
    reg = <0x01>;
    operating-points-v2 = <0x01>;
    cpu-idle-states = <0x02>;
    next-level-cache = <0x03>;
    phandle = <0x07>;
    };

    cpu@2 {
    compatible = "arm,cortex-a53";
    device_type = "cpu";
    enable-method = "psci";
    reg = <0x02>;
    operating-points-v2 = <0x01>;
    cpu-idle-states = <0x02>;
    next-level-cache = <0x03>;
    phandle = <0x08>;
    };

    cpu@3 {
    compatible = "arm,cortex-a53";
    device_type = "cpu";
    enable-method = "psci";
    reg = <0x03>;
    operating-points-v2 = <0x01>;
    cpu-idle-states = <0x02>;
    next-level-cache = <0x03>;
    phandle = <0x09>;
    };

    l2-cache {
    compatible = "cache";
    cache-level = <0x02>;
    phandle = <0x03>;
    };

    idle-states {
    entry-method = "psci";

    cpu-sleep-0 {
    compatible = "arm,idle-state";
    arm,psci-suspend-param = <0x40000000>;
    local-timer-stop;
    entry-latency-us = <0x12c>;
    exit-latency-us = <0x258>;
    min-residency-us = <0x2710>;
    phandle = <0x02>;
    };
    };
    };

    opp-table-cpu {
    compatible = "operating-points-v2";
    opp-shared;
    phandle = <0x01>;

    opp00 {
    opp-hz = <0x00 0x47868bf4>;
    opp-microvolt = <0xf4240>;
    clock-latency-ns = <0x7a120>;
    };

    opp01 {
    opp-hz = <0x00 0x23c345fa>;
    opp-microvolt = <0xf4240>;
    clock-latency-ns = <0x7a120>;
    };

    opp02 {
    opp-hz = <0x00 0x17d783fc>;
    opp-microvolt = <0xf4240>;
    clock-latency-ns = <0x7a120>;
    };

    opp03 {
    opp-hz = <0x00 0x11e1a2fd>;
    opp-microvolt = <0xf4240>;
    clock-latency-ns = <0x7a120>;
    };
    };

    zynqmp-ipi {
    u-boot,dm-pre-reloc;
    compatible = "xlnx,zynqmp-ipi-mailbox";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x23 0x04>;
    xlnx,ipi-id = <0x00>;
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    ranges;
    phandle = <0x53>;

    mailbox@ff9905c0 {
    u-boot,dm-pre-reloc;
    reg = <0x00 0xff9905c0 0x00 0x20 0x00 0xff9905e0 0x00 0x20 0x00 0xff990e80 0x00 0x20 0x00 0xff990ea0 0x00 0x20>;
    reg-names = "local_request_region\0local_response_region\0remote_request_region\0remote_response_region";
    #mbox-cells = <0x01>;
    xlnx,ipi-id = <0x04>;
    phandle = <0x0a>;
    };
    };

    dcc {
    compatible = "arm,dcc";
    status = "okay";
    u-boot,dm-pre-reloc;
    phandle = <0x54>;
    };

    pmu {
    compatible = "arm,armv8-pmuv3";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x8f 0x04 0x00 0x90 0x04 0x00 0x91 0x04 0x00 0x92 0x04>;
    interrupt-affinity = <0x06 0x07 0x08 0x09>;
    };

    psci {
    compatible = "arm,psci-0.2";
    method = "smc";
    };

    firmware {

    zynqmp-firmware {
    compatible = "xlnx,zynqmp-firmware";
    #power-domain-cells = <0x01>;
    method = "smc";
    u-boot,dm-pre-reloc;
    phandle = <0x12>;

    zynqmp-power {
    u-boot,dm-pre-reloc;
    compatible = "xlnx,zynqmp-power";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x23 0x04>;
    mboxes = <0x0a 0x00 0x0a 0x01>;
    mbox-names = "tx\0rx";
    phandle = <0x55>;
    };

    nvmem-firmware {
    compatible = "xlnx,zynqmp-nvmem-fw";
    #address-cells = <0x01>;
    #size-cells = <0x01>;

    soc-revision@0 {
    reg = <0x00 0x04>;
    phandle = <0x56>;
    };

    efuse-dna@c {
    reg = <0x0c 0x0c>;
    phandle = <0x57>;
    };

    efuse-usr0@20 {
    reg = <0x20 0x04>;
    phandle = <0x58>;
    };

    efuse-usr1@24 {
    reg = <0x24 0x04>;
    phandle = <0x59>;
    };

    efuse-usr2@28 {
    reg = <0x28 0x04>;
    phandle = <0x5a>;
    };

    efuse-usr3@2c {
    reg = <0x2c 0x04>;
    phandle = <0x5b>;
    };

    efuse-usr4@30 {
    reg = <0x30 0x04>;
    phandle = <0x5c>;
    };

    efuse-usr5@34 {
    reg = <0x34 0x04>;
    phandle = <0x5d>;
    };

    efuse-usr6@38 {
    reg = <0x38 0x04>;
    phandle = <0x5e>;
    };

    efuse-usr7@3c {
    reg = <0x3c 0x04>;
    phandle = <0x5f>;
    };

    efuse-miscusr@40 {
    reg = <0x40 0x04>;
    phandle = <0x60>;
    };

    efuse-chash@50 {
    reg = <0x50 0x04>;
    phandle = <0x61>;
    };

    efuse-pufmisc@54 {
    reg = <0x54 0x04>;
    phandle = <0x62>;
    };

    efuse-sec@58 {
    reg = <0x58 0x04>;
    phandle = <0x63>;
    };

    efuse-spkid@5c {
    reg = <0x5c 0x04>;
    phandle = <0x64>;
    };

    efuse-ppk0hash@a0 {
    reg = <0xa0 0x30>;
    phandle = <0x65>;
    };

    efuse-ppk1hash@d0 {
    reg = <0xd0 0x30>;
    phandle = <0x66>;
    };
    };

    pcap {
    compatible = "xlnx,zynqmp-pcap-fpga";
    phandle = <0x10>;
    };

    reset-controller {
    compatible = "xlnx,zynqmp-reset";
    #reset-cells = <0x01>;
    phandle = <0x11>;
    };

    pinctrl {
    compatible = "xlnx,zynqmp-pinctrl";
    status = "okay";
    phandle = <0x67>;

    i2c0-default {
    phandle = <0x19>;

    mux {
    groups = "i2c0_3_grp";
    function = "i2c0";
    };

    conf {
    groups = "i2c0_3_grp";
    bias-pull-up;
    slew-rate = <0x01>;
    power-source = <0x01>;
    };
    };

    i2c0-gpio {
    phandle = <0x1a>;

    mux {
    groups = "gpio0_14_grp\0gpio0_15_grp";
    function = "gpio0";
    };

    conf {
    groups = "gpio0_14_grp\0gpio0_15_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    };
    };

    i2c1-default {
    phandle = <0x1c>;

    mux {
    groups = "i2c1_4_grp";
    function = "i2c1";
    };

    conf {
    groups = "i2c1_4_grp";
    bias-pull-up;
    slew-rate = <0x01>;
    power-source = <0x01>;
    };
    };

    i2c1-gpio {
    phandle = <0x1d>;

    mux {
    groups = "gpio0_16_grp\0gpio0_17_grp";
    function = "gpio0";
    };

    conf {
    groups = "gpio0_16_grp\0gpio0_17_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    };
    };

    uart0-default {
    phandle = <0x30>;

    mux {
    groups = "uart0_4_grp";
    function = "uart0";
    };

    conf {
    groups = "uart0_4_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    };

    conf-rx {
    pins = "MIO18";
    bias-high-impedance;
    };

    conf-tx {
    pins = "MIO19";
    bias-disable;
    };
    };

    uart1-default {
    phandle = <0x31>;

    mux {
    groups = "uart1_5_grp";
    function = "uart1";
    };

    conf {
    groups = "uart1_5_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    };

    conf-rx {
    pins = "MIO21";
    bias-high-impedance;
    };

    conf-tx {
    pins = "MIO20";
    bias-disable;
    };
    };

    usb0-default {
    phandle = <0x33>;

    mux {
    groups = "usb0_0_grp";
    function = "usb0";
    };

    conf {
    groups = "usb0_0_grp";
    power-source = <0x01>;
    };

    conf-rx {
    pins = "MIO52\0MIO53\0MIO55";
    bias-high-impedance;
    drive-strength = <0x0c>;
    slew-rate = <0x00>;
    };

    conf-tx {
    pins = "MIO54\0MIO56\0MIO57\0MIO58\0MIO59\0MIO60\0MIO61\0MIO62\0MIO63";
    bias-disable;
    drive-strength = <0x04>;
    slew-rate = <0x01>;
    };
    };

    gem3-default {
    phandle = <0x16>;

    mux {
    function = "ethernet3";
    groups = "ethernet3_0_grp";
    };

    conf {
    groups = "ethernet3_0_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    };

    conf-rx {
    pins = "MIO70\0MIO71\0MIO72\0MIO73\0MIO74\0MIO75";
    bias-high-impedance;
    low-power-disable;
    };

    conf-tx {
    pins = "MIO64\0MIO65\0MIO66\0MIO67\0MIO68\0MIO69";
    bias-disable;
    low-power-enable;
    };

    mux-mdio {
    function = "mdio3";
    groups = "mdio3_0_grp";
    };

    conf-mdio {
    groups = "mdio3_0_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    bias-disable;
    };
    };

    can1-default {
    phandle = <0x13>;

    mux {
    function = "can1";
    groups = "can1_6_grp";
    };

    conf {
    groups = "can1_6_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    };

    conf-rx {
    pins = "MIO25";
    bias-high-impedance;
    };

    conf-tx {
    pins = "MIO24";
    bias-disable;
    };
    };

    sdhci1-default {
    phandle = <0x24>;

    mux {
    groups = "sdio1_0_grp";
    function = "sdio1";
    };

    conf {
    groups = "sdio1_0_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    bias-disable;
    };

    mux-cd {
    groups = "sdio1_cd_0_grp";
    function = "sdio1_cd";
    };

    conf-cd {
    groups = "sdio1_cd_0_grp";
    bias-high-impedance;
    bias-pull-up;
    slew-rate = <0x01>;
    power-source = <0x01>;
    };

    mux-wp {
    groups = "sdio1_wp_0_grp";
    function = "sdio1_wp";
    };

    conf-wp {
    groups = "sdio1_wp_0_grp";
    bias-high-impedance;
    bias-pull-up;
    slew-rate = <0x01>;
    power-source = <0x01>;
    };
    };

    gpio-default {
    phandle = <0x18>;

    mux-sw {
    function = "gpio0";
    groups = "gpio0_22_grp\0gpio0_23_grp";
    };

    conf-sw {
    groups = "gpio0_22_grp\0gpio0_23_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    };

    mux-msp {
    function = "gpio0";
    groups = "gpio0_13_grp\0gpio0_38_grp";
    };

    conf-msp {
    groups = "gpio0_13_grp\0gpio0_38_grp";
    slew-rate = <0x01>;
    power-source = <0x01>;
    };

    conf-pull-up {
    pins = "MIO22\0MIO23";
    bias-pull-up;
    };

    conf-pull-none {
    pins = "MIO13\0MIO38";
    bias-disable;
    };
    };
    };

    gpio {
    compatible = "xlnx,zynqmp-gpio-modepin";
    gpio-controller;
    #gpio-cells = <0x02>;
    phandle = <0x32>;
    };

    clock-controller {
    u-boot,dm-pre-reloc;
    #clock-cells = <0x01>;
    compatible = "xlnx,zynqmp-clk";
    clocks = <0x0b 0x0c 0x0d 0x0e 0x0f>;
    clock-names = "pss_ref_clk\0video_clk\0pss_alt_ref_clk\0aux_ref_clk\0gt_crx_ref_clk";
    phandle = <0x04>;
    };
    };
    };

    timer {
    compatible = "arm,armv8-timer";
    interrupt-parent = <0x05>;
    interrupts = <0x01 0x0d 0xf08 0x01 0x0e 0xf08 0x01 0x0b 0xf08 0x01 0x0a 0xf08>;
    };

    edac {
    compatible = "arm,cortex-a53-edac";
    };

    fpga-full {
    compatible = "fpga-region";
    fpga-mgr = <0x10>;
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    ranges;
    phandle = <0x68>;
    };

    axi {
    compatible = "simple-bus";
    u-boot,dm-pre-reloc;
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    ranges;
    phandle = <0x69>;

    can@ff060000 {
    compatible = "xlnx,zynq-can-1.0";
    status = "disabled";
    clock-names = "can_clk\0pclk";
    reg = <0x00 0xff060000 0x00 0x1000>;
    interrupts = <0x00 0x17 0x04>;
    interrupt-parent = <0x05>;
    tx-fifo-depth = <0x40>;
    rx-fifo-depth = <0x40>;
    resets = <0x11 0x28>;
    power-domains = <0x12 0x2f>;
    clocks = <0x04 0x3f 0x04 0x1f>;
    phandle = <0x6a>;
    };

    can@ff070000 {
    compatible = "xlnx,zynq-can-1.0";
    status = "okay";
    clock-names = "can_clk\0pclk";
    reg = <0x00 0xff070000 0x00 0x1000>;
    interrupts = <0x00 0x18 0x04>;
    interrupt-parent = <0x05>;
    tx-fifo-depth = <0x40>;
    rx-fifo-depth = <0x40>;
    resets = <0x11 0x29>;
    power-domains = <0x12 0x30>;
    clocks = <0x04 0x40 0x04 0x1f>;
    pinctrl-names = "default";
    pinctrl-0 = <0x13>;
    phandle = <0x6b>;
    };

    cci@fd6e0000 {
    compatible = "arm,cci-400";
    status = "disabled";
    reg = <0x00 0xfd6e0000 0x00 0x9000>;
    ranges = <0x00 0x00 0xfd6e0000 0x10000>;
    #address-cells = <0x01>;
    #size-cells = <0x01>;
    phandle = <0x6c>;

    pmu@9000 {
    compatible = "arm,cci-400-pmu,r1";
    reg = <0x9000 0x5000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x7b 0x04 0x00 0x7b 0x04 0x00 0x7b 0x04 0x00 0x7b 0x04 0x00 0x7b 0x04>;
    };
    };

    dma-controller@fd500000 {
    status = "okay";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xfd500000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x7c 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x80>;
    iommus = <0x14 0x14e8>;
    power-domains = <0x12 0x2a>;
    clocks = <0x04 0x13 0x04 0x1f>;
    phandle = <0x6d>;
    };

    dma-controller@fd510000 {
    status = "okay";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xfd510000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x7d 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x80>;
    iommus = <0x14 0x14e9>;
    power-domains = <0x12 0x2a>;
    clocks = <0x04 0x13 0x04 0x1f>;
    phandle = <0x6e>;
    };

    dma-controller@fd520000 {
    status = "okay";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xfd520000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x7e 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x80>;
    iommus = <0x14 0x14ea>;
    power-domains = <0x12 0x2a>;
    clocks = <0x04 0x13 0x04 0x1f>;
    phandle = <0x6f>;
    };

    dma-controller@fd530000 {
    status = "okay";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xfd530000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x7f 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x80>;
    iommus = <0x14 0x14eb>;
    power-domains = <0x12 0x2a>;
    clocks = <0x04 0x13 0x04 0x1f>;
    phandle = <0x70>;
    };

    dma-controller@fd540000 {
    status = "okay";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xfd540000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x80 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x80>;
    iommus = <0x14 0x14ec>;
    power-domains = <0x12 0x2a>;
    clocks = <0x04 0x13 0x04 0x1f>;
    phandle = <0x71>;
    };

    dma-controller@fd550000 {
    status = "okay";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xfd550000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x81 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x80>;
    iommus = <0x14 0x14ed>;
    power-domains = <0x12 0x2a>;
    clocks = <0x04 0x13 0x04 0x1f>;
    phandle = <0x72>;
    };

    dma-controller@fd560000 {
    status = "okay";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xfd560000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x82 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x80>;
    iommus = <0x14 0x14ee>;
    power-domains = <0x12 0x2a>;
    clocks = <0x04 0x13 0x04 0x1f>;
    phandle = <0x73>;
    };

    dma-controller@fd570000 {
    status = "okay";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xfd570000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x83 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x80>;
    iommus = <0x14 0x14ef>;
    power-domains = <0x12 0x2a>;
    clocks = <0x04 0x13 0x04 0x1f>;
    phandle = <0x74>;
    };

    interrupt-controller@f9010000 {
    compatible = "arm,gic-400";
    #interrupt-cells = <0x03>;
    reg = <0x00 0xf9010000 0x00 0x10000 0x00 0xf9020000 0x00 0x20000 0x00 0xf9040000 0x00 0x20000 0x00 0xf9060000 0x00 0x20000>;
    interrupt-controller;
    interrupt-parent = <0x05>;
    interrupts = <0x01 0x09 0xf04>;
    phandle = <0x05>;
    };

    gpu@fd4b0000 {
    status = "okay";
    compatible = "xlnx,zynqmp-mali\0arm,mali-400";
    reg = <0x00 0xfd4b0000 0x00 0x10000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x84 0x04 0x00 0x84 0x04 0x00 0x84 0x04 0x00 0x84 0x04 0x00 0x84 0x04 0x00 0x84 0x04>;
    interrupt-names = "gp\0gpmmu\0pp0\0ppmmu0\0pp1\0ppmmu1";
    clock-names = "bus\0core";
    power-domains = <0x12 0x3a>;
    clocks = <0x04 0x18 0x04 0x19>;
    phandle = <0x75>;
    };

    dma-controller@ffa80000 {
    status = "disabled";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xffa80000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x4d 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x40>;
    power-domains = <0x12 0x2b>;
    clocks = <0x04 0x44 0x04 0x1f>;
    phandle = <0x76>;
    };

    dma-controller@ffa90000 {
    status = "disabled";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xffa90000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x4e 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x40>;
    power-domains = <0x12 0x2b>;
    clocks = <0x04 0x44 0x04 0x1f>;
    phandle = <0x77>;
    };

    dma-controller@ffaa0000 {
    status = "disabled";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xffaa0000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x4f 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x40>;
    power-domains = <0x12 0x2b>;
    clocks = <0x04 0x44 0x04 0x1f>;
    phandle = <0x78>;
    };

    dma-controller@ffab0000 {
    status = "disabled";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xffab0000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x50 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x40>;
    power-domains = <0x12 0x2b>;
    clocks = <0x04 0x44 0x04 0x1f>;
    phandle = <0x79>;
    };

    dma-controller@ffac0000 {
    status = "disabled";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xffac0000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x51 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x40>;
    power-domains = <0x12 0x2b>;
    clocks = <0x04 0x44 0x04 0x1f>;
    phandle = <0x7a>;
    };

    dma-controller@ffad0000 {
    status = "disabled";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xffad0000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x52 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x40>;
    power-domains = <0x12 0x2b>;
    clocks = <0x04 0x44 0x04 0x1f>;
    phandle = <0x7b>;
    };

    dma-controller@ffae0000 {
    status = "disabled";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xffae0000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x53 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x40>;
    power-domains = <0x12 0x2b>;
    clocks = <0x04 0x44 0x04 0x1f>;
    phandle = <0x7c>;
    };

    dma-controller@ffaf0000 {
    status = "disabled";
    compatible = "xlnx,zynqmp-dma-1.0";
    reg = <0x00 0xffaf0000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x54 0x04>;
    clock-names = "clk_main\0clk_apb";
    #dma-cells = <0x01>;
    xlnx,bus-width = <0x40>;
    power-domains = <0x12 0x2b>;
    clocks = <0x04 0x44 0x04 0x1f>;
    phandle = <0x7d>;
    };

    memory-controller@fd070000 {
    compatible = "xlnx,zynqmp-ddrc-2.40a";
    reg = <0x00 0xfd070000 0x00 0x30000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x70 0x04>;
    phandle = <0x7e>;
    };

    nand-controller@ff100000 {
    compatible = "xlnx,zynqmp-nand-controller\0arasan,nfc-v3p10";
    status = "disabled";
    reg = <0x00 0xff100000 0x00 0x1000>;
    clock-names = "controller\0bus";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x0e 0x04>;
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    iommus = <0x14 0x872>;
    power-domains = <0x12 0x2c>;
    clocks = <0x04 0x3c 0x04 0x1f>;
    phandle = <0x7f>;
    };

    ethernet@ff0b0000 {
    compatible = "xlnx,zynqmp-gem\0cdns,gem";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x39 0x04 0x00 0x39 0x04>;
    reg = <0x00 0xff0b0000 0x00 0x1000>;
    clock-names = "pclk\0hclk\0tx_clk\0rx_clk\0tsu_clk";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    iommus = <0x14 0x874>;
    power-domains = <0x12 0x1d>;
    resets = <0x11 0x1d>;
    reset-names = "gem0_rst";
    clocks = <0x04 0x1f 0x04 0x68 0x04 0x2d 0x04 0x31 0x04 0x2c>;
    assigned-clocks = <0x04 0x2c>;
    phandle = <0x80>;
    };

    ethernet@ff0c0000 {
    compatible = "xlnx,zynqmp-gem\0cdns,gem";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x3b 0x04 0x00 0x3b 0x04>;
    reg = <0x00 0xff0c0000 0x00 0x1000>;
    clock-names = "pclk\0hclk\0tx_clk\0rx_clk\0tsu_clk";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    iommus = <0x14 0x875>;
    power-domains = <0x12 0x1e>;
    resets = <0x11 0x1e>;
    reset-names = "gem1_rst";
    clocks = <0x04 0x1f 0x04 0x69 0x04 0x2e 0x04 0x32 0x04 0x2c>;
    assigned-clocks = <0x04 0x2c>;
    phandle = <0x81>;
    };

    ethernet@ff0d0000 {
    compatible = "xlnx,zynqmp-gem\0cdns,gem";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x3d 0x04 0x00 0x3d 0x04>;
    reg = <0x00 0xff0d0000 0x00 0x1000>;
    clock-names = "pclk\0hclk\0tx_clk\0rx_clk\0tsu_clk";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    iommus = <0x14 0x876>;
    power-domains = <0x12 0x1f>;
    resets = <0x11 0x1f>;
    reset-names = "gem2_rst";
    clocks = <0x04 0x1f 0x04 0x6a 0x04 0x2f 0x04 0x33 0x04 0x2c>;
    assigned-clocks = <0x04 0x2c>;
    phandle = <0x82>;
    };

    ethernet@ff0e0000 {
    compatible = "xlnx,zynqmp-gem\0cdns,gem";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x3f 0x04 0x00 0x3f 0x04>;
    reg = <0x00 0xff0e0000 0x00 0x1000>;
    clock-names = "pclk\0hclk\0tx_clk\0rx_clk\0tsu_clk";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    iommus = <0x14 0x877>;
    power-domains = <0x12 0x20>;
    resets = <0x11 0x20>;
    reset-names = "gem3_rst";
    clocks = <0x04 0x1f 0x04 0x6b 0x04 0x30 0x04 0x34 0x04 0x2c>;
    assigned-clocks = <0x04 0x2c>;
    phy-handle = <0x15>;
    phy-mode = "rgmii-id";
    pinctrl-names = "default";
    pinctrl-0 = <0x16>;
    phandle = <0x83>;

    mdio {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    phandle = <0x84>;

    ethernet-phy@c {
    #phy-cells = <0x01>;
    compatible = "ethernet-phy-id2000.a231";
    reg = <0x0c>;
    ti,rx-internal-delay = <0x08>;
    ti,tx-internal-delay = <0x0a>;
    ti,fifo-depth = <0x01>;
    ti,dp83867-rxctrl-strap-quirk;
    reset-gpios = <0x17 0x06 0x01>;
    phandle = <0x15>;
    };
    };
    };

    gpio@ff0a0000 {
    compatible = "xlnx,zynqmp-gpio-1.0";
    status = "okay";
    #gpio-cells = <0x02>;
    gpio-controller;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x10 0x04>;
    interrupt-controller;
    #interrupt-cells = <0x02>;
    reg = <0x00 0xff0a0000 0x00 0x1000>;
    power-domains = <0x12 0x2e>;
    clocks = <0x04 0x1f>;
    pinctrl-names = "default";
    pinctrl-0 = <0x18>;
    phandle = <0x1b>;
    };

    i2c@ff020000 {
    compatible = "cdns,i2c-r1p14";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x11 0x04>;
    clock-frequency = <0x61a80>;
    reg = <0x00 0xff020000 0x00 0x1000>;
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    power-domains = <0x12 0x25>;
    clocks = <0x04 0x3d>;
    pinctrl-names = "default\0gpio";
    pinctrl-0 = <0x19>;
    pinctrl-1 = <0x1a>;
    scl-gpios = <0x1b 0x0e 0x06>;
    sda-gpios = <0x1b 0x0f 0x06>;
    phandle = <0x85>;

    gpio@20 {
    compatible = "ti,tca6416";
    reg = <0x20>;
    gpio-controller;
    #gpio-cells = <0x02>;
    gpio-line-names = "PS_GTR_LAN_SEL0\0PS_GTR_LAN_SEL1\0PS_GTR_LAN_SEL2\0PS_GTR_LAN_SEL3\0PCI_CLK_DIR_SEL\0IIC_MUX_RESET_B\0GEM3_EXP_RESET_B\0\0\0\0\0\0\0\0\0";
    phandle = <0x17>;

    gtr-sel0-hog {
    gpio-hog;
    gpios = <0x00 0x00>;
    output-low;
    line-name = "sel0";
    };

    gtr-sel1-hog {
    gpio-hog;
    gpios = <0x01 0x00>;
    output-high;
    line-name = "sel1";
    };

    gtr-sel2-hog {
    gpio-hog;
    gpios = <0x02 0x00>;
    output-high;
    line-name = "sel2";
    };

    gtr-sel3-hog {
    gpio-hog;
    gpios = <0x03 0x00>;
    output-high;
    line-name = "sel3";
    };
    };

    gpio@21 {
    compatible = "ti,tca6416";
    reg = <0x21>;
    gpio-controller;
    #gpio-cells = <0x02>;
    gpio-line-names = "VCCPSPLL_EN\0MGTRAVCC_EN\0MGTRAVTT_EN\0VCCPSDDRPLL_EN\0MIO26_PMU_INPUT_LS\0PL_PMBUS_ALERT\0PS_PMBUS_ALERT\0MAXIM_PMBUS_ALERT\0PL_DDR4_VTERM_EN\0PL_DDR4_VPP_2V5_EN\0PS_DIMM_VDDQ_TO_PSVCCO_ON\0PS_DIMM_SUSPEND_EN\0PS_DDR4_VTERM_EN\0PS_DDR4_VPP_2V5_EN\0\0";
    phandle = <0x86>;
    };

    i2c-mux@75 {
    compatible = "nxp,pca9544";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x75>;

    i2c@0 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x00>;

    ina226@40 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u76";
    reg = <0x40>;
    shunt-resistor = <0x1388>;
    phandle = <0x39>;
    };

    ina226@41 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u77";
    reg = <0x41>;
    shunt-resistor = <0x1388>;
    phandle = <0x3a>;
    };

    ina226@42 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u78";
    reg = <0x42>;
    shunt-resistor = <0x1388>;
    phandle = <0x3b>;
    };

    ina226@43 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u87";
    reg = <0x43>;
    shunt-resistor = <0x1388>;
    phandle = <0x3c>;
    };

    ina226@44 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u85";
    reg = <0x44>;
    shunt-resistor = <0x1388>;
    phandle = <0x3d>;
    };

    ina226@45 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u86";
    reg = <0x45>;
    shunt-resistor = <0x1388>;
    phandle = <0x3e>;
    };

    ina226@46 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u93";
    reg = <0x46>;
    shunt-resistor = <0x1388>;
    phandle = <0x3f>;
    };

    ina226@47 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u88";
    reg = <0x47>;
    shunt-resistor = <0x1388>;
    phandle = <0x40>;
    };

    ina226@4a {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u15";
    reg = <0x4a>;
    shunt-resistor = <0x1388>;
    phandle = <0x41>;
    };

    ina226@4b {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u92";
    reg = <0x4b>;
    shunt-resistor = <0x1388>;
    phandle = <0x42>;
    };
    };

    i2c@1 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x01>;

    ina226@40 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u79";
    reg = <0x40>;
    shunt-resistor = <0x7d0>;
    phandle = <0x43>;
    };

    ina226@41 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u81";
    reg = <0x41>;
    shunt-resistor = <0x1388>;
    phandle = <0x44>;
    };

    ina226@42 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u80";
    reg = <0x42>;
    shunt-resistor = <0x1388>;
    phandle = <0x45>;
    };

    ina226@43 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u84";
    reg = <0x43>;
    shunt-resistor = <0x1388>;
    phandle = <0x46>;
    };

    ina226@44 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u16";
    reg = <0x44>;
    shunt-resistor = <0x1388>;
    phandle = <0x47>;
    };

    ina226@45 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u65";
    reg = <0x45>;
    shunt-resistor = <0x1388>;
    phandle = <0x48>;
    };

    ina226@46 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u74";
    reg = <0x46>;
    shunt-resistor = <0x1388>;
    phandle = <0x49>;
    };

    ina226@47 {
    compatible = "ti,ina226";
    #io-channel-cells = <0x01>;
    label = "ina226-u75";
    reg = <0x47>;
    shunt-resistor = <0x1388>;
    phandle = <0x4a>;
    };
    };

    i2c@2 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x02>;

    max15301@a {
    compatible = "maxim,max15301";
    reg = <0x0a>;
    };

    max15303@b {
    compatible = "maxim,max15303";
    reg = <0x0b>;
    };

    max15303@10 {
    compatible = "maxim,max15303";
    reg = <0x10>;
    };

    max15301@13 {
    compatible = "maxim,max15301";
    reg = <0x13>;
    };

    max15303@14 {
    compatible = "maxim,max15303";
    reg = <0x14>;
    };

    max15303@15 {
    compatible = "maxim,max15303";
    reg = <0x15>;
    };

    max15303@16 {
    compatible = "maxim,max15303";
    reg = <0x16>;
    };

    max15303@17 {
    compatible = "maxim,max15303";
    reg = <0x17>;
    };

    max15301@18 {
    compatible = "maxim,max15301";
    reg = <0x18>;
    };

    max15303@1a {
    compatible = "maxim,max15303";
    reg = <0x1a>;
    };

    max15303@1d {
    compatible = "maxim,max15303";
    reg = <0x1d>;
    };

    max20751@72 {
    compatible = "maxim,max20751";
    reg = <0x72>;
    };

    max20751@73 {
    compatible = "maxim,max20751";
    reg = <0x73>;
    };

    max15303@1b {
    compatible = "maxim,max15303";
    reg = <0x1b>;
    };
    };
    };
    };

    i2c@ff030000 {
    compatible = "cdns,i2c-r1p14";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x12 0x04>;
    clock-frequency = <0x61a80>;
    reg = <0x00 0xff030000 0x00 0x1000>;
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    power-domains = <0x12 0x26>;
    clocks = <0x04 0x3e>;
    pinctrl-names = "default\0gpio";
    pinctrl-0 = <0x1c>;
    pinctrl-1 = <0x1d>;
    scl-gpios = <0x1b 0x10 0x06>;
    sda-gpios = <0x1b 0x11 0x06>;
    phandle = <0x87>;

    i2c-mux@74 {
    compatible = "nxp,pca9548";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x74>;

    i2c@0 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x00>;

    eeprom@54 {
    compatible = "atmel,24c08";
    reg = <0x54>;
    #address-cells = <0x01>;
    #size-cells = <0x01>;
    phandle = <0x88>;

    board-sn@0 {
    reg = <0x00 0x14>;
    phandle = <0x89>;
    };

    eth-mac@20 {
    reg = <0x20 0x06>;
    phandle = <0x8a>;
    };

    board-name@d0 {
    reg = <0xd0 0x06>;
    phandle = <0x8b>;
    };

    board-revision@e0 {
    reg = <0xe0 0x03>;
    phandle = <0x8c>;
    };
    };
    };

    i2c@1 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x01>;

    clock-generator@36 {
    compatible = "silabs,si5341";
    reg = <0x36>;
    #clock-cells = <0x02>;
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    clocks = <0x1e>;
    clock-names = "xtal";
    clock-output-names = "si5341";
    phandle = <0x22>;

    out@0 {
    reg = <0x00>;
    always-on;
    phandle = <0x8d>;
    };

    out@2 {
    reg = <0x02>;
    always-on;
    phandle = <0x8e>;
    };

    out@3 {
    reg = <0x03>;
    always-on;
    phandle = <0x8f>;
    };

    out@4 {
    reg = <0x04>;
    always-on;
    phandle = <0x90>;
    };

    out@5 {
    reg = <0x05>;
    always-on;
    phandle = <0x91>;
    };

    out@6 {
    reg = <0x06>;
    always-on;
    phandle = <0x92>;
    };

    out@7 {
    reg = <0x07>;
    always-on;
    phandle = <0x93>;
    };

    out@9 {
    reg = <0x09>;
    always-on;
    phandle = <0x94>;
    };
    };
    };

    i2c@2 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x02>;

    clock-generator@5d {
    #clock-cells = <0x00>;
    compatible = "silabs,si570";
    reg = <0x5d>;
    temperature-stability = <0x32>;
    factory-fout = <0x11e1a300>;
    clock-frequency = <0x11e1a300>;
    clock-output-names = "si570_user";
    phandle = <0x95>;
    };
    };

    i2c@3 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x03>;

    clock-generator@5d {
    #clock-cells = <0x00>;
    compatible = "silabs,si570";
    reg = <0x5d>;
    temperature-stability = <0x32>;
    factory-fout = <0x9502f90>;
    clock-frequency = <0x9502f90>;
    clock-output-names = "si570_mgt";
    phandle = <0x96>;
    };
    };

    i2c@4 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x04>;

    clock-generator@69 {
    compatible = "silabs,si5328";
    reg = <0x69>;
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    #clock-cells = <0x01>;
    clocks = <0x1f>;
    clock-names = "xtal";
    clock-output-names = "si5328";
    phandle = <0x97>;

    clk0@0 {
    reg = <0x00>;
    clock-frequency = <0x19bfcc0>;
    phandle = <0x98>;
    };
    };
    };
    };

    i2c-mux@75 {
    compatible = "nxp,pca9548";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x75>;

    i2c@0 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x00>;

    eeprom@50 {
    compatible = "at24,24c02";
    reg = <0x50>;
    };
    };

    i2c@1 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x01>;
    };

    i2c@2 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x02>;
    };

    i2c@3 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x03>;
    };

    i2c@4 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x04>;
    };

    i2c@5 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x05>;
    };

    i2c@6 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x06>;
    };

    i2c@7 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x07>;
    };
    };
    };

    memory-controller@ff960000 {
    compatible = "xlnx,zynqmp-ocmc-1.0";
    reg = <0x00 0xff960000 0x00 0x1000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x0a 0x04>;
    phandle = <0x99>;
    };

    perf-monitor@ffa00000 {
    compatible = "xlnx,axi-perf-monitor";
    reg = <0x00 0xffa00000 0x00 0x10000>;
    interrupts = <0x00 0x19 0x04>;
    interrupt-parent = <0x05>;
    xlnx,enable-profile = <0x00>;
    xlnx,enable-trace = <0x00>;
    xlnx,num-monitor-slots = <0x01>;
    xlnx,enable-event-count = <0x01>;
    xlnx,enable-event-log = <0x01>;
    xlnx,have-sampled-metric-cnt = <0x01>;
    xlnx,num-of-counters = <0x08>;
    xlnx,metric-count-width = <0x20>;
    xlnx,metrics-sample-count-width = <0x20>;
    xlnx,global-count-width = <0x20>;
    xlnx,metric-count-scale = <0x01>;
    clocks = <0x04 0x1f>;
    phandle = <0x9a>;
    };

    perf-monitor@fd0b0000 {
    compatible = "xlnx,axi-perf-monitor";
    reg = <0x00 0xfd0b0000 0x00 0x10000>;
    interrupts = <0x00 0x7b 0x04>;
    interrupt-parent = <0x05>;
    xlnx,enable-profile = <0x00>;
    xlnx,enable-trace = <0x00>;
    xlnx,num-monitor-slots = <0x06>;
    xlnx,enable-event-count = <0x01>;
    xlnx,enable-event-log = <0x00>;
    xlnx,have-sampled-metric-cnt = <0x01>;
    xlnx,num-of-counters = <0x0a>;
    xlnx,metric-count-width = <0x20>;
    xlnx,metrics-sample-count-width = <0x20>;
    xlnx,global-count-width = <0x20>;
    xlnx,metric-count-scale = <0x01>;
    clocks = <0x04 0x1c>;
    phandle = <0x9b>;
    };

    perf-monitor@fd490000 {
    compatible = "xlnx,axi-perf-monitor";
    reg = <0x00 0xfd490000 0x00 0x10000>;
    interrupts = <0x00 0x7b 0x04>;
    interrupt-parent = <0x05>;
    xlnx,enable-profile = <0x00>;
    xlnx,enable-trace = <0x00>;
    xlnx,num-monitor-slots = <0x01>;
    xlnx,enable-event-count = <0x01>;
    xlnx,enable-event-log = <0x00>;
    xlnx,have-sampled-metric-cnt = <0x01>;
    xlnx,num-of-counters = <0x08>;
    xlnx,metric-count-width = <0x20>;
    xlnx,metrics-sample-count-width = <0x20>;
    xlnx,global-count-width = <0x20>;
    xlnx,metric-count-scale = <0x01>;
    clocks = <0x04 0x1c>;
    phandle = <0x9c>;
    };

    perf-monitor@ffa10000 {
    compatible = "xlnx,axi-perf-monitor";
    reg = <0x00 0xffa10000 0x00 0x10000>;
    interrupts = <0x00 0x19 0x04>;
    interrupt-parent = <0x05>;
    xlnx,enable-profile = <0x00>;
    xlnx,enable-trace = <0x00>;
    xlnx,num-monitor-slots = <0x01>;
    xlnx,enable-event-count = <0x01>;
    xlnx,enable-event-log = <0x01>;
    xlnx,have-sampled-metric-cnt = <0x01>;
    xlnx,num-of-counters = <0x08>;
    xlnx,metric-count-width = <0x20>;
    xlnx,metrics-sample-count-width = <0x20>;
    xlnx,global-count-width = <0x20>;
    xlnx,metric-count-scale = <0x01>;
    clocks = <0x04 0x1f>;
    phandle = <0x9d>;
    };

    pcie@fd0e0000 {
    compatible = "xlnx,nwl-pcie-2.11";
    status = "okay";
    #address-cells = <0x03>;
    #size-cells = <0x02>;
    #interrupt-cells = <0x01>;
    msi-controller;
    device_type = "pci";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x76 0x04 0x00 0x75 0x04 0x00 0x74 0x04 0x00 0x73 0x04 0x00 0x72 0x04>;
    interrupt-names = "misc\0dummy\0intx\0msi1\0msi0";
    msi-parent = <0x20>;
    reg = <0x00 0xfd0e0000 0x00 0x1000 0x00 0xfd480000 0x00 0x1000 0x80 0x00 0x00 0x10000000>;
    reg-names = "breg\0pcireg\0cfg";
    ranges = <0x2000000 0x00 0xe0000000 0x00 0xe0000000 0x00 0x10000000 0x43000000 0x06 0x00 0x06 0x00 0x02 0x00>;
    bus-range = <0x00 0xff>;
    interrupt-map-mask = <0x00 0x00 0x00 0x07>;
    interrupt-map = <0x00 0x00 0x00 0x01 0x21 0x01 0x00 0x00 0x00 0x02 0x21 0x02 0x00 0x00 0x00 0x03 0x21 0x03 0x00 0x00 0x00 0x04 0x21 0x04>;
    iommus = <0x14 0x4d0>;
    power-domains = <0x12 0x3b>;
    clocks = <0x04 0x17>;
    phandle = <0x20>;

    legacy-interrupt-controller {
    interrupt-controller;
    #address-cells = <0x00>;
    #interrupt-cells = <0x01>;
    phandle = <0x21>;
    };
    };

    spi@ff0f0000 {
    u-boot,dm-pre-reloc;
    compatible = "xlnx,zynqmp-qspi-1.0";
    status = "okay";
    clock-names = "ref_clk\0pclk";
    interrupts = <0x00 0x0f 0x04>;
    interrupt-parent = <0x05>;
    num-cs = <0x02>;
    reg = <0x00 0xff0f0000 0x00 0x1000 0x00 0xc0000000 0x00 0x8000000>;
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    iommus = <0x14 0x873>;
    power-domains = <0x12 0x2d>;
    clocks = <0x04 0x35 0x04 0x1f>;
    is-dual = <0x01>;
    phandle = <0x9e>;

    flash@0 {
    compatible = "m25p80\0jedec,spi-nor";
    #address-cells = <0x01>;
    #size-cells = <0x01>;
    reg = <0x00 0x01>;
    parallel-memories = <0x00 0x4000000 0x00 0x4000000>;
    spi-tx-bus-width = <0x04>;
    spi-rx-bus-width = <0x04>;
    spi-max-frequency = <0x66ff300>;

    partition@0 {
    label = "qspi-fsbl-uboot";
    reg = <0x00 0x100000>;
    };

    partition@100000 {
    label = "qspi-linux";
    reg = <0x100000 0x500000>;
    };

    partition@600000 {
    label = "qspi-device-tree";
    reg = <0x600000 0x20000>;
    };

    partition@620000 {
    label = "qspi-rootfs";
    reg = <0x620000 0x5e0000>;
    };
    };
    };

    phy@fd400000 {
    compatible = "xlnx,zynqmp-psgtr-v1.1";
    status = "okay";
    reg = <0x00 0xfd400000 0x00 0x40000 0x00 0xfd3d0000 0x00 0x1000>;
    reg-names = "serdes\0siou";
    #phy-cells = <0x04>;
    clocks = <0x22 0x00 0x05 0x22 0x00 0x03 0x22 0x00 0x02 0x22 0x00 0x00>;
    clock-names = "ref0\0ref1\0ref2\0ref3";
    phandle = <0x23>;
    };

    rtc@ffa60000 {
    compatible = "xlnx,zynqmp-rtc";
    status = "okay";
    reg = <0x00 0xffa60000 0x00 0x100>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x1a 0x04 0x00 0x1b 0x04>;
    interrupt-names = "alarm\0sec";
    calibration = <0x7fff>;
    phandle = <0x9f>;
    };

    ahci@fd0c0000 {
    compatible = "ceva,ahci-1v84";
    status = "okay";
    reg = <0x00 0xfd0c0000 0x00 0x2000>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x85 0x04>;
    power-domains = <0x12 0x1c>;
    resets = <0x11 0x10>;
    clocks = <0x04 0x16>;
    ceva,p0-cominit-params = <0x18401828>;
    ceva,p0-comwake-params = <0x614080e>;
    ceva,p0-burst-params = <0x13084a06>;
    ceva,p0-retry-params = <0x96a43ffc>;
    ceva,p1-cominit-params = <0x18401828>;
    ceva,p1-comwake-params = <0x614080e>;
    ceva,p1-burst-params = <0x13084a06>;
    ceva,p1-retry-params = <0x96a43ffc>;
    phy-names = "sata-phy";
    phys = <0x23 0x03 0x01 0x01 0x01>;
    phandle = <0xa0>;
    };

    mmc@ff160000 {
    u-boot,dm-pre-reloc;
    compatible = "xlnx,zynqmp-8.9a\0arasan,sdhci-8.9a";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x30 0x04>;
    reg = <0x00 0xff160000 0x00 0x1000>;
    clock-names = "clk_xin\0clk_ahb";
    iommus = <0x14 0x870>;
    #clock-cells = <0x01>;
    clock-output-names = "clk_out_sd0\0clk_in_sd0";
    power-domains = <0x12 0x27>;
    resets = <0x11 0x26>;
    clocks = <0x04 0x36 0x04 0x1f>;
    assigned-clocks = <0x04 0x36>;
    phandle = <0xa1>;
    };

    mmc@ff170000 {
    u-boot,dm-pre-reloc;
    compatible = "xlnx,zynqmp-8.9a\0arasan,sdhci-8.9a";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x31 0x04>;
    reg = <0x00 0xff170000 0x00 0x1000>;
    clock-names = "clk_xin\0clk_ahb";
    iommus = <0x14 0x871>;
    #clock-cells = <0x01>;
    clock-output-names = "clk_out_sd1\0clk_in_sd1";
    power-domains = <0x12 0x28>;
    resets = <0x11 0x27>;
    clocks = <0x04 0x37 0x04 0x1f>;
    assigned-clocks = <0x04 0x37>;
    no-1-8-v;
    pinctrl-names = "default";
    pinctrl-0 = <0x24>;
    xlnx,mio-bank = <0x01>;
    phandle = <0xa2>;
    };

    iommu@fd800000 {
    compatible = "arm,mmu-500";
    reg = <0x00 0xfd800000 0x00 0x20000>;
    #iommu-cells = <0x01>;
    status = "disabled";
    #global-interrupts = <0x01>;
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04 0x00 0x9b 0x04>;
    phandle = <0x14>;
    };

    spi@ff040000 {
    compatible = "cdns,spi-r1p6";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x13 0x04>;
    reg = <0x00 0xff040000 0x00 0x1000>;
    clock-names = "ref_clk\0pclk";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    power-domains = <0x12 0x23>;
    clocks = <0x04 0x3a 0x04 0x1f>;
    phandle = <0xa3>;

    ad9081@0 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reset-gpios = <0x1b 0x85 0x01>;
    sysref-req-gpios = <0x1b 0x79 0x00>;
    rx2-enable-gpios = <0x1b 0x87 0x00>;
    rx1-enable-gpios = <0x1b 0x86 0x00>;
    tx2-enable-gpios = <0x1b 0x89 0x00>;
    tx1-enable-gpios = <0x1b 0x88 0x00>;
    compatible = "adi,ad9081";
    reg = <0x00>;
    spi-max-frequency = <0x4c4b40>;
    clocks = <0x25 0x02>;
    clock-names = "dev_clk";
    clock-output-names = "rx_sampl_clk\0tx_sampl_clk";
    #clock-cells = <0x01>;
    jesd204-device;
    #jesd204-cells = <0x02>;
    jesd204-top-device = <0x00>;
    jesd204-link-ids = <0x02 0x00>;
    jesd204-inputs = <0x26 0x00 0x02 0x27 0x00 0x00>;
    phandle = <0x4c>;

    adi,tx-dacs {
    #size-cells = <0x00>;
    #address-cells = <0x01>;
    adi,dac-frequency-hz = <0x02 0xcb417800>;

    adi,main-data-paths {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    adi,interpolation = <0x08>;

    dac@0 {
    reg = <0x00>;
    adi,crossbar-select = <0x28>;
    adi,nco-frequency-shift-hz = <0x00 0x3b9aca00>;
    phandle = <0xa4>;
    };

    dac@1 {
    reg = <0x01>;
    adi,crossbar-select = <0x29>;
    adi,nco-frequency-shift-hz = <0x00 0x4190ab00>;
    phandle = <0xa5>;
    };

    dac@2 {
    reg = <0x02>;
    adi,crossbar-select = <0x2a>;
    adi,nco-frequency-shift-hz = <0x00 0x47868c00>;
    phandle = <0xa6>;
    };

    dac@3 {
    reg = <0x03>;
    adi,crossbar-select = <0x2b>;
    adi,nco-frequency-shift-hz = <0x00 0x4d7c6d00>;
    phandle = <0xa7>;
    };
    };

    adi,channelizer-paths {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    adi,interpolation = <0x06>;

    channel@0 {
    reg = <0x00>;
    adi,gain = <0x800>;
    adi,nco-frequency-shift-hz = <0x00 0x00>;
    phandle = <0x28>;
    };

    channel@1 {
    reg = <0x01>;
    adi,gain = <0x800>;
    adi,nco-frequency-shift-hz = <0x00 0x00>;
    phandle = <0x29>;
    };

    channel@2 {
    reg = <0x02>;
    adi,gain = <0x800>;
    adi,nco-frequency-shift-hz = <0x00 0x00>;
    phandle = <0x2a>;
    };

    channel@3 {
    reg = <0x03>;
    adi,gain = <0x800>;
    adi,nco-frequency-shift-hz = <0x00 0x00>;
    phandle = <0x2b>;
    };
    };

    adi,jesd-links {
    #size-cells = <0x00>;
    #address-cells = <0x01>;

    link@0 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    reg = <0x00>;
    adi,logical-lane-mapping = <0x20707 0x1070703>;
    adi,link-mode = <0x09>;
    adi,subclass = <0x01>;
    adi,version = <0x01>;
    adi,dual-link = <0x00>;
    adi,converters-per-device = <0x08>;
    adi,octets-per-frame = <0x04>;
    adi,frames-per-multiframe = <0x20>;
    adi,converter-resolution = <0x10>;
    adi,bits-per-sample = <0x10>;
    adi,control-bits-per-sample = <0x00>;
    adi,lanes-per-device = <0x04>;
    adi,samples-per-converter-per-frame = <0x01>;
    adi,high-density = <0x00>;
    adi,tpl-phase-adjust = <0x03>;
    phandle = <0xa8>;
    };
    };
    };

    adi,rx-adcs {
    #size-cells = <0x00>;
    #address-cells = <0x01>;
    adi,adc-frequency-hz = <0x00 0xee6b2800>;

    adi,main-data-paths {
    #address-cells = <0x01>;
    #size-cells = <0x00>;

    adc@0 {
    reg = <0x00>;
    adi,decimation = <0x04>;
    adi,nco-frequency-shift-hz = <0x00 0x17d78400>;
    adi,nco-mixer-mode = <0x00>;
    phandle = <0xa9>;
    };

    adc@1 {
    reg = <0x01>;
    adi,decimation = <0x04>;
    adi,nco-frequency-shift-hz = <0xffffffff 0xe8287c00>;
    adi,nco-mixer-mode = <0x00>;
    phandle = <0xaa>;
    };

    adc@2 {
    reg = <0x02>;
    adi,decimation = <0x04>;
    adi,nco-frequency-shift-hz = <0x00 0x5f5e100>;
    adi,nco-mixer-mode = <0x00>;
    phandle = <0xab>;
    };

    adc@3 {
    reg = <0x03>;
    adi,decimation = <0x04>;
    adi,nco-frequency-shift-hz = <0x00 0x5f5e100>;
    adi,nco-mixer-mode = <0x00>;
    phandle = <0xac>;
    };
    };

    adi,channelizer-paths {
    #address-cells = <0x01>;
    #size-cells = <0x00>;

    channel@0 {
    reg = <0x00>;
    adi,decimation = <0x04>;
    adi,gain = <0x800>;
    adi,nco-frequency-shift-hz = <0x00 0x00>;
    phandle = <0x2c>;
    };

    channel@1 {
    reg = <0x01>;
    adi,decimation = <0x04>;
    adi,gain = <0x800>;
    adi,nco-frequency-shift-hz = <0x00 0x00>;
    phandle = <0x2d>;
    };

    channel@4 {
    reg = <0x04>;
    adi,decimation = <0x04>;
    adi,gain = <0x800>;
    adi,nco-frequency-shift-hz = <0x00 0x00>;
    phandle = <0x2e>;
    };

    channel@5 {
    reg = <0x05>;
    adi,decimation = <0x04>;
    adi,gain = <0x800>;
    adi,nco-frequency-shift-hz = <0x00 0x00>;
    phandle = <0x2f>;
    };
    };

    adi,jesd-links {
    #size-cells = <0x00>;
    #address-cells = <0x01>;

    link@0 {
    reg = <0x00>;
    adi,converter-select = <0x2c 0x00 0x2c 0x01 0x2d 0x00 0x2d 0x01 0x2e 0x00 0x2e 0x01 0x2f 0x00 0x2f 0x01>;
    adi,logical-lane-mapping = <0x2000707 0x7070301>;
    adi,link-mode = <0x0a>;
    adi,subclass = <0x01>;
    adi,version = <0x01>;
    adi,dual-link = <0x00>;
    adi,converters-per-device = <0x08>;
    adi,octets-per-frame = <0x04>;
    adi,frames-per-multiframe = <0x20>;
    adi,converter-resolution = <0x10>;
    adi,bits-per-sample = <0x10>;
    adi,control-bits-per-sample = <0x00>;
    adi,lanes-per-device = <0x04>;
    adi,samples-per-converter-per-frame = <0x01>;
    adi,high-density = <0x00>;
    phandle = <0xad>;
    };
    };
    };
    };
    };

    spi@ff050000 {
    compatible = "cdns,spi-r1p6";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x14 0x04>;
    reg = <0x00 0xff050000 0x00 0x1000>;
    clock-names = "ref_clk\0pclk";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    power-domains = <0x12 0x24>;
    clocks = <0x04 0x3b 0x04 0x1f>;
    phandle = <0xae>;

    hmc7044@0 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    #clock-cells = <0x01>;
    compatible = "adi,hmc7044";
    reg = <0x00>;
    spi-max-frequency = <0xf4240>;
    jesd204-device;
    #jesd204-cells = <0x02>;
    jesd204-sysref-provider;
    adi,jesd204-max-sysref-frequency-hz = <0x1e8480>;
    adi,pll1-clkin-frequencies = <0x5f5e100 0x989680 0x00 0x00>;
    adi,pll1-ref-prio-ctrl = <0xe1>;
    adi,pll1-ref-autorevert-enable;
    adi,vcxo-frequency = <0x5f5e100>;
    adi,pll1-loop-bandwidth-hz = <0xc8>;
    adi,pll1-charge-pump-current-ua = <0x2d0>;
    adi,pfd1-maximum-limit-frequency-hz = <0xf4240>;
    adi,pll2-output-frequency = <0xb2d05e00>;
    adi,sysref-timer-divider = <0x400>;
    adi,pulse-generator-mode = <0x00>;
    adi,clkin0-buffer-mode = <0x07>;
    adi,clkin1-buffer-mode = <0x07>;
    adi,oscin-buffer-mode = <0x15>;
    adi,gpi-controls = <0x00 0x00 0x00 0x00>;
    adi,gpo-controls = <0x37 0x33 0x00 0x00>;
    clock-output-names = "hmc7044_out0\0hmc7044_out1\0hmc7044_out2\0hmc7044_out3\0hmc7044_out4\0hmc7044_out5\0hmc7044_out6\0hmc7044_out7\0hmc7044_out8\0hmc7044_out9\0hmc7044_out10\0hmc7044_out11\0hmc7044_out12\0hmc7044_out13";
    phandle = <0x25>;

    channel@0 {
    reg = <0x00>;
    adi,extended-name = "CORE_CLK_RX";
    adi,divider = <0x0c>;
    adi,driver-mode = <0x02>;
    phandle = <0xaf>;
    };

    channel@2 {
    reg = <0x02>;
    adi,extended-name = "DEV_REFCLK";
    adi,divider = <0x0c>;
    adi,driver-mode = <0x02>;
    phandle = <0xb0>;
    };

    channel@3 {
    reg = <0x03>;
    adi,extended-name = "DEV_SYSREF";
    adi,divider = <0x600>;
    adi,driver-mode = <0x02>;
    adi,jesd204-sysref-chan;
    phandle = <0xb1>;
    };

    channel@6 {
    reg = <0x06>;
    adi,extended-name = "CORE_CLK_TX";
    adi,divider = <0x0c>;
    adi,driver-mode = <0x02>;
    phandle = <0xb2>;
    };

    channel@8 {
    reg = <0x08>;
    adi,extended-name = "FPGA_REFCLK1";
    adi,divider = <0x06>;
    adi,driver-mode = <0x02>;
    phandle = <0xb3>;
    };

    channel@10 {
    reg = <0x0a>;
    adi,extended-name = "CORE_CLK_RX_ALT";
    adi,divider = <0x0c>;
    adi,driver-mode = <0x02>;
    phandle = <0xb4>;
    };

    channel@12 {
    reg = <0x0c>;
    adi,extended-name = "FPGA_REFCLK2";
    adi,divider = <0x06>;
    adi,driver-mode = <0x02>;
    phandle = <0xb5>;
    };

    channel@13 {
    reg = <0x0d>;
    adi,extended-name = "FPGA_SYSREF";
    adi,divider = <0x600>;
    adi,driver-mode = <0x02>;
    adi,jesd204-sysref-chan;
    phandle = <0xb6>;
    };
    };
    };

    timer@ff110000 {
    compatible = "cdns,ttc";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x24 0x04 0x00 0x25 0x04 0x00 0x26 0x04>;
    reg = <0x00 0xff110000 0x00 0x1000>;
    timer-width = <0x20>;
    power-domains = <0x12 0x18>;
    clocks = <0x04 0x1f>;
    phandle = <0xb7>;
    };

    timer@ff120000 {
    compatible = "cdns,ttc";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x27 0x04 0x00 0x28 0x04 0x00 0x29 0x04>;
    reg = <0x00 0xff120000 0x00 0x1000>;
    timer-width = <0x20>;
    power-domains = <0x12 0x19>;
    clocks = <0x04 0x1f>;
    phandle = <0xb8>;
    };

    timer@ff130000 {
    compatible = "cdns,ttc";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x2a 0x04 0x00 0x2b 0x04 0x00 0x2c 0x04>;
    reg = <0x00 0xff130000 0x00 0x1000>;
    timer-width = <0x20>;
    power-domains = <0x12 0x1a>;
    clocks = <0x04 0x1f>;
    phandle = <0xb9>;
    };

    timer@ff140000 {
    compatible = "cdns,ttc";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x2d 0x04 0x00 0x2e 0x04 0x00 0x2f 0x04>;
    reg = <0x00 0xff140000 0x00 0x1000>;
    timer-width = <0x20>;
    power-domains = <0x12 0x1b>;
    clocks = <0x04 0x1f>;
    phandle = <0xba>;
    };

    serial@ff000000 {
    u-boot,dm-pre-reloc;
    compatible = "xlnx,zynqmp-uart\0cdns,uart-r1p12";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x15 0x04>;
    reg = <0x00 0xff000000 0x00 0x1000>;
    clock-names = "uart_clk\0pclk";
    power-domains = <0x12 0x21>;
    clocks = <0x04 0x38 0x04 0x1f>;
    pinctrl-names = "default";
    pinctrl-0 = <0x30>;
    phandle = <0xbb>;
    };

    serial@ff010000 {
    u-boot,dm-pre-reloc;
    compatible = "xlnx,zynqmp-uart\0cdns,uart-r1p12";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x16 0x04>;
    reg = <0x00 0xff010000 0x00 0x1000>;
    clock-names = "uart_clk\0pclk";
    power-domains = <0x12 0x22>;
    clocks = <0x04 0x39 0x04 0x1f>;
    pinctrl-names = "default";
    pinctrl-0 = <0x31>;
    phandle = <0xbc>;
    };

    usb@ff9d0000 {
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    status = "okay";
    compatible = "xlnx,zynqmp-dwc3";
    reg = <0x00 0xff9d0000 0x00 0x100>;
    clock-names = "bus_clk\0ref_clk";
    power-domains = <0x12 0x16>;
    resets = <0x11 0x3b 0x11 0x3d 0x11 0x3f>;
    reset-names = "usb_crst\0usb_hibrst\0usb_apbrst";
    reset-gpios = <0x32 0x01 0x01>;
    ranges;
    clocks = <0x04 0x20 0x04 0x22>;
    assigned-clocks = <0x04 0x20 0x04 0x22>;
    pinctrl-names = "default";
    pinctrl-0 = <0x33>;
    phy-names = "usb3-phy";
    phys = <0x23 0x02 0x04 0x00 0x02>;
    phandle = <0xbd>;

    usb@fe200000 {
    compatible = "snps,dwc3";
    status = "okay";
    reg = <0x00 0xfe200000 0x00 0x40000>;
    interrupt-parent = <0x05>;
    interrupt-names = "dwc_usb3\0otg\0hiber";
    interrupts = <0x00 0x41 0x04 0x00 0x45 0x04 0x00 0x4b 0x04>;
    iommus = <0x14 0x860>;
    snps,quirk-frame-length-adjustment = <0x20>;
    clock-names = "ref";
    snps,enable_guctl1_ipd_quirk;
    snps,resume-hs-terminations;
    clocks = <0x04 0x22>;
    dr_mode = "host";
    snps,usb3_lpm_capable;
    maximum-speed = "super-speed";
    phandle = <0xbe>;
    };
    };

    usb@ff9e0000 {
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    status = "disabled";
    compatible = "xlnx,zynqmp-dwc3";
    reg = <0x00 0xff9e0000 0x00 0x100>;
    clock-names = "bus_clk\0ref_clk";
    power-domains = <0x12 0x17>;
    resets = <0x11 0x3c 0x11 0x3e 0x11 0x40>;
    reset-names = "usb_crst\0usb_hibrst\0usb_apbrst";
    ranges;
    clocks = <0x04 0x21 0x04 0x22>;
    assigned-clocks = <0x04 0x21 0x04 0x22>;
    phandle = <0xbf>;

    usb@fe300000 {
    compatible = "snps,dwc3";
    status = "disabled";
    reg = <0x00 0xfe300000 0x00 0x40000>;
    interrupt-parent = <0x05>;
    interrupt-names = "dwc_usb3\0otg\0hiber";
    interrupts = <0x00 0x46 0x04 0x00 0x4a 0x04 0x00 0x4c 0x04>;
    iommus = <0x14 0x861>;
    snps,quirk-frame-length-adjustment = <0x20>;
    clock-names = "ref";
    snps,enable_guctl1_ipd_quirk;
    snps,resume-hs-terminations;
    clocks = <0x04 0x22>;
    phandle = <0xc0>;
    };
    };

    watchdog@fd4d0000 {
    compatible = "cdns,wdt-r1p2";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x71 0x01>;
    reg = <0x00 0xfd4d0000 0x00 0x1000>;
    timeout-sec = <0x3c>;
    reset-on-timeout;
    clocks = <0x04 0x4b>;
    phandle = <0xc1>;
    };

    watchdog@ff150000 {
    compatible = "cdns,wdt-r1p2";
    status = "disabled";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x34 0x01>;
    reg = <0x00 0xff150000 0x00 0x1000>;
    timeout-sec = <0x0a>;
    clocks = <0x04 0x70>;
    phandle = <0xc2>;
    };

    ams@ffa50000 {
    compatible = "xlnx,zynqmp-ams";
    status = "okay";
    interrupt-parent = <0x05>;
    interrupts = <0x00 0x38 0x04>;
    reg = <0x00 0xffa50000 0x00 0x800>;
    #address-cells = <0x01>;
    #size-cells = <0x01>;
    #io-channel-cells = <0x01>;
    ranges = <0x00 0x00 0xffa50800 0x800>;
    clocks = <0x04 0x46>;
    phandle = <0xc3>;

    ams-ps@0 {
    compatible = "xlnx,zynqmp-ams-ps";
    status = "okay";
    reg = <0x00 0x400>;
    phandle = <0xc4>;
    };

    ams-pl@400 {
    compatible = "xlnx,zynqmp-ams-pl";
    status = "okay";
    reg = <0x400 0x400>;
    phandle = <0xc5>;
    };
    };

    dma-controller@fd4c0000 {
    compatible = "xlnx,zynqmp-dpdma";
    status = "okay";
    reg = <0x00 0xfd4c0000 0x00 0x1000>;
    interrupts = <0x00 0x7a 0x04>;
    interrupt-parent = <0x05>;
    clock-names = "axi_clk";
    power-domains = <0x12 0x29>;
    dma-channels = <0x06>;
    iommus = <0x14 0xce4>;
    #dma-cells = <0x01>;
    clocks = <0x04 0x14>;
    assigned-clocks = <0x04 0x14>;
    phandle = <0x35>;
    };

    dp-aud@fd4ac000 {
    compatible = "xlnx,zynqmp-dpaud-setting\0syscon";
    reg = <0x00 0xfd4ac000 0x00 0x1000>;
    phandle = <0x34>;
    };

    display@fd4a0000 {
    u-boot,dm-pre-reloc;
    compatible = "xlnx,zynqmp-dpsub-1.7";
    status = "okay";
    reg = <0x00 0xfd4a0000 0x00 0x1000 0x00 0xfd4aa000 0x00 0x1000 0x00 0xfd4ab000 0x00 0x1000>;
    reg-names = "dp\0blend\0av_buf";
    xlnx,dpaud-reg = <0x34>;
    interrupts = <0x00 0x77 0x04>;
    interrupt-parent = <0x05>;
    iommus = <0x14 0xce3>;
    clock-names = "dp_apb_clk\0dp_aud_clk\0dp_vtc_pixel_clk_in";
    power-domains = <0x12 0x29>;
    resets = <0x11 0x03>;
    dma-names = "vid0\0vid1\0vid2\0gfx0";
    dmas = <0x35 0x00 0x35 0x01 0x35 0x02 0x35 0x03>;
    clocks = <0x04 0x1c 0x04 0x11 0x04 0x10>;
    assigned-clocks = <0x04 0x12 0x04 0x11 0x04 0x10>;
    phy-names = "dp-phy0";
    phys = <0x23 0x01 0x06 0x00 0x03>;
    phandle = <0xc6>;

    i2c-bus {
    };

    zynqmp-dp-snd-codec0 {
    compatible = "xlnx,dp-snd-codec";
    clock-names = "aud_clk";
    clocks = <0x04 0x11>;
    phandle = <0x38>;
    };

    zynqmp-dp-snd-pcm0 {
    compatible = "xlnx,dp-snd-pcm0";
    dmas = <0x35 0x04>;
    dma-names = "tx";
    phandle = <0x36>;
    };

    zynqmp-dp-snd-pcm1 {
    compatible = "xlnx,dp-snd-pcm1";
    dmas = <0x35 0x05>;
    dma-names = "tx";
    phandle = <0x37>;
    };

    zynqmp-dp-snd-card {
    compatible = "xlnx,dp-snd-card";
    xlnx,dp-snd-pcm = <0x36 0x37>;
    xlnx,dp-snd-codec = <0x38>;
    phandle = <0xc7>;
    };
    };
    };

    fclk0 {
    status = "okay";
    compatible = "xlnx,fclk";
    clocks = <0x04 0x47>;
    phandle = <0xc8>;
    };

    fclk1 {
    status = "okay";
    compatible = "xlnx,fclk";
    clocks = <0x04 0x48>;
    phandle = <0xc9>;
    };

    fclk2 {
    status = "okay";
    compatible = "xlnx,fclk";
    clocks = <0x04 0x49>;
    phandle = <0xca>;
    };

    fclk3 {
    status = "okay";
    compatible = "xlnx,fclk";
    clocks = <0x04 0x4a>;
    phandle = <0xcb>;
    };

    pss_ref_clk {
    u-boot,dm-pre-reloc;
    compatible = "fixed-clock";
    #clock-cells = <0x00>;
    clock-frequency = <0x1fca055>;
    phandle = <0x0b>;
    };

    video_clk {
    u-boot,dm-pre-reloc;
    compatible = "fixed-clock";
    #clock-cells = <0x00>;
    clock-frequency = <0x19bfcc0>;
    phandle = <0x0c>;
    };

    pss_alt_ref_clk {
    u-boot,dm-pre-reloc;
    compatible = "fixed-clock";
    #clock-cells = <0x00>;
    clock-frequency = <0x00>;
    phandle = <0x0d>;
    };

    gt_crx_ref_clk {
    u-boot,dm-pre-reloc;
    compatible = "fixed-clock";
    #clock-cells = <0x00>;
    clock-frequency = <0x66ff300>;
    phandle = <0x0f>;
    };

    aux_ref_clk {
    u-boot,dm-pre-reloc;
    compatible = "fixed-clock";
    #clock-cells = <0x00>;
    clock-frequency = <0x19bfcc0>;
    phandle = <0x0e>;
    };

    aliases {
    ethernet0 = "/axi/ethernet@ff0e0000";
    i2c0 = "/axi/i2c@ff020000";
    i2c1 = "/axi/i2c@ff030000";
    mmc0 = "/axi/mmc@ff170000";
    nvmem0 = "/axi/i2c@ff030000/i2c-mux@74/i2c@0/eeprom@54";
    rtc0 = "/axi/rtc@ffa60000";
    serial0 = "/axi/serial@ff000000";
    serial1 = "/axi/serial@ff010000";
    serial2 = "/dcc";
    spi0 = "/axi/spi@ff0f0000";
    usb0 = "/axi/usb@ff9d0000";
    ethernet1 = "/pl-bus/ethernet@a0040000";
    };

    chosen {
    bootargs = "earlycon";
    stdout-path = "serial0:115200n8";
    };

    memory@0 {
    device_type = "memory";
    reg = <0x00 0x00 0x00 0x80000000 0x08 0x00 0x00 0x80000000>;
    };

    gpio-keys {
    compatible = "gpio-keys";
    autorepeat;

    switch-19 {
    label = "sw19";
    gpios = <0x1b 0x16 0x00>;
    linux,code = <0x6c>;
    wakeup-source;
    autorepeat;
    };
    };

    leds {
    compatible = "gpio-leds";

    heartbeat-led {
    label = "heartbeat";
    gpios = <0x1b 0x17 0x00>;
    linux,default-trigger = "heartbeat";
    };
    };

    ina226-u76 {
    compatible = "iio-hwmon";
    io-channels = <0x39 0x00 0x39 0x01 0x39 0x02 0x39 0x03>;
    };

    ina226-u77 {
    compatible = "iio-hwmon";
    io-channels = <0x3a 0x00 0x3a 0x01 0x3a 0x02 0x3a 0x03>;
    };

    ina226-u78 {
    compatible = "iio-hwmon";
    io-channels = <0x3b 0x00 0x3b 0x01 0x3b 0x02 0x3b 0x03>;
    };

    ina226-u87 {
    compatible = "iio-hwmon";
    io-channels = <0x3c 0x00 0x3c 0x01 0x3c 0x02 0x3c 0x03>;
    };

    ina226-u85 {
    compatible = "iio-hwmon";
    io-channels = <0x3d 0x00 0x3d 0x01 0x3d 0x02 0x3d 0x03>;
    };

    ina226-u86 {
    compatible = "iio-hwmon";
    io-channels = <0x3e 0x00 0x3e 0x01 0x3e 0x02 0x3e 0x03>;
    };

    ina226-u93 {
    compatible = "iio-hwmon";
    io-channels = <0x3f 0x00 0x3f 0x01 0x3f 0x02 0x3f 0x03>;
    };

    ina226-u88 {
    compatible = "iio-hwmon";
    io-channels = <0x40 0x00 0x40 0x01 0x40 0x02 0x40 0x03>;
    };

    ina226-u15 {
    compatible = "iio-hwmon";
    io-channels = <0x41 0x00 0x41 0x01 0x41 0x02 0x41 0x03>;
    };

    ina226-u92 {
    compatible = "iio-hwmon";
    io-channels = <0x42 0x00 0x42 0x01 0x42 0x02 0x42 0x03>;
    };

    ina226-u79 {
    compatible = "iio-hwmon";
    io-channels = <0x43 0x00 0x43 0x01 0x43 0x02 0x43 0x03>;
    };

    ina226-u81 {
    compatible = "iio-hwmon";
    io-channels = <0x44 0x00 0x44 0x01 0x44 0x02 0x44 0x03>;
    };

    ina226-u80 {
    compatible = "iio-hwmon";
    io-channels = <0x45 0x00 0x45 0x01 0x45 0x02 0x45 0x03>;
    };

    ina226-u84 {
    compatible = "iio-hwmon";
    io-channels = <0x46 0x00 0x46 0x01 0x46 0x02 0x46 0x03>;
    };

    ina226-u16 {
    compatible = "iio-hwmon";
    io-channels = <0x47 0x00 0x47 0x01 0x47 0x02 0x47 0x03>;
    };

    ina226-u65 {
    compatible = "iio-hwmon";
    io-channels = <0x48 0x00 0x48 0x01 0x48 0x02 0x48 0x03>;
    };

    ina226-u74 {
    compatible = "iio-hwmon";
    io-channels = <0x49 0x00 0x49 0x01 0x49 0x02 0x49 0x03>;
    };

    ina226-u75 {
    compatible = "iio-hwmon";
    io-channels = <0x4a 0x00 0x4a 0x01 0x4a 0x02 0x4a 0x03>;
    };

    ref48M {
    compatible = "fixed-clock";
    #clock-cells = <0x00>;
    clock-frequency = <0x2dc6c00>;
    phandle = <0x1e>;
    };

    refhdmi {
    compatible = "fixed-clock";
    #clock-cells = <0x00>;
    clock-frequency = <0x6cfd9c8>;
    phandle = <0x1f>;
    };

    fpga-axi@0 {
    interrupt-parent = <0x05>;
    compatible = "simple-bus";
    #address-cells = <0x01>;
    #size-cells = <0x01>;
    ranges = <0x00 0x00 0x00 0xffffffff>;
    phandle = <0xcc>;

    dma@9c420000 {
    compatible = "adi,axi-dmac-1.00.a";
    reg = <0x9c420000 0x10000>;
    #dma-cells = <0x01>;
    #clock-cells = <0x00>;
    interrupts = <0x00 0x6d 0x04>;
    clocks = <0x04 0x49>;
    phandle = <0x4b>;
    };

    dma@9c430000 {
    compatible = "adi,axi-dmac-1.00.a";
    reg = <0x9c430000 0x10000>;
    #dma-cells = <0x01>;
    #clock-cells = <0x00>;
    interrupts = <0x00 0x6c 0x04>;
    clocks = <0x04 0x49>;
    phandle = <0x4e>;
    };

    axi-ad9081-rx-hpc@84a10000 {
    compatible = "adi,axi-ad9081-rx-1.0";
    reg = <0x84a10000 0x8000>;
    dmas = <0x4b 0x00>;
    dma-names = "rx";
    spibus-connected = <0x4c>;
    jesd204-device;
    #jesd204-cells = <0x02>;
    jesd204-inputs = <0x4d 0x00 0x02>;
    phandle = <0x26>;
    };

    axi-ad9081-tx-hpc@84b10000 {
    compatible = "adi,axi-ad9081-tx-1.0";
    reg = <0x84b10000 0x4000>;
    dmas = <0x4e 0x00>;
    dma-names = "tx";
    clocks = <0x4c 0x01>;
    clock-names = "sampl_clk";
    spibus-connected = <0x4c>;
    adi,axi-data-offload-connected = <0x4f>;
    jesd204-device;
    #jesd204-cells = <0x02>;
    jesd204-inputs = <0x50 0x00 0x00>;
    phandle = <0x27>;
    };

    axi-jesd204-rx@84a90000 {
    compatible = "adi,axi-jesd204-rx-1.0";
    reg = <0x84a90000 0x1000>;
    interrupts = <0x00 0x6b 0x04>;
    clocks = <0x04 0x47 0x25 0x0a 0x51 0x00>;
    clock-names = "s_axi_aclk\0device_clk\0lane_clk";
    #clock-cells = <0x00>;
    clock-output-names = "jesd_rx_lane_clk";
    jesd204-device;
    #jesd204-cells = <0x02>;
    jesd204-inputs = <0x51 0x00 0x02>;
    phandle = <0x4d>;
    };

    axi-jesd204-tx@84b90000 {
    compatible = "adi,axi-jesd204-tx-1.0";
    reg = <0x84b90000 0x1000>;
    interrupts = <0x00 0x6a 0x04>;
    clocks = <0x04 0x47 0x25 0x06 0x52 0x00>;
    clock-names = "s_axi_aclk\0device_clk\0lane_clk";
    #clock-cells = <0x00>;
    clock-output-names = "jesd_tx_lane_clk";
    jesd204-device;
    #jesd204-cells = <0x02>;
    jesd204-inputs = <0x52 0x00 0x00>;
    phandle = <0x50>;
    };

    axi-adxcvr-rx@84a60000 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    compatible = "adi,axi-adxcvr-1.0";
    reg = <0x84a60000 0x1000>;
    clocks = <0x25 0x0c>;
    clock-names = "conv";
    #clock-cells = <0x01>;
    clock-output-names = "rx_gt_clk\0rx_out_clk";
    adi,sys-clk-select = <0x00>;
    adi,out-clk-select = <0x04>;
    adi,use-lpm-enable;
    jesd204-device;
    #jesd204-cells = <0x02>;
    jesd204-inputs = <0x25 0x00 0x02>;
    phandle = <0x51>;
    };

    axi-adxcvr-tx@84b60000 {
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    compatible = "adi,axi-adxcvr-1.0";
    reg = <0x84b60000 0x1000>;
    clocks = <0x25 0x0c>;
    clock-names = "conv";
    #clock-cells = <0x01>;
    clock-output-names = "tx_gt_clk\0tx_out_clk";
    adi,sys-clk-select = <0x03>;
    adi,out-clk-select = <0x04>;
    jesd204-device;
    #jesd204-cells = <0x02>;
    jesd204-inputs = <0x25 0x00 0x00>;
    phandle = <0x52>;
    };

    axi-sysid-0@85000000 {
    compatible = "adi,axi-sysid-1.00.a";
    reg = <0x85000000 0x10000>;
    phandle = <0xcd>;
    };

    axi-data-offload-0@9c440000 {
    compatible = "adi,axi-data-offload-1.0.a";
    reg = <0x9c440000 0x10000>;
    phandle = <0x4f>;
    };

    axi-data-offload-1@9c450000 {
    compatible = "adi,axi-data-offload-1.0.a";
    reg = <0x9c450000 0x10000>;
    phandle = <0xce>;
    };

    pulsegen-1@80000000 {
    compatible = "mycompany,my-fpga-iio";
    reg = <0x80000000 0x10000>;
    label = "pulsegen-1";
    };

    axi-gpio-2@80010000 {
    compatible = "mycompany,my-fpga-iio";
    reg = <0x80010000 0x10000>;
    label = "axi-gpio-2";
    };

    axi-gpio-3@80020000 {
    compatible = "mycompany,my-fpga-iio";
    reg = <0x80020000 0x10000>;
    label = "axi-gpio-3";
    };

    dds_freqword_controller@80030000 {
    compatible = "mycompany,my-fpga-iio";
    reg = <0x80030000 0x10000>;
    label = "dds-freqword-controller";
    };

    axi-gpio-1@80040000 {
    compatible = "mycompany,my-fpga-iio";
    reg = <0x80040000 0x10000>;
    label = "axi-gpio-1";
    };
    };

    __symbols__ {
    cpu0 = "/cpus/cpu@0";
    cpu1 = "/cpus/cpu@1";
    cpu2 = "/cpus/cpu@2";
    cpu3 = "/cpus/cpu@3";
    L2 = "/cpus/l2-cache";
    CPU_SLEEP_0 = "/cpus/idle-states/cpu-sleep-0";
    cpu_opp_table = "/opp-table-cpu";
    zynqmp_ipi = "/zynqmp-ipi";
    ipi_mailbox_pmu1 = "/zynqmp-ipi/mailbox@ff9905c0";
    dcc = "/dcc";
    zynqmp_firmware = "/firmware/zynqmp-firmware";
    zynqmp_power = "/firmware/zynqmp-firmware/zynqmp-power";
    soc_revision = "/firmware/zynqmp-firmware/nvmem-firmware/soc-revision@0";
    efuse_dna = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-dna@c";
    efuse_usr0 = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-usr0@20";
    efuse_usr1 = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-usr1@24";
    efuse_usr2 = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-usr2@28";
    efuse_usr3 = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-usr3@2c";
    efuse_usr4 = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-usr4@30";
    efuse_usr5 = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-usr5@34";
    efuse_usr6 = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-usr6@38";
    efuse_usr7 = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-usr7@3c";
    efuse_miscusr = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-miscusr@40";
    efuse_chash = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-chash@50";
    efuse_pufmisc = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-pufmisc@54";
    efuse_sec = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-sec@58";
    efuse_spkid = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-spkid@5c";
    efuse_ppk0hash = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-ppk0hash@a0";
    efuse_ppk1hash = "/firmware/zynqmp-firmware/nvmem-firmware/efuse-ppk1hash@d0";
    zynqmp_pcap = "/firmware/zynqmp-firmware/pcap";
    zynqmp_reset = "/firmware/zynqmp-firmware/reset-controller";
    pinctrl0 = "/firmware/zynqmp-firmware/pinctrl";
    pinctrl_i2c0_default = "/firmware/zynqmp-firmware/pinctrl/i2c0-default";
    pinctrl_i2c0_gpio = "/firmware/zynqmp-firmware/pinctrl/i2c0-gpio";
    pinctrl_i2c1_default = "/firmware/zynqmp-firmware/pinctrl/i2c1-default";
    pinctrl_i2c1_gpio = "/firmware/zynqmp-firmware/pinctrl/i2c1-gpio";
    pinctrl_uart0_default = "/firmware/zynqmp-firmware/pinctrl/uart0-default";
    pinctrl_uart1_default = "/firmware/zynqmp-firmware/pinctrl/uart1-default";
    pinctrl_usb0_default = "/firmware/zynqmp-firmware/pinctrl/usb0-default";
    pinctrl_gem3_default = "/firmware/zynqmp-firmware/pinctrl/gem3-default";
    pinctrl_can1_default = "/firmware/zynqmp-firmware/pinctrl/can1-default";
    pinctrl_sdhci1_default = "/firmware/zynqmp-firmware/pinctrl/sdhci1-default";
    pinctrl_gpio_default = "/firmware/zynqmp-firmware/pinctrl/gpio-default";
    modepin_gpio = "/firmware/zynqmp-firmware/gpio";
    zynqmp_clk = "/firmware/zynqmp-firmware/clock-controller";
    fpga_full = "/fpga-full";
    amba = "/axi";
    can0 = "/axi/can@ff060000";
    can1 = "/axi/can@ff070000";
    cci = "/axi/cci@fd6e0000";
    fpd_dma_chan1 = "/axi/dma-controller@fd500000";
    fpd_dma_chan2 = "/axi/dma-controller@fd510000";
    fpd_dma_chan3 = "/axi/dma-controller@fd520000";
    fpd_dma_chan4 = "/axi/dma-controller@fd530000";
    fpd_dma_chan5 = "/axi/dma-controller@fd540000";
    fpd_dma_chan6 = "/axi/dma-controller@fd550000";
    fpd_dma_chan7 = "/axi/dma-controller@fd560000";
    fpd_dma_chan8 = "/axi/dma-controller@fd570000";
    gic = "/axi/interrupt-controller@f9010000";
    gpu = "/axi/gpu@fd4b0000";
    lpd_dma_chan1 = "/axi/dma-controller@ffa80000";
    lpd_dma_chan2 = "/axi/dma-controller@ffa90000";
    lpd_dma_chan3 = "/axi/dma-controller@ffaa0000";
    lpd_dma_chan4 = "/axi/dma-controller@ffab0000";
    lpd_dma_chan5 = "/axi/dma-controller@ffac0000";
    lpd_dma_chan6 = "/axi/dma-controller@ffad0000";
    lpd_dma_chan7 = "/axi/dma-controller@ffae0000";
    lpd_dma_chan8 = "/axi/dma-controller@ffaf0000";
    mc = "/axi/memory-controller@fd070000";
    nand0 = "/axi/nand-controller@ff100000";
    gem0 = "/axi/ethernet@ff0b0000";
    gem1 = "/axi/ethernet@ff0c0000";
    gem2 = "/axi/ethernet@ff0d0000";
    gem3 = "/axi/ethernet@ff0e0000";
    mdio = "/axi/ethernet@ff0e0000/mdio";
    phyc = "/axi/ethernet@ff0e0000/mdio/ethernet-phy@c";
    gpio = "/axi/gpio@ff0a0000";
    i2c0 = "/axi/i2c@ff020000";
    tca6416_u97 = "/axi/i2c@ff020000/gpio@20";
    tca6416_u61 = "/axi/i2c@ff020000/gpio@21";
    u76 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@40";
    u77 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@41";
    u78 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@42";
    u87 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@43";
    u85 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@44";
    u86 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@45";
    u93 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@46";
    u88 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@47";
    u15 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@4a";
    u92 = "/axi/i2c@ff020000/i2c-mux@75/i2c@0/ina226@4b";
    u79 = "/axi/i2c@ff020000/i2c-mux@75/i2c@1/ina226@40";
    u81 = "/axi/i2c@ff020000/i2c-mux@75/i2c@1/ina226@41";
    u80 = "/axi/i2c@ff020000/i2c-mux@75/i2c@1/ina226@42";
    u84 = "/axi/i2c@ff020000/i2c-mux@75/i2c@1/ina226@43";
    u16 = "/axi/i2c@ff020000/i2c-mux@75/i2c@1/ina226@44";
    u65 = "/axi/i2c@ff020000/i2c-mux@75/i2c@1/ina226@45";
    u74 = "/axi/i2c@ff020000/i2c-mux@75/i2c@1/ina226@46";
    u75 = "/axi/i2c@ff020000/i2c-mux@75/i2c@1/ina226@47";
    i2c1 = "/axi/i2c@ff030000";
    eeprom = "/axi/i2c@ff030000/i2c-mux@74/i2c@0/eeprom@54";
    board_sn = "/axi/i2c@ff030000/i2c-mux@74/i2c@0/eeprom@54/board-sn@0";
    eth_mac = "/axi/i2c@ff030000/i2c-mux@74/i2c@0/eeprom@54/eth-mac@20";
    board_name = "/axi/i2c@ff030000/i2c-mux@74/i2c@0/eeprom@54/board-name@d0";
    board_revision = "/axi/i2c@ff030000/i2c-mux@74/i2c@0/eeprom@54/board-revision@e0";
    si5341 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36";
    si5341_0 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36/out@0";
    si5341_2 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36/out@2";
    si5341_3 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36/out@3";
    si5341_4 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36/out@4";
    si5341_5 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36/out@5";
    si5341_6 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36/out@6";
    si5341_7 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36/out@7";
    si5341_9 = "/axi/i2c@ff030000/i2c-mux@74/i2c@1/clock-generator@36/out@9";
    si570_1 = "/axi/i2c@ff030000/i2c-mux@74/i2c@2/clock-generator@5d";
    si570_2 = "/axi/i2c@ff030000/i2c-mux@74/i2c@3/clock-generator@5d";
    si5328 = "/axi/i2c@ff030000/i2c-mux@74/i2c@4/clock-generator@69";
    si5328_clk = "/axi/i2c@ff030000/i2c-mux@74/i2c@4/clock-generator@69/clk0@0";
    ocm = "/axi/memory-controller@ff960000";
    perf_monitor_ocm = "/axi/perf-monitor@ffa00000";
    perf_monitor_ddr = "/axi/perf-monitor@fd0b0000";
    perf_monitor_cci = "/axi/perf-monitor@fd490000";
    perf_monitor_lpd = "/axi/perf-monitor@ffa10000";
    pcie = "/axi/pcie@fd0e0000";
    pcie_intc = "/axi/pcie@fd0e0000/legacy-interrupt-controller";
    qspi = "/axi/spi@ff0f0000";
    psgtr = "/axi/phy@fd400000";
    rtc = "/axi/rtc@ffa60000";
    sata = "/axi/ahci@fd0c0000";
    sdhci0 = "/axi/mmc@ff160000";
    sdhci1 = "/axi/mmc@ff170000";
    smmu = "/axi/iommu@fd800000";
    spi0 = "/axi/spi@ff040000";
    trx0_ad9081 = "/axi/spi@ff040000/ad9081@0";
    ad9081_dac0 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,main-data-paths/dac@0";
    ad9081_dac1 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,main-data-paths/dac@1";
    ad9081_dac2 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,main-data-paths/dac@2";
    ad9081_dac3 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,main-data-paths/dac@3";
    ad9081_tx_fddc_chan0 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,channelizer-paths/channel@0";
    ad9081_tx_fddc_chan1 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,channelizer-paths/channel@1";
    ad9081_tx_fddc_chan2 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,channelizer-paths/channel@2";
    ad9081_tx_fddc_chan3 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,channelizer-paths/channel@3";
    ad9081_tx_jesd_l0 = "/axi/spi@ff040000/ad9081@0/adi,tx-dacs/adi,jesd-links/link@0";
    ad9081_adc0 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,main-data-paths/adc@0";
    ad9081_adc1 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,main-data-paths/adc@1";
    ad9081_adc2 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,main-data-paths/adc@2";
    ad9081_adc3 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,main-data-paths/adc@3";
    ad9081_rx_fddc_chan0 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,channelizer-paths/channel@0";
    ad9081_rx_fddc_chan1 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,channelizer-paths/channel@1";
    ad9081_rx_fddc_chan4 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,channelizer-paths/channel@4";
    ad9081_rx_fddc_chan5 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,channelizer-paths/channel@5";
    ad9081_rx_jesd_l0 = "/axi/spi@ff040000/ad9081@0/adi,rx-adcs/adi,jesd-links/link@0";
    spi1 = "/axi/spi@ff050000";
    hmc7044 = "/axi/spi@ff050000/hmc7044@0";
    hmc7044_c0 = "/axi/spi@ff050000/hmc7044@0/channel@0";
    hmc7044_c2 = "/axi/spi@ff050000/hmc7044@0/channel@2";
    hmc7044_c3 = "/axi/spi@ff050000/hmc7044@0/channel@3";
    hmc7044_c6 = "/axi/spi@ff050000/hmc7044@0/channel@6";
    hmc7044_c8 = "/axi/spi@ff050000/hmc7044@0/channel@8";
    hmc7044_c10 = "/axi/spi@ff050000/hmc7044@0/channel@10";
    hmc7044_c12 = "/axi/spi@ff050000/hmc7044@0/channel@12";
    hmc7044_c13 = "/axi/spi@ff050000/hmc7044@0/channel@13";
    ttc0 = "/axi/timer@ff110000";
    ttc1 = "/axi/timer@ff120000";
    ttc2 = "/axi/timer@ff130000";
    ttc3 = "/axi/timer@ff140000";
    uart0 = "/axi/serial@ff000000";
    uart1 = "/axi/serial@ff010000";
    usb0 = "/axi/usb@ff9d0000";
    dwc3_0 = "/axi/usb@ff9d0000/usb@fe200000";
    usb1 = "/axi/usb@ff9e0000";
    dwc3_1 = "/axi/usb@ff9e0000/usb@fe300000";
    watchdog0 = "/axi/watchdog@fd4d0000";
    lpd_watchdog = "/axi/watchdog@ff150000";
    xilinx_ams = "/axi/ams@ffa50000";
    ams_ps = "/axi/ams@ffa50000/ams-ps@0";
    ams_pl = "/axi/ams@ffa50000/ams-pl@400";
    zynqmp_dpdma = "/axi/dma-controller@fd4c0000";
    zynqmp_dpaud_setting = "/axi/dp-aud@fd4ac000";
    zynqmp_dpsub = "/axi/display@fd4a0000";
    zynqmp_dp_snd_codec0 = "/axi/display@fd4a0000/zynqmp-dp-snd-codec0";
    zynqmp_dp_snd_pcm0 = "/axi/display@fd4a0000/zynqmp-dp-snd-pcm0";
    zynqmp_dp_snd_pcm1 = "/axi/display@fd4a0000/zynqmp-dp-snd-pcm1";
    zynqmp_dp_snd_card0 = "/axi/display@fd4a0000/zynqmp-dp-snd-card";
    fclk0 = "/fclk0";
    fclk1 = "/fclk1";
    fclk2 = "/fclk2";
    fclk3 = "/fclk3";
    pss_ref_clk = "/pss_ref_clk";
    video_clk = "/video_clk";
    pss_alt_ref_clk = "/pss_alt_ref_clk";
    gt_crx_ref_clk = "/gt_crx_ref_clk";
    aux_ref_clk = "/aux_ref_clk";
    ref48 = "/ref48M";
    refhdmi = "/refhdmi";
    fpga_axi = "/fpga-axi@0";
    rx_dma = "/fpga-axi@0/dma@9c420000";
    tx_dma = "/fpga-axi@0/dma@9c430000";
    axi_ad9081_core_rx = "/fpga-axi@0/axi-ad9081-rx-hpc@84a10000";
    axi_ad9081_core_tx = "/fpga-axi@0/axi-ad9081-tx-hpc@84b10000";
    axi_ad9081_rx_jesd = "/fpga-axi@0/axi-jesd204-rx@84a90000";
    axi_ad9081_tx_jesd = "/fpga-axi@0/axi-jesd204-tx@84b90000";
    axi_ad9081_adxcvr_rx = "/fpga-axi@0/axi-adxcvr-rx@84a60000";
    axi_ad9081_adxcvr_tx = "/fpga-axi@0/axi-adxcvr-tx@84b60000";
    axi_sysid_0 = "/fpga-axi@0/axi-sysid-0@85000000";
    axi_data_offload_tx = "/fpga-axi@0/axi-data-offload-0@9c440000";
    axi_data_offload_rx = "/fpga-axi@0/axi-data-offload-1@9c450000";
    pulsegen_1 = "/fpga-axi@0/pulsegen-1@80000000";
    axi_gpio_2 = "/fpga-axi@0/gpio@80010000";
    axi_gpio_3 = "/fpga-axi@0/gpio@80020000";
    dds_freqword_controller = "/fpga-axi@0/dds-freqword-controller@80030000";
    axi_gpio_1 = "/fpga-axi@0/gpio@80040000";
    };
    };

  • Hello,

    I couldn't find anything in the devicetree that would cause the behaviour you described. 

    Could you please share any warnings/critical warnings in Vivado? I'm especially interested in warnings that appeared after adding the new IPs to the reference block design. This could help point out the possible problems in the design.

    You should look for constraint warnings after synthesis, or timing violations in the Timing Summary Report after the implementation step. If you don't see either of those, share any warnings that appear in your modified design but not in the original reference.

    All the best,
    Eric

  • Hi,

    Sorry for the delayed response but we figured out the problem was hardware. A resistor had came off and I guess it was messing with the rx channels. In this wiki page (https://wiki.analog.com/resources/eval/user-guides/x-band-platform/hardware), the R1M resistor (which was changed previously) had fallen off somehow. Thank you so much for your help thus far!!

  • Hello,

    Glad to hear the problem has been solved!

    All the best,
    Eric

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.