Post Go back to editing

adi-linux porting on custom carrier card with custom adrv9002 interface tuning error

Hi,

We are Testing on our custom carrier card(XCZU7EV-FFVC1156-2E) with custom adrv9002 FMC based card (C0 version).

1. We customized zcu102 HDL to vivado 2020.2 , LVDS mode to our custom carrier card and successfully tested on NO-OS mode.

2. we took the latest master linux (5.10 version) and created boot image , device-tree using Linaro tool chains.

we observed following error after enabling DEBUG macro in Linux kernel

[   12.235836] SAMPL CLK: 15360000 tuning: RX1

[   12.240014]   0:1:2:3:4:5:6:7

[   12.242988] 0:o o o o o o o o

[   12.246045] 1:o o o o o o o o

[   12.249103] 2:o o o o o o o o

[   12.252164] 3:o o o o o o o o

[   12.255220] 4:# o o o o o o o

[   12.258275] 5:# # o o o o o o

[   12.261326] 6:# # # o o o o o

[   12.264387] 7:# # # o o o o o

[   12.428021] SAMPL CLK: 15360000 tuning: TX1

[   12.432199]   0:1:2:3:4:5:6:7

[   12.435175] 0:# # # # # # # #

[   12.438238] 1:# # # # # # # #

[   12.441289] 2:# # # # # # # #

[   12.444350] 3:# # # # # # # #

[   12.447405] 4:# # # # # # # #

[   12.450460] 5:# # # # # # # #

[   12.453511] 6:# # # # # # # #

[   12.456573] 7:# # # # # # # #

[   12.459802] adrv9002 spi1.0: Interface tuning failed: -5

[   12.466371] cf_axi_adc: probe of 84a00000.axi-adrv9002-rx-lpc failed with error -5

Please find the attached dmesg and device tree.

--yasin

Release 2020.2   Jan 21 2022  -  04:19:06

PMU-FW is not running, certain applications may not be supported.

Xilinx Zynq MP First Stage Boot Loader

Release 2020.2   Jan 18 2022  -  06:02:40

NOTICE:  ATF running on XCZU7EV/silicon v4/RTL5.1 at 0xfffea000

NOTICE:  BL31: v2.2(release):xilinx_rebase_v2.2_2020.1-10-ge6eea88b1

NOTICE:  BL31: Built : 06:01:45, Jan 18 2022





U-Boot 2020.01 (Jan 18 2022 - 06:02:07 +0000)



Board: Xilinx ZynqMP

DRAM:  1023 MiB

PMUFW:  v1.1

EL Level:       EL2

Chip ID:        zu7ev

NAND:  0 MiB

MMC:   mmc@ff170000: 0

In:    serial@ff000000

Out:   serial@ff000000

Err:   serial@ff000000

Bootmode: QSPI_MODE

Reset reason:   EXTERNAL

Net:

ZYNQ GEM: ff0b0000, mdio bus ff0b0000, phyaddr 9, interface gmii



Warning: ethernet@ff0b0000 using MAC address from DT

eth0: ethernet@ff0b0000

Hit any key to stop autoboot:  0

ZynqMP>

ZynqMP>

ZynqMP>

ZynqMP>

ZynqMP> sf probe

SF: Detected n25q512a with page size 512 Bytes, erase size 128 KiB, total 128 MiB

ZynqMP> sf read 0x10000000 0x2080000 0x3000000

device 0 offset 0x2080000, size 0x3000000

SF: 50331648 bytes @ 0x2080000 Read: OK

ZynqMP> bootm 0x10000000

## Loading kernel from FIT Image at 10000000 ...

   Using 'standard' configuration

   Trying 'kernel' kernel subimage

     Description:  Kernel

     Type:         Kernel Image

     Compression:  uncompressed

     Data Start:   0x100000b8

     Data Size:    31396352 Bytes = 29.9 MiB

     Architecture: AArch64

     OS:           Linux

     Load Address: 0x00080000

     Entry Point:  0x00080000

     Hash algo:    sha1

     Hash value:   0c1fcd45c8cbce99e8ca14e544bbc46187a35dd2

   Verifying Hash Integrity ... sha1+ OK

## Loading ramdisk from FIT Image at 10000000 ...

   Using 'standard' configuration

   Trying 'initrd' ramdisk subimage

     Description:  Initrd

     Type:         RAMDisk Image

     Compression:  gzip compressed

     Data Start:   0x11dfbcc8

     Data Size:    11125040 Bytes = 10.6 MiB

     Architecture: AArch64

     OS:           Linux

     Load Address: unavailable

     Entry Point:  unavailable

     Hash algo:    sha1

     Hash value:   842f9cc2221ca2c00b74998379bb998f281e8552

   Verifying Hash Integrity ... sha1+ OK

WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!

## Loading fdt from FIT Image at 10000000 ...

   Using 'standard' configuration

   Trying 'fdt' fdt subimage

     Description:  DTB

     Type:         Flat Device Tree

     Compression:  uncompressed

     Data Start:   0x11df1394

     Data Size:    43108 Bytes = 42.1 KiB

     Architecture: AArch64

     Hash algo:    sha1

     Hash value:   a7596111e4c64220dbd39a85119dc00758ad399b

   Verifying Hash Integrity ... sha1+ OK

   Booting using the fdt blob at 0x11df1394

   Loading Kernel Image

   Loading Ramdisk to 38563000, end 38fff130 ... OK

   Loading Device Tree to 000000000fff2000, end 000000000ffff863 ... OK



Starting kernel ...



[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]

[    0.000000] Linux version 5.10.0-97934-g839d73ce88ed-dirty (rw1@rw1-precision-3630-towerone) (aarch64-xilinx-linux-gcc.real (GCC) 9.2.0, GNU ld (GNU Binutils) 2.32.0.20190204) #9 SMP Fri Jan 21 11:26:22 IST 2022

[    0.000000] Machine model: xlnx,zynqmp

[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')

[    0.000000] printk: bootconsole [cdns0] enabled

[    0.000000] efi: UEFI not found.

[    0.000000] [Firmware Bug]: Kernel image misaligned at boot, please fix your bootloader!

[    0.000000] cma: Reserved 256 MiB at 0x0000000028400000

[    0.000000] Zone ranges:

[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fefffff]

[    0.000000]   DMA32    empty

[    0.000000]   Normal   empty

[    0.000000] Movable zone start for each node

[    0.000000] Early memory node ranges

[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003fefffff]

[    0.000000] Zeroed struct page in unavailable ranges: 256 pages

[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003fefffff]

[    0.000000] psci: probing for conduit method from DT.

[    0.000000] psci: PSCIv1.1 detected in firmware.

[    0.000000] psci: Using standard PSCI v0.2 function IDs

[    0.000000] psci: MIGRATE_INFO_TYPE not supported.

[    0.000000] psci: SMC Calling Convention v1.1

[    0.000000] percpu: Embedded 22 pages/cpu s49496 r8192 d32424 u90112

[    0.000000] Detected VIPT I-cache on CPU0

[    0.000000] CPU features: detected: ARM erratum 845719

[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258307

[    0.000000] Kernel command line:  earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/ram0 rw

[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)

[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)

[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off

[    0.000000] Memory: 725012K/1047552K available (14528K kernel code, 1732K rwdata, 11696K rodata, 2560K init, 366K bss, 60396K reserved, 262144K cma-reserved)

[    0.000000] rcu: Hierarchical RCU implementation.

[    0.000000] rcu:     RCU event tracing is enabled.

[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.

[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.

[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4

[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0

[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000

[    0.000000] GIC: Using split EOI/Deactivate mode

[    0.000000] random: get_random_bytes called from start_kernel+0x318/0x4b0 with crng_init=0

[    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).

[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x170f8de2d3, max_idle_ns: 440795206112 ns

[    0.000003] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns

[    0.008350] Console: colour dummy device 80x25

[    0.012393] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.98 BogoMIPS (lpj=399960)

[    0.022756] pid_max: default: 32768 minimum: 301

[    0.027467] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)

[    0.034700] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)

[    0.043347] rcu: Hierarchical SRCU implementation.

[    0.047432] EFI services will not be available.

[    0.051860] smp: Bringing up secondary CPUs ...

[    0.229239] Detected VIPT I-cache on CPU1

[    0.229276] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]

[    0.605401] Detected VIPT I-cache on CPU2

[    0.605425] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]

[    0.982484] Detected VIPT I-cache on CPU3

[    0.982507] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]

[    0.982555] smp: Brought up 1 node, 4 CPUs

[    1.012414] SMP: Total of 4 processors activated.

[    1.017087] CPU features: detected: 32-bit EL0 Support

[    1.022191] CPU features: detected: CRC32 instructions

[    1.027336] CPU: All CPU(s) started at EL2

[    1.031372] alternatives: patching kernel code

[    1.036578] devtmpfs: initialized

[    1.043184] Registered cp15_barrier emulation handler

[    1.044076] Registered setend emulation handler

[    1.048689] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns

[    1.058273] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)

[    1.070819] pinctrl core: initialized pinctrl subsystem

[    1.071475] NET: Registered protocol family 16

[    1.076280] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations

[    1.081913] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations

[    1.089626] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations

[    1.097437] audit: initializing netlink subsys (disabled)

[    1.102842] audit: type=2000 audit(1.036:1): state=initialized audit_enabled=0 res=1

[    1.110482] cpuidle: using governor menu

[    1.114481] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.

[    1.121156] ASID allocator initialised with 65536 entries

[    1.144327] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages

[    1.145385] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages

[    1.152054] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages

[    1.158716] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages

[    2.243944] DRBG: Continuing without Jitter RNG

[    2.322118] raid6: neonx8   gen()  2132 MB/s

[    2.390163] raid6: neonx8   xor()  1606 MB/s

[    2.458222] raid6: neonx4   gen()  2192 MB/s

[    2.526272] raid6: neonx4   xor()  1584 MB/s

[    2.594331] raid6: neonx2   gen()  2079 MB/s

[    2.662386] raid6: neonx2   xor()  1478 MB/s

[    2.730443] raid6: neonx1   gen()  1806 MB/s

[    2.798501] raid6: neonx1   xor()  1248 MB/s

[    2.866550] raid6: int64x8  gen()  1487 MB/s

[    2.934610] raid6: int64x8  xor()   784 MB/s

[    3.002675] raid6: int64x4  gen()  1658 MB/s

[    3.070725] raid6: int64x4  xor()   840 MB/s

[    3.138799] raid6: int64x2  gen()  1414 MB/s

[    3.206844] raid6: int64x2  xor()   730 MB/s

[    3.274913] raid6: int64x1  gen()  1051 MB/s

[    3.342964] raid6: int64x1  xor()   559 MB/s

[    3.343002] raid6: using algorithm neonx4 gen() 2192 MB/s

[    3.346953] raid6: .... xor() 1584 MB/s, rmw enabled

[    3.351885] raid6: using neon recovery algorithm

[    3.356867] iommu: Default domain type: Translated

[    3.361514] SCSI subsystem initialized

[    3.365180] usbcore: registered new interface driver usbfs

[    3.370514] usbcore: registered new interface driver hub

[    3.375786] usbcore: registered new device driver usb

[    3.380914] mc: Linux media interface: v0.10

[    3.385037] videodev: Linux video capture interface: v2.00

[    3.390530] EDAC MC: Ver: 3.0.0

[    3.393964] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.

[    3.402362] jesd204: found 0 devices and 0 topologies

[    3.407105] FPGA manager framework

[    3.410573] Advanced Linux Sound Architecture Driver Initialized.

[    3.416881] Bluetooth: Core ver 2.22

[    3.420064] NET: Registered protocol family 31

[    3.424466] Bluetooth: HCI device and connection manager initialized

[    3.430784] Bluetooth: HCI socket layer initialized

[    3.435627] Bluetooth: L2CAP socket layer initialized

[    3.440651] Bluetooth: SCO socket layer initialized

[    3.445874] clocksource: Switched to clocksource arch_sys_counter

[    3.451646] VFS: Disk quotas dquot_6.6.0

[    3.455483] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)

[    3.466116] NET: Registered protocol family 2

[    3.466932] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)

[    3.474917] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)

[    3.482653] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)

[    3.489884] TCP: Hash tables configured (established 8192 bind 8192)

[    3.496161] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)

[    3.502695] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)

[    3.509767] NET: Registered protocol family 1

[    3.514255] RPC: Registered named UNIX socket transport module.

[    3.519893] RPC: Registered udp transport module.

[    3.524558] RPC: Registered tcp transport module.

[    3.529228] RPC: Registered tcp NFSv4.1 backchannel transport module.

[    3.536193] PCI: CLS 0 bytes, default 64

[    3.539618] Trying to unpack rootfs image as initramfs...

[    4.025758] Freeing initrd memory: 10864K

[    4.026283] hw perfevents: no interrupt-affinity property for /pmu, guessing.

[    4.031430] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available

[    4.039811] Initialise system trusted keyrings

[    4.043489] workingset: timestamp_bits=62 max_order=18 bucket_order=0

[    4.050407] NFS: Registering the id_resolver key type

[    4.054780] Key type id_resolver registered

[    4.058934] Key type id_legacy registered

[    4.062915] nfs4filelayout_init: NFSv4 File Layout Driver Registering...

[    4.069575] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.

[    4.112583] NET: Registered protocol family 38

[    4.112626] xor: measuring software checksum speed

[    4.120179]    8regs           :  2443 MB/sec

[    4.123976]    32regs          :  2805 MB/sec

[    4.128911]    arm64_neon      :  2389 MB/sec

[    4.129117] xor: using function: 32regs (2805 MB/sec)

[    4.134144] Key type asymmetric registered

[    4.138206] Asymmetric key parser 'x509' registered

[    4.143068] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)

[    4.150405] io scheduler mq-deadline registered

[    4.154902] io scheduler kyber registered

[    4.184150] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled

[    4.188527] cacheinfo: Unable to detect cache hierarchy for CPU 0

[    4.195209] brd: module loaded

[    4.199398] loop: module loaded

[    4.199687] Registered mathworks_ip class

[    4.203080] libphy: Fixed MDIO Bus: probed

[    4.206129] tun: Universal TUN/TAP device driver, 1.6

[    4.210205] CAN device driver interface

[    4.214665] usbcore: registered new interface driver asix

[    4.219350] usbcore: registered new interface driver ax88179_178a

[    4.225374] usbcore: registered new interface driver cdc_ether

[    4.231168] usbcore: registered new interface driver net1080

[    4.236794] usbcore: registered new interface driver cdc_subset

[    4.242675] usbcore: registered new interface driver zaurus

[    4.248223] usbcore: registered new interface driver cdc_ncm

[    4.254572] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

[    4.260307] ehci-pci: EHCI PCI platform driver

[    4.265105] usbcore: registered new interface driver uas

[    4.270023] usbcore: registered new interface driver usb-storage

[    4.276014] usbcore: registered new interface driver usbserial_generic

[    4.282463] usbserial: USB Serial support registered for generic

[    4.288438] usbcore: registered new interface driver ftdi_sio

[    4.294141] usbserial: USB Serial support registered for FTDI USB Serial Device

[    4.301415] usbcore: registered new interface driver upd78f0730

[    4.307292] usbserial: USB Serial support registered for upd78f0730

[    4.314891] rtc_zynqmp ffa60000.rtc: registered as rtc0

[    4.318718] rtc_zynqmp ffa60000.rtc: setting system clock to 2022-01-21T07:40:10 UTC (1642750810)

[    4.327572] i2c /dev entries driver

[    4.332756] usbcore: registered new interface driver uvcvideo

[    4.336693] USB Video Class driver (1.1.1)

[    4.341801] Bluetooth: HCI UART driver ver 2.3

[    4.345177] Bluetooth: HCI UART protocol H4 registered

[    4.350274] Bluetooth: HCI UART protocol BCSP registered

[    4.355567] Bluetooth: HCI UART protocol LL registered

[    4.360654] Bluetooth: HCI UART protocol ATH3K registered

[    4.366029] Bluetooth: HCI UART protocol Three-wire (H5) registered

[    4.372282] Bluetooth: HCI UART protocol Intel registered

[    4.377623] Bluetooth: HCI UART protocol QCA registered

[    4.382823] usbcore: registered new interface driver bcm203x

[    4.388448] usbcore: registered new interface driver bpa10x

[    4.393983] usbcore: registered new interface driver bfusb

[    4.399431] usbcore: registered new interface driver btusb

[    4.404896] usbcore: registered new interface driver ath3k

[    4.410389] EDAC MC: ECC not enabled

[    4.413998] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)

[    4.426292] sdhci: Secure Digital Host Controller Interface driver

[    4.432111] sdhci: Copyright(c) Pierre Ossman

[    4.436436] sdhci-pltfm: SDHCI platform and OF driver helper

[    4.442432] ledtrig-cpu: registered to indicate activity on CPUs

[    4.448076] zynqmp_firmware_probe Platform Management API v1.1

[    4.453834] zynqmp_firmware_probe Trustzone version v1.0

[    4.497411] zynqmp-aes zynqmp_aes: will run requests pump with realtime priority

[    4.511698] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)

[    4.512405] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)

[    4.517976] usbcore: registered new interface driver usbhid

[    4.523308] usbhid: USB HID core driver

[    4.533794] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered

[    4.535071] usbcore: registered new interface driver snd-usb-audio

[    4.542382] pktgen: Packet Generator for packet performance testing. Version: 2.75

[    4.548729] Initializing XFRM netlink socket

[    4.552577] NET: Registered protocol family 10

[    4.557299] Segment Routing with IPv6

[    4.560670] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver

[    4.566750] NET: Registered protocol family 17

[    4.570849] NET: Registered protocol family 15

[    4.575348] can: controller area network core

[    4.579605] NET: Registered protocol family 29

[    4.583990] can: raw protocol

[    4.586927] can: broadcast manager protocol

[    4.591083] can: netlink gateway - max_hops=1

[    4.595476] Bluetooth: RFCOMM TTY layer initialized

[    4.600257] Bluetooth: RFCOMM socket layer initialized

[    4.605365] Bluetooth: RFCOMM ver 1.11

[    4.609077] Bluetooth: BNEP (Ethernet Emulation) ver 1.3

[    4.614349] Bluetooth: BNEP filters: protocol multicast

[    4.619543] Bluetooth: BNEP socket layer initialized

[    4.624471] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

[    4.630361] Bluetooth: HIDP socket layer initialized

[    4.635403] 9pnet: Installing 9P2000 support

[    4.639534] NET: Registered protocol family 36

[    4.643952] Key type dns_resolver registered

[    4.648414] registered taskstats version 1

[    4.652247] Loading compiled-in X.509 certificates

[    4.657384] Btrfs loaded, crc32c=crc32c-generic

[    4.669422] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 49, base_baud = 6249375) is a xuartps

[    4.678447] printk: console [ttyPS0] enabled

[    4.678447] printk: console [ttyPS0] enabled

[    4.682743] printk: bootconsole [cdns0] disabled

[    4.682743] printk: bootconsole [cdns0] disabled

[    4.692160] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 50, base_baud = 6249375) is a xuartps

[    4.705588] of-fpga-region fpga-full: FPGA Region probed

[    4.712449] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success

[    4.719623] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success

[    4.726789] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success

[    4.733962] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success

[    4.741134] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success

[    4.748300] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success

[    4.755479] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success

[    4.762651] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success

[    4.769895] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success

[    4.777076] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success

[    4.784248] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success

[    4.791418] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success

[    4.798591] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success

[    4.805759] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success

[    4.812927] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success

[    4.820095] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success

[    4.827428] zynqmp_pll_disable() clock disable failed for rpll_int, ret = -13

[    4.838519] phy->ssi_type : 2

[    4.841502] before adrv9002_parse_dt(phy)

[    4.845840] zynqmp_gpd_attach_dev() domain6 request failed for node 36: -13

[    4.852801] cdns-spi ff050000.spi: failed to add to PM domain domain6: -13

[    4.859673] cdns-spi: probe of ff050000.spi failed with error -13

[    4.866333] spi_master spi0: cannot find modalias for /amba/spi@ff0f0000/flash@0

[    4.873735] spi_master spi0: Failed to create SPI device for /amba/spi@ff0f0000/flash@0

[    4.882119] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM

[    4.888762] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM

[    4.895308] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM

[    4.901828] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM

[    4.908661] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 38

[    4.915118] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 39

[    4.921434] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s

[    4.928931] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s

[    4.936607] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 1199880 KHz, changing to: 1199999 KHz

[    4.978752] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit

[    4.993404] random: fast init done

[    6.030616] random: crng init done

[   12.235836] SAMPL CLK: 15360000 tuning: RX1

[   12.240014]   0:1:2:3:4:5:6:7

[   12.242988] 0:o o o o o o o o

[   12.246045] 1:o o o o o o o o

[   12.249103] 2:o o o o o o o o

[   12.252164] 3:o o o o o o o o

[   12.255220] 4:# o o o o o o o

[   12.258275] 5:# # o o o o o o

[   12.261326] 6:# # # o o o o o

[   12.264387] 7:# # # o o o o o

[   12.428021] SAMPL CLK: 15360000 tuning: TX1

[   12.432199]   0:1:2:3:4:5:6:7

[   12.435175] 0:# # # # # # # #

[   12.438238] 1:# # # # # # # #

[   12.441289] 2:# # # # # # # #

[   12.444350] 3:# # # # # # # #

[   12.447405] 4:# # # # # # # #

[   12.450460] 5:# # # # # # # #

[   12.453511] 6:# # # # # # # #

[   12.456573] 7:# # # # # # # #

[   12.459802] adrv9002 spi1.0: Interface tuning failed: -5

[   12.466371] cf_axi_adc: probe of 84a00000.axi-adrv9002-rx-lpc failed with error -5

[   12.478534] of_cfs_init

[   12.480991] of_cfs_init: OK

[   12.483923] cfg80211: Loading compiled-in X.509 certificates for regulatory database

[   12.621415] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'

[   12.627943] clk: Not disabling unused clocks

[   12.632448] ALSA device list:

[   12.635409]   No soundcards found.

[   12.639097] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2

[   12.647710] cfg80211: failed to load regulatory.db

[   12.653692] Freeing unused kernel memory: 2560K

[   12.673920] Run /init as init process


INIT: version 2.88 booting


Starting udev

[   12.771710] udevd[140]: starting version 3.2.8

[   12.780875] udevd[141]: starting eudev-3.2.8

depmod: can't change directory to 'lib/modules/5.10.0-97934-g839d73ce88ed-dirty': No such file or directory

Configuring packages on first boot....


 (This may take several minutes. Please do not power off the machine.)


Running postinst /etc/rpm-postinsts/100-sysvinit-inittab...


update-rc.d: /etc/init.d/run-postinsts exists during rc.d purge (continuing)


 Removing any system
INIT: Entering runlevel: 5



Configuring network interfaces... Cannot find device "eth0"


Starting haveged: haveged: listening socket at 3


haveged: haveged starting up









Starting Dropbear SSH server: Generating 2048 bit rsa key, this may take a while...


Public key portion is:


ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg31swGCCKUcx6EEVyeJSi3WgzqiPE3lXqixkA4tWWBBMHPBZwoOf9sgIw7oLZjoOUrGBeUbZl8gPE9WKTZEX4k8oSA1x6noI8yNzvWVyYlFd8/vfw2hJDRc3K4LuVqP/PyMYu9zLioJwQ/jW67sgITV7fjVa9XjsDLYapBvjLZkh5bDxfebiA47ZlNfpti9LGxaSKyS7LWUqGGRY96zPy9PIMbLjLU36G7cAQXmR6Lu1gPFPfHgIskMFFH1zUKTo6HcHQne0Mp3yKckgXD+n6VG2CgjCV9TDnWe/xjPM0UBAaNS226zq7tXoit6H5S6+HeGl+CiPEjfV3/LsQtUxh root@IAF_SDR


Fingerprint: sha1!! d7:99:17:0c:37:87:15:15:a4:ac:72:83:76:ed:ce:eb:32:74:6b:10


dropbear.


Starting internet superserver: inetd.


Starting syslogd/klogd: done


Starting tcf-agent: OK




PetaLinux 2020.2 IAF_SDR /dev/ttyPS0
/dts-v1/;

/ {
	compatible = "xlnx,zynqmp";
	#address-cells = <0x2>;
	#size-cells = <0x2>;

	cpus {
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		cpu@0 {
			compatible = "arm,cortex-a53";
			device_type = "cpu";
			enable-method = "psci";
			operating-points-v2 = <0x1>;
			reg = <0x0>;
			cpu-idle-states = <0x2>;
			clocks = <0x3 0xa>;
			phandle = <0x1e>;
		};

		cpu@1 {
			compatible = "arm,cortex-a53";
			device_type = "cpu";
			enable-method = "psci";
			reg = <0x1>;
			operating-points-v2 = <0x1>;
			cpu-idle-states = <0x2>;
			phandle = <0x1f>;
		};

		cpu@2 {
			compatible = "arm,cortex-a53";
			device_type = "cpu";
			enable-method = "psci";
			reg = <0x2>;
			operating-points-v2 = <0x1>;
			cpu-idle-states = <0x2>;
			phandle = <0x20>;
		};

		cpu@3 {
			compatible = "arm,cortex-a53";
			device_type = "cpu";
			enable-method = "psci";
			reg = <0x3>;
			operating-points-v2 = <0x1>;
			cpu-idle-states = <0x2>;
			phandle = <0x21>;
		};

		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 = <0x2>;
			};
		};
	};

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

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

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

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

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

	zynqmp_ipi {
		u-boot,dm-pre-reloc;
		compatible = "xlnx,zynqmp-ipi-mailbox";
		interrupt-parent = <0x4>;
		interrupts = <0x0 0x23 0x4>;
		xlnx,ipi-id = <0x0>;
		#address-cells = <0x2>;
		#size-cells = <0x2>;
		ranges;

		mailbox@ff990400 {
			u-boot,dm-pre-reloc;
			reg = <0x0 0xff9905c0 0x0 0x20 0x0 0xff9905e0 0x0 0x20 0x0 0xff990e80 0x0 0x20 0x0 0xff990ea0 0x0 0x20>;
			reg-names = "local_request_region", "local_response_region", "remote_request_region", "remote_response_region";
			#mbox-cells = <0x1>;
			xlnx,ipi-id = <0x4>;
			phandle = <0x5>;
		};
	};

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

	pmu {
		compatible = "arm,armv8-pmuv3";
		interrupt-parent = <0x4>;
		interrupts = <0x0 0x8f 0x4 0x0 0x90 0x4 0x0 0x91 0x4 0x0 0x92 0x4>;
	};

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

	firmware {

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

			pcap {
				compatible = "xlnx,zynqmp-pcap-fpga";
				clock-names = "ref_clk";
				clocks = <0x3 0x29>;
				phandle = <0xb>;
			};

			zynqmp-power {
				u-boot,dm-pre-reloc;
				compatible = "xlnx,zynqmp-power";
				interrupt-parent = <0x4>;
				interrupts = <0x0 0x23 0x4>;
				mboxes = <0x5 0x0 0x5 0x1>;
				mbox-names = "tx", "rx";
				phandle = <0x23>;
			};

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

			pinctrl {
				compatible = "xlnx,zynqmp-pinctrl";
				status = "disabled";
				phandle = <0x24>;
			};

			clock-controller {
				u-boot,dm-pre-reloc;
				#clock-cells = <0x1>;
				compatible = "xlnx,zynqmp-clk";
				clocks = <0x6 0x7 0x8 0x9 0xa>;
				clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk", "aux_ref_clk", "gt_crx_ref_clk";
				phandle = <0x3>;
			};
		};
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupt-parent = <0x4>;
		interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>;
	};

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

	fpga-full {
		compatible = "fpga-region";
		fpga-mgr = <0xb>;
		#address-cells = <0x2>;
		#size-cells = <0x2>;
		ranges;
		phandle = <0x25>;
	};

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

		soc_revision@0 {
			reg = <0x0 0x4>;
			phandle = <0x10>;
		};

		efuse_dna@c {
			reg = <0xc 0xc>;
			phandle = <0x26>;
		};

		efuse_usr0@20 {
			reg = <0x20 0x4>;
			phandle = <0x27>;
		};

		efuse_usr1@24 {
			reg = <0x24 0x4>;
			phandle = <0x28>;
		};

		efuse_usr2@28 {
			reg = <0x28 0x4>;
			phandle = <0x29>;
		};

		efuse_usr3@2c {
			reg = <0x2c 0x4>;
			phandle = <0x2a>;
		};

		efuse_usr4@30 {
			reg = <0x30 0x4>;
			phandle = <0x2b>;
		};

		efuse_usr5@34 {
			reg = <0x34 0x4>;
			phandle = <0x2c>;
		};

		efuse_usr6@38 {
			reg = <0x38 0x4>;
			phandle = <0x2d>;
		};

		efuse_usr7@3c {
			reg = <0x3c 0x4>;
			phandle = <0x2e>;
		};

		efuse_miscusr@40 {
			reg = <0x40 0x4>;
			phandle = <0x2f>;
		};

		efuse_chash@50 {
			reg = <0x50 0x4>;
			phandle = <0x30>;
		};

		efuse_pufmisc@54 {
			reg = <0x54 0x4>;
			phandle = <0x31>;
		};

		efuse_sec@58 {
			reg = <0x58 0x4>;
			phandle = <0x32>;
		};

		efuse_spkid@5c {
			reg = <0x5c 0x4>;
			phandle = <0x33>;
		};

		efuse_ppk0hash@a0 {
			reg = <0xa0 0x30>;
			phandle = <0x34>;
		};

		efuse_ppk1hash@d0 {
			reg = <0xd0 0x30>;
			phandle = <0x35>;
		};
	};

	zynqmp_rsa {
		compatible = "xlnx,zynqmp-rsa";
		phandle = <0x36>;
	};

	sha384 {
		compatible = "xlnx,zynqmp-keccak-384";
		phandle = <0x37>;
	};

	zynqmp_aes {
		compatible = "xlnx,zynqmp-aes";
		phandle = <0x38>;
	};

	amba-apu@0 {
		compatible = "simple-bus";
		#address-cells = <0x2>;
		#size-cells = <0x1>;
		ranges = <0x0 0x0 0x0 0x0 0xffffffff>;
		phandle = <0x39>;

		interrupt-controller@f9010000 {
			compatible = "arm,gic-400";
			#interrupt-cells = <0x3>;
			reg = <0x0 0xf9010000 0x10000 0x0 0xf9020000 0x20000 0x0 0xf9040000 0x20000 0x0 0xf9060000 0x20000>;
			interrupt-controller;
			interrupt-parent = <0x4>;
			interrupts = <0x1 0x9 0xf04>;
			num_cpus = <0x2>;
			num_interrupts = <0x60>;
			phandle = <0x4>;
		};
	};

	smmu@fd800000 {
		compatible = "arm,mmu-500";
		reg = <0x0 0xfd800000 0x0 0x20000>;
		#iommu-cells = <0x1>;
		status = "disabled";
		#global-interrupts = <0x1>;
		interrupt-parent = <0x4>;
		interrupts = <0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4 0x0 0x9b 0x4>;
		phandle = <0xd>;
	};

	amba {
		compatible = "simple-bus";
		u-boot,dm-pre-reloc;
		#address-cells = <0x2>;
		#size-cells = <0x2>;
		ranges;
		phandle = <0x3a>;

		can@ff060000 {
			compatible = "xlnx,zynq-can-1.0";
			status = "disabled";
			clock-names = "can_clk", "pclk";
			reg = <0x0 0xff060000 0x0 0x1000>;
			interrupts = <0x0 0x17 0x4>;
			interrupt-parent = <0x4>;
			tx-fifo-depth = <0x40>;
			rx-fifo-depth = <0x40>;
			power-domains = <0xc 0x2f>;
			clocks = <0x3 0x3f 0x3 0x1f>;
			phandle = <0x3b>;
		};

		can@ff070000 {
			compatible = "xlnx,zynq-can-1.0";
			status = "disabled";
			clock-names = "can_clk", "pclk";
			reg = <0x0 0xff070000 0x0 0x1000>;
			interrupts = <0x0 0x18 0x4>;
			interrupt-parent = <0x4>;
			tx-fifo-depth = <0x40>;
			rx-fifo-depth = <0x40>;
			power-domains = <0xc 0x30>;
			clocks = <0x3 0x40 0x3 0x1f>;
			phandle = <0x3c>;
		};

		cci@fd6e0000 {
			compatible = "arm,cci-400";
			status = "okay";
			reg = <0x0 0xfd6e0000 0x0 0x9000>;
			ranges = <0x0 0x0 0xfd6e0000 0x10000>;
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			phandle = <0x3d>;

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

		dma@fd500000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd500000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x7c 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14e8>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
			phandle = <0x3e>;
		};

		dma@fd510000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd510000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x7d 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14e9>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
			phandle = <0x3f>;
		};

		dma@fd520000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd520000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x7e 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ea>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
			phandle = <0x40>;
		};

		dma@fd530000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd530000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x7f 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14eb>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
			phandle = <0x41>;
		};

		dma@fd540000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd540000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x80 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ec>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
			phandle = <0x42>;
		};

		dma@fd550000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd550000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x81 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ed>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
			phandle = <0x43>;
		};

		dma@fd560000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd560000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x82 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ee>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
			phandle = <0x44>;
		};

		dma@fd570000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xfd570000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x83 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x80>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x14ef>;
			power-domains = <0xc 0x2a>;
			clocks = <0x3 0x13 0x3 0x1f>;
			phandle = <0x45>;
		};

		gpu@fd4b0000 {
			status = "okay";
			compatible = "arm,mali-400", "arm,mali-utgard";
			reg = <0x0 0xfd4b0000 0x0 0x10000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x84 0x4 0x0 0x84 0x4 0x0 0x84 0x4 0x0 0x84 0x4 0x0 0x84 0x4 0x0 0x84 0x4>;
			interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1";
			clock-names = "gpu", "gpu_pp0", "gpu_pp1";
			power-domains = <0xc 0x3a>;
			clocks = <0x3 0x18 0x3 0x19 0x3 0x1a>;
			xlnx,tz-nonsecure = <0x1>;
			phandle = <0x46>;
		};

		dma@ffa80000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffa80000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x4d 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
			phandle = <0x47>;
		};

		dma@ffa90000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffa90000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x4e 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
			phandle = <0x48>;
		};

		dma@ffaa0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffaa0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x4f 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
			phandle = <0x49>;
		};

		dma@ffab0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffab0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x50 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
			phandle = <0x4a>;
		};

		dma@ffac0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffac0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x51 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
			phandle = <0x4b>;
		};

		dma@ffad0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffad0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x52 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
			phandle = <0x4c>;
		};

		dma@ffae0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffae0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x53 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
			phandle = <0x4d>;
		};

		dma@ffaf0000 {
			status = "okay";
			compatible = "xlnx,zynqmp-dma-1.0";
			reg = <0x0 0xffaf0000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x54 0x4>;
			clock-names = "clk_main", "clk_apb";
			xlnx,bus-width = <0x40>;
			#stream-id-cells = <0x1>;
			power-domains = <0xc 0x2b>;
			clocks = <0x3 0x44 0x3 0x1f>;
			phandle = <0x4e>;
		};

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

		nand@ff100000 {
			compatible = "arasan,nfc-v3p10";
			status = "disabled";
			reg = <0x0 0xff100000 0x0 0x1000>;
			clock-names = "clk_sys", "clk_flash";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0xe 0x4>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x872>;
			power-domains = <0xc 0x2c>;
			clocks = <0x3 0x3c 0x3 0x1f>;
			phandle = <0x50>;
		};

		ethernet@ff0b0000 {
			compatible = "cdns,zynqmp-gem", "cdns,gem";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x39 0x4 0x0 0x39 0x4>;
			reg = <0x0 0xff0b0000 0x0 0x1000>;
			clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x874>;
			power-domains = <0xc 0x1d>;
			clocks = <0x3 0x1f 0x3 0x68 0x3 0x2d 0x3 0x31 0x3 0x2c>;
			phandle = <0x51>;
		};

		ethernet@ff0c0000 {
			compatible = "cdns,zynqmp-gem", "cdns,gem";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x3b 0x4 0x0 0x3b 0x4>;
			reg = <0x0 0xff0c0000 0x0 0x1000>;
			clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x875>;
			power-domains = <0xc 0x1e>;
			clocks = <0x3 0x1f 0x3 0x69 0x3 0x2e 0x3 0x32 0x3 0x2c>;
			phandle = <0x52>;
		};

		ethernet@ff0d0000 {
			compatible = "cdns,zynqmp-gem", "cdns,gem";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x3d 0x4 0x0 0x3d 0x4>;
			reg = <0x0 0xff0d0000 0x0 0x1000>;
			clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x876>;
			power-domains = <0xc 0x1f>;
			clocks = <0x3 0x1f 0x3 0x6a 0x3 0x2f 0x3 0x33 0x3 0x2c>;
			phandle = <0x53>;
		};

		ethernet@ff0e0000 {
			compatible = "cdns,zynqmp-gem", "cdns,gem";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>;
			reg = <0x0 0xff0e0000 0x0 0x1000>;
			clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x877>;
			power-domains = <0xc 0x20>;
			clocks = <0x3 0x1f 0x3 0x6b 0x3 0x30 0x3 0x34 0x3 0x2c>;
			phandle = <0x54>;
		};

		gpio@ff0a0000 {
			compatible = "xlnx,zynqmp-gpio-1.0";
			status = "okay";
			#gpio-cells = <0x2>;
			gpio-controller;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x10 0x4>;
			interrupt-controller;
			#interrupt-cells = <0x2>;
			reg = <0x0 0xff0a0000 0x0 0x1000>;
			power-domains = <0xc 0x2e>;
			clocks = <0x3 0x1f>;
			emio-gpio-width = <0x20>;
			gpio-mask-high = <0x0>;
			gpio-mask-low = <0x5600>;
			phandle = <0x12>;
		};

		i2c@ff020000 {
			compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x11 0x4>;
			reg = <0x0 0xff020000 0x0 0x1000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			power-domains = <0xc 0x25>;
			clocks = <0x3 0x3d>;
			clock-frequency = <0x61a80>;
			phandle = <0x55>;
		};

		i2c@ff030000 {
			compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x12 0x4>;
			reg = <0x0 0xff030000 0x0 0x1000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			power-domains = <0xc 0x26>;
			clocks = <0x3 0x3e>;
			clock-frequency = <0x61a80>;
			phandle = <0x56>;
		};

		memory-controller@ff960000 {
			compatible = "xlnx,zynqmp-ocmc-1.0";
			reg = <0x0 0xff960000 0x0 0x1000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0xa 0x4>;
			phandle = <0x57>;
		};

		perf-monitor@ffa00000 {
			compatible = "xlnx,axi-perf-monitor";
			reg = <0x0 0xffa00000 0x0 0x10000>;
			interrupts = <0x0 0x19 0x4>;
			interrupt-parent = <0x4>;
			xlnx,enable-profile = <0x0>;
			xlnx,enable-trace = <0x0>;
			xlnx,num-monitor-slots = <0x1>;
			xlnx,enable-event-count = <0x1>;
			xlnx,enable-event-log = <0x1>;
			xlnx,have-sampled-metric-cnt = <0x1>;
			xlnx,num-of-counters = <0x8>;
			xlnx,metric-count-width = <0x20>;
			xlnx,metrics-sample-count-width = <0x20>;
			xlnx,global-count-width = <0x20>;
			xlnx,metric-count-scale = <0x1>;
			clocks = <0x3 0x1f>;
			phandle = <0x58>;
		};

		perf-monitor@fd0b0000 {
			compatible = "xlnx,axi-perf-monitor";
			reg = <0x0 0xfd0b0000 0x0 0x10000>;
			interrupts = <0x0 0x7b 0x4>;
			interrupt-parent = <0x4>;
			xlnx,enable-profile = <0x0>;
			xlnx,enable-trace = <0x0>;
			xlnx,num-monitor-slots = <0x6>;
			xlnx,enable-event-count = <0x1>;
			xlnx,enable-event-log = <0x0>;
			xlnx,have-sampled-metric-cnt = <0x1>;
			xlnx,num-of-counters = <0xa>;
			xlnx,metric-count-width = <0x20>;
			xlnx,metrics-sample-count-width = <0x20>;
			xlnx,global-count-width = <0x20>;
			xlnx,metric-count-scale = <0x1>;
			clocks = <0x3 0x1c>;
			phandle = <0x59>;
		};

		perf-monitor@fd490000 {
			compatible = "xlnx,axi-perf-monitor";
			reg = <0x0 0xfd490000 0x0 0x10000>;
			interrupts = <0x0 0x7b 0x4>;
			interrupt-parent = <0x4>;
			xlnx,enable-profile = <0x0>;
			xlnx,enable-trace = <0x0>;
			xlnx,num-monitor-slots = <0x1>;
			xlnx,enable-event-count = <0x1>;
			xlnx,enable-event-log = <0x0>;
			xlnx,have-sampled-metric-cnt = <0x1>;
			xlnx,num-of-counters = <0x8>;
			xlnx,metric-count-width = <0x20>;
			xlnx,metrics-sample-count-width = <0x20>;
			xlnx,global-count-width = <0x20>;
			xlnx,metric-count-scale = <0x1>;
			clocks = <0x3 0x1c>;
			phandle = <0x5a>;
		};

		perf-monitor@ffa10000 {
			compatible = "xlnx,axi-perf-monitor";
			reg = <0x0 0xffa10000 0x0 0x10000>;
			interrupts = <0x0 0x19 0x4>;
			interrupt-parent = <0x4>;
			xlnx,enable-profile = <0x0>;
			xlnx,enable-trace = <0x0>;
			xlnx,num-monitor-slots = <0x1>;
			xlnx,enable-event-count = <0x1>;
			xlnx,enable-event-log = <0x1>;
			xlnx,have-sampled-metric-cnt = <0x1>;
			xlnx,num-of-counters = <0x8>;
			xlnx,metric-count-width = <0x20>;
			xlnx,metrics-sample-count-width = <0x20>;
			xlnx,global-count-width = <0x20>;
			xlnx,metric-count-scale = <0x1>;
			clocks = <0x3 0x1f>;
			phandle = <0x5b>;
		};

		pcie@fd0e0000 {
			compatible = "xlnx,nwl-pcie-2.11";
			status = "disabled";
			#address-cells = <0x3>;
			#size-cells = <0x2>;
			#interrupt-cells = <0x1>;
			msi-controller;
			device_type = "pci";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x76 0x4 0x0 0x75 0x4 0x0 0x74 0x4 0x0 0x73 0x4 0x0 0x72 0x4>;
			interrupt-names = "misc", "dummy", "intx", "msi1", "msi0";
			msi-parent = <0xe>;
			reg = <0x0 0xfd0e0000 0x0 0x1000 0x0 0xfd480000 0x0 0x1000 0x80 0x0 0x0 0x1000000>;
			reg-names = "breg", "pcireg", "cfg";
			ranges = <0x2000000 0x0 0xe0000000 0x0 0xe0000000 0x0 0x10000000 0x43000000 0x6 0x0 0x6 0x0 0x2 0x0>;
			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
			bus-range = <0x0 0xff>;
			interrupt-map = <0x0 0x0 0x0 0x1 0xf 0x1 0x0 0x0 0x0 0x2 0xf 0x2 0x0 0x0 0x0 0x3 0xf 0x3 0x0 0x0 0x0 0x4 0xf 0x4>;
			power-domains = <0xc 0x3b>;
			clocks = <0x3 0x17>;
			phandle = <0xe>;

			legacy-interrupt-controller {
				interrupt-controller;
				#address-cells = <0x0>;
				#interrupt-cells = <0x1>;
				phandle = <0xf>;
			};
		};

		spi@ff0f0000 {
			u-boot,dm-pre-reloc;
			compatible = "xlnx,zynqmp-qspi-1.0";
			status = "okay";
			clock-names = "ref_clk", "pclk";
			interrupts = <0x0 0xf 0x4>;
			interrupt-parent = <0x4>;
			num-cs = <0x1>;
			reg = <0x0 0xff0f0000 0x0 0x1000 0x0 0xc0000000 0x0 0x8000000>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x873>;
			power-domains = <0xc 0x2d>;
			clocks = <0x3 0x35 0x3 0x1f>;
			is-dual = <0x1>;
			spi-rx-bus-width = <0x4>;
			spi-tx-bus-width = <0x4>;
			phandle = <0x5c>;

			flash@0 {
				spi-tx-bus-width = <0x1>;
				spi-rx-bus-width = <0x4>;
				spi-max-frequency = <0x66ff300>;
				phandle = <0x5d>;

				partition@0 {
					label = "boot";
					reg = <0x0 0x2000000>;
				};

				partition@1 {
					label = "bootenv";
					reg = <0x2000000 0x80000>;
				};

				partition@2 {
					label = "kernel";
					reg = <0x2080000 0x3d80000>;
				};

				partition@3 {
					label = "bootscr";
					reg = <0x5e00000 0x8000>;
				};
			};
		};

		rtc@ffa60000 {
			compatible = "xlnx,zynqmp-rtc";
			status = "okay";
			reg = <0x0 0xffa60000 0x0 0x100>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x1a 0x4 0x0 0x1b 0x4>;
			interrupt-names = "alarm", "sec";
			calibration = <0x8000>;
			phandle = <0x5e>;
		};

		zynqmp_phy@fd400000 {
			compatible = "xlnx,zynqmp-psgtr-v1.1";
			status = "okay";
			reg = <0x0 0xfd400000 0x0 0x40000 0x0 0xfd3d0000 0x0 0x1000>;
			reg-names = "serdes", "siou";
			nvmem-cells = <0x10>;
			nvmem-cell-names = "soc_revision";
			resets = <0x11 0x10 0x11 0x3b 0x11 0x3c 0x11 0x3d 0x11 0x3e 0x11 0x3f 0x11 0x40 0x11 0x3 0x11 0x1d 0x11 0x1e 0x11 0x1f 0x11 0x20>;
			reset-names = "sata_rst", "usb0_crst", "usb1_crst", "usb0_hibrst", "usb1_hibrst", "usb0_apbrst", "usb1_apbrst", "dp_rst", "gem0_rst", "gem1_rst", "gem2_rst", "gem3_rst";
			phandle = <0x5f>;

			lane0 {
				#phy-cells = <0x4>;
				phandle = <0x60>;
			};

			lane1 {
				#phy-cells = <0x4>;
				phandle = <0x61>;
			};

			lane2 {
				#phy-cells = <0x4>;
				phandle = <0x62>;
			};

			lane3 {
				#phy-cells = <0x4>;
				phandle = <0x63>;
			};
		};

		ahci@fd0c0000 {
			compatible = "ceva,ahci-1v84";
			status = "disabled";
			reg = <0x0 0xfd0c0000 0x0 0x2000>;
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x85 0x4>;
			power-domains = <0xc 0x1c>;
			#stream-id-cells = <0x4>;
			clocks = <0x3 0x16>;
			phandle = <0x64>;
		};

		mmc@ff160000 {
			u-boot,dm-pre-reloc;
			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x30 0x4>;
			reg = <0x0 0xff160000 0x0 0x1000>;
			clock-names = "clk_xin", "clk_ahb";
			xlnx,device_id = <0x0>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x870>;
			power-domains = <0xc 0x27>;
			nvmem-cells = <0x10>;
			nvmem-cell-names = "soc_revision";
			#clock-cells = <0x1>;
			clock-output-names = "clk_out_sd0", "clk_in_sd0";
			clocks = <0x3 0x36 0x3 0x1f>;
			phandle = <0x65>;
		};

		mmc@ff170000 {
			u-boot,dm-pre-reloc;
			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x31 0x4>;
			reg = <0x0 0xff170000 0x0 0x1000>;
			clock-names = "clk_xin", "clk_ahb";
			xlnx,device_id = <0x1>;
			#stream-id-cells = <0x1>;
			iommus = <0xd 0x871>;
			power-domains = <0xc 0x28>;
			nvmem-cells = <0x10>;
			nvmem-cell-names = "soc_revision";
			#clock-cells = <0x1>;
			clock-output-names = "clk_out_sd1", "clk_in_sd1";
			clocks = <0x3 0x37 0x3 0x1f>;
			clock-frequency = <0xb2cbcae>;
			xlnx,mio-bank = <0x1>;
			phandle = <0x66>;
		};

		spi@ff040000 {
			compatible = "cdns,spi-r1p6";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x13 0x4>;
			reg = <0x0 0xff040000 0x0 0x1000>;
			clock-names = "ref_clk", "pclk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			power-domains = <0xc 0x23>;
			clocks = <0x3 0x3a 0x3 0x1f>;
			is-decoded-cs = <0x0>;
			num-cs = <0x3>;
			phandle = <0x67>;

			adrv9002-phy@0 {
				compatible = "adi,adrv9002";
				reg = <0x0>;
				interrupt-parent = <0x12>;
				interrupts = <0x7a 0x1>;
				spi-max-frequency = <0x1312d00>;
				clocks = <0x13 0x0>;
				clock-names = "adrv9002_ext_refclk";
				clock-output-names = "rx1_sampl_clk", "tx1_sampl_clk", "tdd1_intf_clk", "rx2_sampl_clk", "tx2_sampl_clk", "tdd2_intf_clk";
				#clock-cells = <0x1>;
				reset-gpios = <0x12 0x7c 0x1>;
				phandle = <0x19>;

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

					rx@0 {
						reg = <0x0>;
						adi,port = <0x0>;
						orx-gpios = <0x12 0x6e 0x0>;
					};

					rx@1 {
						reg = <0x1>;
						adi,port = <0x0>;
						orx-gpios = <0x12 0x6f 0x0>;
					};

					tx@0 {
						reg = <0x0>;
						adi,port = <0x1>;
					};

					tx@1 {
						reg = <0x1>;
						adi,port = <0x1>;
					};
				};

				adi,gpios {
					#address-cells = <0x1>;
					#size-cells = <0x0>;

					gpio@0 {
						reg = <0x1>;
						adi,signal = <0x0>;
					};

					gpio@1 {
						reg = <0x2>;
						adi,signal = <0x1>;
					};
				};

				adi,frequency-hopping {
					adi,fh-mode = <0x3>;
					adi-fh-rx-zero-if-en;

					adi,fh-hop-signal-2 {
						adi,fh-hop-rx-ports = <0x1>;
						adi,fh-hop-tx-ports = <0x1>;
					};
				};
			};
		};

		spi@ff050000 {
			compatible = "cdns,spi-r1p6";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x14 0x4>;
			reg = <0x0 0xff050000 0x0 0x1000>;
			clock-names = "ref_clk", "pclk";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			power-domains = <0xc 0x24>;
			clocks = <0x3 0x3b 0x3 0x1f>;
			is-decoded-cs = <0x0>;
			num-cs = <0x3>;
			phandle = <0x68>;
		};

		timer@ff110000 {
			compatible = "cdns,ttc";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x24 0x4 0x0 0x25 0x4 0x0 0x26 0x4>;
			reg = <0x0 0xff110000 0x0 0x1000>;
			timer-width = <0x20>;
			power-domains = <0xc 0x18>;
			clocks = <0x3 0x1f>;
			phandle = <0x69>;
		};

		timer@ff120000 {
			compatible = "cdns,ttc";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x27 0x4 0x0 0x28 0x4 0x0 0x29 0x4>;
			reg = <0x0 0xff120000 0x0 0x1000>;
			timer-width = <0x20>;
			power-domains = <0xc 0x19>;
			clocks = <0x3 0x1f>;
			phandle = <0x6a>;
		};

		timer@ff130000 {
			compatible = "cdns,ttc";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x2a 0x4 0x0 0x2b 0x4 0x0 0x2c 0x4>;
			reg = <0x0 0xff130000 0x0 0x1000>;
			timer-width = <0x20>;
			power-domains = <0xc 0x1a>;
			clocks = <0x3 0x1f>;
			phandle = <0x6b>;
		};

		timer@ff140000 {
			compatible = "cdns,ttc";
			status = "disabled";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x2d 0x4 0x0 0x2e 0x4 0x0 0x2f 0x4>;
			reg = <0x0 0xff140000 0x0 0x1000>;
			timer-width = <0x20>;
			power-domains = <0xc 0x1b>;
			clocks = <0x3 0x1f>;
			phandle = <0x6c>;
		};

		serial@ff000000 {
			u-boot,dm-pre-reloc;
			compatible = "cdns,uart-r1p12", "xlnx,xuartps";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x15 0x4>;
			reg = <0x0 0xff000000 0x0 0x1000>;
			clock-names = "uart_clk", "pclk";
			power-domains = <0xc 0x21>;
			clocks = <0x3 0x38 0x3 0x1f>;
			cts-override;
			device_type = "serial";
			port-number = <0x0>;
			phandle = <0x6d>;
		};

		serial@ff010000 {
			u-boot,dm-pre-reloc;
			compatible = "cdns,uart-r1p12", "xlnx,xuartps";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x16 0x4>;
			reg = <0x0 0xff010000 0x0 0x1000>;
			clock-names = "uart_clk", "pclk";
			power-domains = <0xc 0x22>;
			clocks = <0x3 0x39 0x3 0x1f>;
			cts-override;
			device_type = "serial";
			port-number = <0x1>;
			phandle = <0x6e>;
		};

		usb0@ff9d0000 {
			#address-cells = <0x2>;
			#size-cells = <0x2>;
			status = "disabled";
			compatible = "xlnx,zynqmp-dwc3";
			reg = <0x0 0xff9d0000 0x0 0x100>;
			clock-names = "bus_clk", "ref_clk";
			power-domains = <0xc 0x16>;
			ranges;
			nvmem-cells = <0x10>;
			nvmem-cell-names = "soc_revision";
			clocks = <0x3 0x20 0x3 0x22>;
			phandle = <0x6f>;

			dwc3@fe200000 {
				compatible = "snps,dwc3";
				status = "disabled";
				reg = <0x0 0xfe200000 0x0 0x40000>;
				interrupt-parent = <0x4>;
				interrupt-names = "dwc_usb3", "otg", "hiber";
				interrupts = <0x0 0x41 0x4 0x0 0x45 0x4 0x0 0x4b 0x4>;
				#stream-id-cells = <0x1>;
				iommus = <0xd 0x860>;
				snps,quirk-frame-length-adjustment = <0x20>;
				snps,refclk_fladj;
				snps,enable_guctl1_resume_quirk;
				snps,enable_guctl1_ipd_quirk;
				snps,xhci-stream-quirk;
				phandle = <0x70>;
			};
		};

		usb1@ff9e0000 {
			#address-cells = <0x2>;
			#size-cells = <0x2>;
			status = "disabled";
			compatible = "xlnx,zynqmp-dwc3";
			reg = <0x0 0xff9e0000 0x0 0x100>;
			clock-names = "bus_clk", "ref_clk";
			power-domains = <0xc 0x17>;
			ranges;
			nvmem-cells = <0x10>;
			nvmem-cell-names = "soc_revision";
			clocks = <0x3 0x21 0x3 0x22>;
			phandle = <0x71>;

			dwc3@fe300000 {
				compatible = "snps,dwc3";
				status = "disabled";
				reg = <0x0 0xfe300000 0x0 0x40000>;
				interrupt-parent = <0x4>;
				interrupt-names = "dwc_usb3", "otg", "hiber";
				interrupts = <0x0 0x46 0x4 0x0 0x4a 0x4 0x0 0x4c 0x4>;
				#stream-id-cells = <0x1>;
				iommus = <0xd 0x861>;
				snps,quirk-frame-length-adjustment = <0x20>;
				snps,refclk_fladj;
				snps,enable_guctl1_resume_quirk;
				snps,enable_guctl1_ipd_quirk;
				snps,xhci-stream-quirk;
				phandle = <0x72>;
			};
		};

		watchdog@fd4d0000 {
			compatible = "cdns,wdt-r1p2";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x71 0x1>;
			reg = <0x0 0xfd4d0000 0x0 0x1000>;
			timeout-sec = <0x3c>;
			reset-on-timeout;
			clocks = <0x3 0x4b>;
			phandle = <0x73>;
		};

		watchdog@ff150000 {
			compatible = "cdns,wdt-r1p2";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x34 0x1>;
			reg = <0x0 0xff150000 0x0 0x1000>;
			timeout-sec = <0xa>;
			clocks = <0x3 0x70>;
			phandle = <0x74>;
		};

		ams@ffa50000 {
			compatible = "xlnx,zynqmp-ams";
			status = "okay";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x38 0x4>;
			interrupt-names = "ams-irq";
			reg = <0x0 0xffa50000 0x0 0x800>;
			reg-names = "ams-base";
			#address-cells = <0x2>;
			#size-cells = <0x2>;
			#io-channel-cells = <0x1>;
			ranges;
			clocks = <0x3 0x46>;
			phandle = <0x75>;

			ams_ps@ffa50800 {
				compatible = "xlnx,zynqmp-ams-ps";
				status = "okay";
				reg = <0x0 0xffa50800 0x0 0x400>;
				phandle = <0x76>;
			};

			ams_pl@ffa50c00 {
				compatible = "xlnx,zynqmp-ams-pl";
				status = "okay";
				reg = <0x0 0xffa50c00 0x0 0x400>;
				phandle = <0x77>;
			};
		};

		dma@fd4c0000 {
			compatible = "xlnx,dpdma";
			status = "disabled";
			reg = <0x0 0xfd4c0000 0x0 0x1000>;
			interrupts = <0x0 0x7a 0x4>;
			interrupt-parent = <0x4>;
			clock-names = "axi_clk";
			power-domains = <0xc 0x29>;
			dma-channels = <0x6>;
			#dma-cells = <0x1>;
			clocks = <0x3 0x14>;
			phandle = <0x15>;

			dma-video0channel {
				compatible = "xlnx,video0";
			};

			dma-video1channel {
				compatible = "xlnx,video1";
			};

			dma-video2channel {
				compatible = "xlnx,video2";
			};

			dma-graphicschannel {
				compatible = "xlnx,graphics";
			};

			dma-audio0channel {
				compatible = "xlnx,audio0";
			};

			dma-audio1channel {
				compatible = "xlnx,audio1";
			};
		};

		zynqmp-display@fd4a0000 {
			compatible = "xlnx,zynqmp-dpsub-1.7";
			status = "disabled";
			reg = <0x0 0xfd4a0000 0x0 0x1000 0x0 0xfd4aa000 0x0 0x1000 0x0 0xfd4ab000 0x0 0x1000 0x0 0xfd4ac000 0x0 0x1000>;
			reg-names = "dp", "blend", "av_buf", "aud";
			interrupts = <0x0 0x77 0x4>;
			interrupt-parent = <0x4>;
			clock-names = "dp_apb_clk", "dp_aud_clk", "dp_vtc_pixel_clk_in";
			power-domains = <0xc 0x29>;
			clocks = <0x14 0x3 0x11 0x3 0x10>;
			phandle = <0x78>;

			vid-layer {
				dma-names = "vid0", "vid1", "vid2";
				dmas = <0x15 0x0 0x15 0x1 0x15 0x2>;
			};

			gfx-layer {
				dma-names = "gfx0";
				dmas = <0x15 0x3>;
			};

			i2c-bus {
			};

			zynqmp_dp_snd_codec0 {
				compatible = "xlnx,dp-snd-codec";
				clock-names = "aud_clk";
				clocks = <0x3 0x11>;
				phandle = <0x18>;
			};

			zynqmp_dp_snd_pcm0 {
				compatible = "xlnx,dp-snd-pcm";
				dmas = <0x15 0x4>;
				dma-names = "tx";
				phandle = <0x16>;
			};

			zynqmp_dp_snd_pcm1 {
				compatible = "xlnx,dp-snd-pcm";
				dmas = <0x15 0x5>;
				dma-names = "tx";
				phandle = <0x17>;
			};

			zynqmp_dp_snd_card {
				compatible = "xlnx,dp-snd-card";
				xlnx,dp-snd-pcm = <0x16 0x17>;
				xlnx,dp-snd-codec = <0x18>;
				phandle = <0x79>;
			};
		};
	};

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

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

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

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

	pss_ref_clk {
		u-boot,dm-pre-reloc;
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0x1fc9350>;
		phandle = <0x6>;
	};

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

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

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

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

	dp_aclk {
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <0x5f5e100>;
		clock-accuracy = <0x64>;
		phandle = <0x14>;
	};

	amba_pl@0 {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		compatible = "simple-bus";
		ranges = <0x0 0x0 0x0 0xffffffff>;
		interrupt-parent = <0x4>;
		phandle = <0x7e>;

		axi_adrv9001@84a00000 {
			clock-names = "delay_clk", "s_axi_aclk";
			clocks = <0x3 0x49 0x3 0x47>;
			compatible = "xlnx,axi-adrv9001-1.0";
			reg = <0x0 0x84a00000 0x0 0x10000>;
			phandle = <0x7f>;
		};

		axi_dmac@84a30000 {
			clock-names = "s_axi_aclk", "m_dest_axi_aclk", "fifo_wr_clk";
			clocks = <0x3 0x47>;
			compatible = "adi,axi-dmac-1.00.a";
			interrupt-names = "irq";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x6d 0x4>;
			reg = <0x84a30000 0x10000>;
			#dma-cells = <0x1>;
			phandle = <0x1a>;

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

				dma-channel@0 {
					reg = <0x0>;
					adi,source-bus-width = <0x40>;
					adi,source-bus-type = <0x2>;
					adi,destination-bus-width = <0x40>;
					adi,destination-bus-type = <0x0>;
				};
			};
		};

		misc_clk_0 {
			#clock-cells = <0x0>;
			clock-frequency = <0x5f5e100>;
			compatible = "fixed-clock";
			phandle = <0x80>;
		};

		axi_dmac@84a40000 {
			clock-names = "s_axi_aclk", "m_dest_axi_aclk", "fifo_wr_clk";
			clocks = <0x3 0x47>;
			compatible = "adi,axi-dmac-1.00.a";
			interrupt-names = "irq";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x6c 0x4>;
			reg = <0x84a40000 0x10000>;
			#dma-cells = <0x1>;
			phandle = <0x1c>;

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

				dma-channel@0 {
					reg = <0x0>;
					adi,source-bus-width = <0x40>;
					adi,source-bus-type = <0x2>;
					adi,destination-bus-width = <0x40>;
					adi,destination-bus-type = <0x0>;
				};
			};
		};

		axi_dmac@84a50000 {
			clock-names = "s_axi_aclk", "m_src_axi_aclk", "m_axis_aclk";
			clocks = <0x3 0x47>;
			compatible = "adi,axi-dmac-1.00.a";
			interrupt-names = "irq";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x6b 0x4>;
			reg = <0x84a50000 0x10000>;
			#dma-cells = <0x1>;
			phandle = <0x1b>;

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

				dma-channel@0 {
					reg = <0x0>;
					adi,source-bus-width = <0x40>;
					adi,source-bus-type = <0x0>;
					adi,destination-bus-width = <0x40>;
					adi,destination-bus-type = <0x2>;
				};
			};
		};

		axi_dmac@84a60000 {
			clock-names = "s_axi_aclk", "m_src_axi_aclk", "m_axis_aclk";
			clocks = <0x3 0x47>;
			compatible = "adi,axi-dmac-1.00.a";
			interrupt-names = "irq";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x6a 0x4>;
			reg = <0x84a60000 0x10000>;
			#dma-cells = <0x1>;
			phandle = <0x1d>;

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

				dma-channel@0 {
					reg = <0x0>;
					adi,source-bus-width = <0x40>;
					adi,source-bus-type = <0x0>;
					adi,destination-bus-width = <0x40>;
					adi,destination-bus-type = <0x2>;
				};
			};
		};

		axi_sysid@85000000 {
			clock-names = "s_axi_aclk";
			clocks = <0x3 0x47>;
			compatible = "xlnx,axi-sysid-1.0";
			reg = <0x0 0x85000000 0x0 0x10000>;
			phandle = <0x81>;
		};

		axi-adrv9002-rx-lpc@84A00000 {
			compatible = "adi,axi-adrv9002-rx-1.0";
			reg = <0x84a00000 0x6000>;
			clocks = <0x19 0x0>;
			dmas = <0x1a 0x0>;
			dma-names = "rx";
			spibus-connected = <0x19>;
			phandle = <0x82>;
		};

		axi-adrv9002-tx-lpc@84A04000 {
			compatible = "adi,axi-adrv9002-tx-1.0";
			reg = <0x84a0a000 0x2000>;
			clocks = <0x19 0x1>;
			clock-names = "sampl_clk";
			dmas = <0x1b 0x0>;
			dma-names = "tx";
			adi,axi-dds-default-scale = <0x800>;
			adi,axi-dds-default-frequency = <0x1e8480>;
			phandle = <0x83>;
		};

		axi-adrv9002-core-tdd1-lpc@44A0C800 {
			compatible = "adi,axi-tdd-1.00";
			reg = <0x84a0c800 0x400>;
			clocks = <0x3 0x47 0x19 0x2>;
			clock-names = "s_axi_aclk", "intf_clk";
			label = "axi-core-tdd-1";
			phandle = <0x84>;
		};

		axi-adrv9002-rx2-lpc@84A02000 {
			compatible = "adi,axi-adrv9002-rx2-1.0";
			reg = <0x84a09000 0x1000>;
			clocks = <0x19 0x3>;
			clock-names = "sampl_clk";
			dmas = <0x1c 0x0>;
			dma-names = "rx";
			phandle = <0x85>;
		};

		axi-adrv9002-tx2-lpc@84A06000 {
			compatible = "adi,axi-adrv9002-tx-1.0";
			reg = <0x84a0c000 0x2000>;
			clocks = <0x19 0x4>;
			clock-names = "sampl_clk";
			dmas = <0x1d 0x0>;
			dma-names = "tx";
			adi,axi-dds-default-scale = <0x800>;
			adi,axi-dds-default-frequency = <0x1e8480>;
			phandle = <0x86>;
		};

		axi-adrv9002-core-tdd2-lpc@44A0C800 {
			compatible = "adi,axi-tdd-1.00";
			reg = <0x84a0cc00 0x400>;
			clocks = <0x3 0x47 0x19 0x5>;
			clock-names = "s_axi_aclk", "intf_clk";
			label = "axi-core-tdd-2";
			phandle = <0x87>;
		};
	};

	chosen {
		bootargs = " earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/ram0 rw";
		stdout-path = "serial0:115200n8";
	};

	aliases {
		i2c0 = "/amba/i2c@ff020000";
		i2c1 = "/amba/i2c@ff030000";
		serial0 = "/amba/serial@ff000000";
		serial1 = "/amba/serial@ff010000";
		spi0 = "/amba/spi@ff0f0000";
		spi1 = "/amba/spi@ff040000";
		spi2 = "/amba/spi@ff050000";
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x3ff00000>;
	};

	clocks {

		clock@0 {
			compatible = "fixed-clock";
			clock-frequency = <0x249f000>;
			clock-output-names = "adrv9002_ext_refclk";
			#clock-cells = <0x0>;
			phandle = <0x13>;
		};
	};

	__symbols__ {
		cpu0 = "/cpus/cpu@0";
		cpu1 = "/cpus/cpu@1";
		cpu2 = "/cpus/cpu@2";
		cpu3 = "/cpus/cpu@3";
		CPU_SLEEP_0 = "/cpus/idle-states/cpu-sleep-0";
		cpu_opp_table = "/cpu-opp-table";
		ipi_mailbox_pmu1 = "/zynqmp_ipi/mailbox@ff990400";
		dcc = "/dcc";
		zynqmp_firmware = "/firmware/zynqmp-firmware";
		zynqmp_pcap = "/firmware/zynqmp-firmware/pcap";
		zynqmp_power = "/firmware/zynqmp-firmware/zynqmp-power";
		zynqmp_reset = "/firmware/zynqmp-firmware/reset-controller";
		pinctrl0 = "/firmware/zynqmp-firmware/pinctrl";
		zynqmp_clk = "/firmware/zynqmp-firmware/clock-controller";
		fpga_full = "/fpga-full";
		soc_revision = "/nvmem_firmware/soc_revision@0";
		efuse_dna = "/nvmem_firmware/efuse_dna@c";
		efuse_usr0 = "/nvmem_firmware/efuse_usr0@20";
		efuse_usr1 = "/nvmem_firmware/efuse_usr1@24";
		efuse_usr2 = "/nvmem_firmware/efuse_usr2@28";
		efuse_usr3 = "/nvmem_firmware/efuse_usr3@2c";
		efuse_usr4 = "/nvmem_firmware/efuse_usr4@30";
		efuse_usr5 = "/nvmem_firmware/efuse_usr5@34";
		efuse_usr6 = "/nvmem_firmware/efuse_usr6@38";
		efuse_usr7 = "/nvmem_firmware/efuse_usr7@3c";
		efuse_miscusr = "/nvmem_firmware/efuse_miscusr@40";
		efuse_chash = "/nvmem_firmware/efuse_chash@50";
		efuse_pufmisc = "/nvmem_firmware/efuse_pufmisc@54";
		efuse_sec = "/nvmem_firmware/efuse_sec@58";
		efuse_spkid = "/nvmem_firmware/efuse_spkid@5c";
		efuse_ppk0hash = "/nvmem_firmware/efuse_ppk0hash@a0";
		efuse_ppk1hash = "/nvmem_firmware/efuse_ppk1hash@d0";
		xlnx_rsa = "/zynqmp_rsa";
		xlnx_keccak_384 = "/sha384";
		xlnx_aes = "/zynqmp_aes";
		amba_apu = "/amba-apu@0";
		gic = "/amba-apu@0/interrupt-controller@f9010000";
		smmu = "/smmu@fd800000";
		amba = "/amba";
		can0 = "/amba/can@ff060000";
		can1 = "/amba/can@ff070000";
		cci = "/amba/cci@fd6e0000";
		fpd_dma_chan1 = "/amba/dma@fd500000";
		fpd_dma_chan2 = "/amba/dma@fd510000";
		fpd_dma_chan3 = "/amba/dma@fd520000";
		fpd_dma_chan4 = "/amba/dma@fd530000";
		fpd_dma_chan5 = "/amba/dma@fd540000";
		fpd_dma_chan6 = "/amba/dma@fd550000";
		fpd_dma_chan7 = "/amba/dma@fd560000";
		fpd_dma_chan8 = "/amba/dma@fd570000";
		gpu = "/amba/gpu@fd4b0000";
		lpd_dma_chan1 = "/amba/dma@ffa80000";
		lpd_dma_chan2 = "/amba/dma@ffa90000";
		lpd_dma_chan3 = "/amba/dma@ffaa0000";
		lpd_dma_chan4 = "/amba/dma@ffab0000";
		lpd_dma_chan5 = "/amba/dma@ffac0000";
		lpd_dma_chan6 = "/amba/dma@ffad0000";
		lpd_dma_chan7 = "/amba/dma@ffae0000";
		lpd_dma_chan8 = "/amba/dma@ffaf0000";
		mc = "/amba/memory-controller@fd070000";
		nand0 = "/amba/nand@ff100000";
		gem0 = "/amba/ethernet@ff0b0000";
		gem1 = "/amba/ethernet@ff0c0000";
		gem2 = "/amba/ethernet@ff0d0000";
		gem3 = "/amba/ethernet@ff0e0000";
		gpio = "/amba/gpio@ff0a0000";
		i2c0 = "/amba/i2c@ff020000";
		i2c1 = "/amba/i2c@ff030000";
		ocm = "/amba/memory-controller@ff960000";
		perf_monitor_ocm = "/amba/perf-monitor@ffa00000";
		perf_monitor_ddr = "/amba/perf-monitor@fd0b0000";
		perf_monitor_cci = "/amba/perf-monitor@fd490000";
		perf_monitor_lpd = "/amba/perf-monitor@ffa10000";
		pcie = "/amba/pcie@fd0e0000";
		pcie_intc = "/amba/pcie@fd0e0000/legacy-interrupt-controller";
		qspi = "/amba/spi@ff0f0000";
		flash0 = "/amba/spi@ff0f0000/flash@0";
		rtc = "/amba/rtc@ffa60000";
		serdes = "/amba/zynqmp_phy@fd400000";
		lane0 = "/amba/zynqmp_phy@fd400000/lane0";
		lane1 = "/amba/zynqmp_phy@fd400000/lane1";
		lane2 = "/amba/zynqmp_phy@fd400000/lane2";
		lane3 = "/amba/zynqmp_phy@fd400000/lane3";
		sata = "/amba/ahci@fd0c0000";
		sdhci0 = "/amba/mmc@ff160000";
		sdhci1 = "/amba/mmc@ff170000";
		spi0 = "/amba/spi@ff040000";
		adc0_adrv9002 = "/amba/spi@ff040000/adrv9002-phy@0";
		spi1 = "/amba/spi@ff050000";
		ttc0 = "/amba/timer@ff110000";
		ttc1 = "/amba/timer@ff120000";
		ttc2 = "/amba/timer@ff130000";
		ttc3 = "/amba/timer@ff140000";
		uart0 = "/amba/serial@ff000000";
		uart1 = "/amba/serial@ff010000";
		usb0 = "/amba/usb0@ff9d0000";
		dwc3_0 = "/amba/usb0@ff9d0000/dwc3@fe200000";
		usb1 = "/amba/usb1@ff9e0000";
		dwc3_1 = "/amba/usb1@ff9e0000/dwc3@fe300000";
		watchdog0 = "/amba/watchdog@fd4d0000";
		lpd_watchdog = "/amba/watchdog@ff150000";
		xilinx_ams = "/amba/ams@ffa50000";
		ams_ps = "/amba/ams@ffa50000/ams_ps@ffa50800";
		ams_pl = "/amba/ams@ffa50000/ams_pl@ffa50c00";
		xlnx_dpdma = "/amba/dma@fd4c0000";
		zynqmp_dpsub = "/amba/zynqmp-display@fd4a0000";
		zynqmp_dp_snd_codec0 = "/amba/zynqmp-display@fd4a0000/zynqmp_dp_snd_codec0";
		zynqmp_dp_snd_pcm0 = "/amba/zynqmp-display@fd4a0000/zynqmp_dp_snd_pcm0";
		zynqmp_dp_snd_pcm1 = "/amba/zynqmp-display@fd4a0000/zynqmp_dp_snd_pcm1";
		zynqmp_dp_snd_card0 = "/amba/zynqmp-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";
		dp_aclk = "/dp_aclk";
		amba_pl = "/amba_pl@0";
		axi_adrv9001 = "/amba_pl@0/axi_adrv9001@84a00000";
		axi_adrv9001_rx1_dma = "/amba_pl@0/axi_dmac@84a30000";
		misc_clk_0 = "/amba_pl@0/misc_clk_0";
		axi_adrv9001_rx2_dma = "/amba_pl@0/axi_dmac@84a40000";
		axi_adrv9001_tx1_dma = "/amba_pl@0/axi_dmac@84a50000";
		axi_adrv9001_tx2_dma = "/amba_pl@0/axi_dmac@84a60000";
		axi_sysid_0 = "/amba_pl@0/axi_sysid@85000000";
		axi_adrv9002_core_rx1 = "/amba_pl@0/axi-adrv9002-rx-lpc@84A00000";
		axi_adrv9002_core_tx1 = "/amba_pl@0/axi-adrv9002-tx-lpc@84A04000";
		axi_adrv9002_core_tdd1 = "/amba_pl@0/axi-adrv9002-core-tdd1-lpc@44A0C800";
		axi_adrv9002_core_rx2 = "/amba_pl@0/axi-adrv9002-rx2-lpc@84A02000";
		axi_adrv9002_core_tx2 = "/amba_pl@0/axi-adrv9002-tx2-lpc@84A06000";
		axi_adrv9002_core_tdd2 = "/amba_pl@0/axi-adrv9002-core-tdd2-lpc@44A0C800";
		adrv9002_clkin = "/clocks/clock@0";
	};
};

  • Hi,

    The devicetree looks to be ok. I see you have some customization on the HDL side which might very likely be related with the issue you're seeing.

    Also to note that our master is not intended for vivado 2020.2 (and we don't officially suppor it). While things might work, you might get yourself in some non obvious problems...

    That said, we might also need some help from the hdl team for this...

    - Nuno Sá

  • hi Nuno,

    1. How to confirm that the adrv9002 spi is working irrespective of dma channels.

    2. if device tree is ok, i am unable to get dmesg on axi_sysid , which helps to tell the ssi type.

    yasin

  • Hi,

    1. How to confirm that the adrv9002 spi is working irrespective of dma channels.

    Note that interface tuning is the last setup of the device bring up. That means that initializing adrv9002 is already done (including initial calibrations, bringing up the ARM). Hence, if there was any issue with SPI, we should see it before getting into the tuning phase.

    2. if device tree is ok, i am unable to get dmesg on axi_sysid , which helps to tell the ssi type.

    You're right. Your axi_syisid node is wrong... It should just be:

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

    - Nuno Sá

  • Please double check all signals from the TX source synchronous interface (clock, data, strobe).  Check for line swaps, polarity swaps. 

    What is the value of HDL  USE_RX_CLK_FOR_TX parameter in your case?

    Try modifying the Linux driver to skip the TX tuning and see if you can observe any signal going out of the part.

    Thank you

    Laszlo

  • Hi Nuno,

    After adding proper device tree for axi_sysid i got the following error

    [    5.602417] axi_sysid 85000000.axi_sysid: AXI System ID core version (1.01.a) found

    [    5.604583] axi_sysid 85000000.axi_sysid: system ID header version mismatch. Expected 2, Reported 0

    [    5.613440] axi_sysid: probe of 85000000.axi_sysid failed with error -14

    Can u help me to know the importance of axi_sysid and how to solve this issue

  • Hi ,

    The problem is solved after taking care of version control of HDL and ADI_KERNEL.

    [ 12.595544] SAMPL CLK: 15360000 tuning: RX1
    [ 12.599721] 0:1:2:3:4:5:6:7
    [ 12.602692] 0:o o o o o o o o
    [ 12.605753] 1:o o o o o o o o
    [ 12.608817] 2:# o o o o o o o
    [ 12.611873] 3:# # o o o o o o
    [ 12.614931] 4:# # # o o o o o
    [ 12.617992] 5:o # # # o o o o
    [ 12.621048] 6:o o # # # o o o
    [ 12.624103] 7:o o o # # o o o
    [ 12.766799] SAMPL CLK: 15360000 tuning: TX1
    [ 12.770978] 0:1:2:3:4:5:6:7
    [ 12.773953] 0:o o o o o # o o
    [ 12.777017] 1:o o o o o o # o
    [ 12.780073] 2:o o o o o o o #
    [ 12.783127] 3:o o o o o o o o
    [ 12.786179] 4:o o o o o o o o
    [ 12.789240] 5:o o o o o o o o
    [ 12.792295] 6:o o o o o o o o
    [ 12.795356] 7:o o o o o o o o
    [ 13.149435] SAMPL CLK: 15360000 tuning: RX2
    [ 13.153613] 0:1:2:3:4:5:6:7
    [ 13.156589] 0:o o o o o o o o
    [ 13.159652] 1:o o o o o o o o
    [ 13.162703] 2:o o o o o o o o
    [ 13.165764] 3:# o o o o o o o
    [ 13.168821] 4:# # o o o o o o
    [ 13.171884] 5:# # # o o o o o
    [ 13.174934] 6:# # # # o o o o
    [ 13.177997] 7:o # # # o o o o
    [ 13.320770] SAMPL CLK: 15360000 tuning: TX2
    [ 13.324947] 0:1:2:3:4:5:6:7
    [ 13.327923] 0:o # o o o o o o
    [ 13.330981] 1:o o # o o o o o
    [ 13.334043] 2:o o o # o o o o
    [ 13.337098] 3:o o o o # o o o
    [ 13.340154] 4:o o o o o # o o
    [ 13.343209] 5:o o o o o o # #
    [ 13.346260] 6:o o o o o o o #
    [ 13.349321] 7:o o o o o o o o
    [ 13.354756] adrv9002 spi1.0: adrv9002-phy Rev 12.0, Firmware 0.19.4.5, Stream 0.7.9.0, API version: 48.42.0 successfully initialized
    [ 13.367914] cf_axi_adc 84a00000.axi-adrv9002-rx-lpc: ADI AIM (10.01.b) at 0x84A00000 mapped to 0x000000007d2fe27b, probed ADC ADRV9002 as R
    [ 13.382078] cf_axi_tdd 84a0c800.axi-adrv9002-core-tdd1-lpc: Analog Devices CF_AXI_TDD MASTER (1.00.a)
    [ 13.391885] cf_axi_tdd 84a0cc00.axi-adrv9002-core-tdd2-lpc: Analog Devices CF_AXI_TDD MASTER (1.00.a)
    [ 13.419380] cf_axi_dds 84a0a000.axi-adrv9002-tx-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0x84A0A000 mapped to 0x00000000658472
    [ 13.451371] cf_axi_dds 84a0c000.axi-adrv9002-tx2-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0x84A0C000 mapped to 0x00000000974d2
    [ 13.468280] of_cfs_init
    [ 13.470743] of_cfs_init: OK

    ----------------------------------------------------

    and my kernel time stamp

    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 5.10.0-97934-g839d73ce88ed-dirty (rw1@rw1-precision-3630-towerone) (aarch64-xilinx-linux-gcc.real (GCC) 9.2.0, G2
    [    0.000000] Machine model: xlnx,zynqmp