Post Go back to editing

Query regarding profile 13_nonLinkSharing in ADRV9025 TES GUI

Category: Software
Product Number: ADRV9029

Dear all,

For current ZCU102 + ADRV9029 eval board, we intend to use the 13-Nonlink sharing profile with an RX sampling rate of 122.88 MHz.

Key configuration details are as follows:

  • ORX data lanes will be disabled.

  • Framer 1 will be disabled.

  • The init.c files need to be generated accordingly and placed in the linux/firmware directory.

    • Base version: 2023_R2

Additionally, HDL modifications are required to support this configuration:

  • An axi_clkgen IP core needs to be integrated to allow setting the receive-side clock rate.

  • Currently, the core_clk is being routed to all TPL datapath blocks (e.g., rx_cpack, rx_dma, etc.).

    • This needs to be adjusted so that the RX datapath can be clocked independently using the output from axi_clkgen.

Let us know if there are any additional changes or considerations required on either the HDL or software side to fully support this configuration.

Regards
Mahima

Thread Notes

  • Dear all,

    Could you please share the 13NLS profile with ORX disabled? We would like to cross-verify it with the profile generated from the GUI.

    Appreciate your help and looking forward to your reply.

    Ragards
    Mahima

  • 5822.UC13NLS_ORX_Disabled.txt

    Attached, please change the file extension to .profile and upload it in the GUI

    I hope your requirement is to disable the ORX JESD which i have done.

  • Thanks  ,

    With this shared profile file, Jesd fsm stuck at opt_setup_stage2. Please check the below snapshot.

  • Dear  ,

    Currently, ADRV9025 is successfully initialized with the suggested profile. 

    [   19.391389] adrv9025 spi1.0: adrv9025 Rev 176, Firmware 6.4.0.6 API version: 6.4.0.14 Stream version: 9.4.0.1 successfully initialized via jesd204-fsm

    Jesd_status:

    In rx node, Reported Link Clock is 122.88 MHz and Measured Link Clock is 245.76MHz. We would like to understand about the mismatch. Please comment. 

  • Dear   

    We are trying to use same profile on the custom hardware without meta-adi layer. We are getting the kernel panic error. 

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.1.70 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0.20220819) #1 SMP Mon Dec  5 22:16:50 UTC 2022
    [    0.000000] Machine model: xlnx,zynqmp
    [    0.000000] efi: UEFI not found.
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000000000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   [mem 0x0000000100000000-0x000000087fffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000000000000-0x000000007fefffff]
    [    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
    [    0.000000] On node 0, zone Normal: 256 pages in unavailable ranges
    [    0.000000] cma: Reserved 256 MiB at 0x000000006a200000
    [    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.2
    [    0.000000] percpu: Embedded 18 pages/cpu s34536 r8192 d31000 u73728
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1033987
    [    0.000000] Kernel command line: console=ttyPS0,115200 earlyprintk uio_pdrv_genirq.of_id=generic-uio clk_ignore_unused root=/dev/mmcblk1p2 rw rootwait sdhci.debug_quirks=64 cpuidle.off=1
    [    0.000000] Unknown kernel command line parameters "earlyprintk", will be passed to user space.
    [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    [    0.000000] software IO TLB: area num 4.
    [    0.000000] software IO TLB: mapped [mem 0x000000007bf00000-0x000000007ff00000] (64MB)
    [    0.000000] Memory: 3729232K/4193280K available (17408K kernel code, 1732K rwdata, 15688K rodata, 2752K init, 658K bss, 201904K 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] Root IRQ handler: gic_handle_irq
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0x170f8de2d3, max_idle_ns: 440795206112 ns
    [    0.000000] sched_clock: 57 bits at 100MHz, resolution 10ns, wraps every 4398046511101ns
    [    0.000304] Console: colour dummy device 80x25
    [    0.000334] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.98 BogoMIPS (lpj=399960)
    [    0.000342] pid_max: default: 32768 minimum: 301
    [    0.000472] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.000487] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.001359] rcu: Hierarchical SRCU implementation.
    [    0.001362] rcu:     Max phase no-delay instances is 1000.
    [    0.001577] EFI services will not be available.
    [    0.001722] smp: Bringing up secondary CPUs ...
    [    0.002087] Detected VIPT I-cache on CPU1
    [    0.002155] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.002536] Detected VIPT I-cache on CPU2
    [    0.002587] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [    0.002949] Detected VIPT I-cache on CPU3
    [    0.003000] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [    0.003042] smp: Brought up 1 node, 4 CPUs
    [    0.003047] SMP: Total of 4 processors activated.
    [    0.003051] CPU features: detected: 32-bit EL0 Support
    [    0.003054] CPU features: detected: CRC32 instructions
    [    0.003099] CPU: All CPU(s) started at EL2
    [    0.003101] alternatives: applying system-wide alternatives
    [    0.004071] devtmpfs: initialized
    [    0.008851] Registered cp15_barrier emulation handler
    [    0.008857] Registered setend emulation handler
    [    0.008959] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.008970] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.014260] pinctrl core: initialized pinctrl subsystem
    [    0.015019] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.015725] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
    [    0.015811] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.015944] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.016014] audit: initializing netlink subsys (disabled)
    [    0.016092] audit: type=2000 audit(0.016:1): state=initialized audit_enabled=0 res=1
    [    0.016424] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.016474] ASID allocator initialised with 65536 entries
    [    0.034122] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.034128] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.034132] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.034135] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.034138] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.034141] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.034145] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.034147] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.100074] raid6: neonx8   gen()  2519 MB/s
    [    0.168132] raid6: neonx4   gen()  2460 MB/s
    [    0.236184] raid6: neonx2   gen()  2359 MB/s
    [    0.304246] raid6: neonx1   gen()  2015 MB/s
    [    0.372285] raid6: int64x8  gen()  1546 MB/s
    [    0.440335] raid6: int64x4  gen()  1742 MB/s
    [    0.508400] raid6: int64x2  gen()  1526 MB/s
    [    0.576453] raid6: int64x1  gen()  1148 MB/s
    [    0.576456] raid6: using algorithm neonx8 gen() 2519 MB/s
    [    0.644491] raid6: .... xor() 1841 MB/s, rmw enabled
    [    0.644494] raid6: using neon recovery algorithm
    [    0.644875] iommu: Default domain type: Translated
    [    0.644878] iommu: DMA domain TLB invalidation policy: strict mode
    [    0.645061] SCSI subsystem initialized
    [    0.645199] usbcore: registered new interface driver usbfs
    [    0.645223] usbcore: registered new interface driver hub
    [    0.645242] usbcore: registered new device driver usb
    [    0.645393] mc: Linux media interface: v0.10
    [    0.645422] videodev: Linux video capture interface: v2.00
    [    0.645467] pps_core: LinuxPPS API ver. 1 registered
    [    0.645470] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.645479] PTP clock support registered
    [    0.645504] EDAC MC: Ver: 3.0.0
    [    0.645761] zynqmp-ipi-mbox mailbox@ff9905c0: Registered ZynqMP IPI mbox with TX/RX channels.
    [    0.646149] jesd204: created con: id=0, topo=0, link=0, /amba_pl@0/axi_jesd204_tx@80014000 <-> /amba_pl@0/ad_ip_jesd204_tpl_dac@80028000
    [    0.646167] jesd204: created con: id=1, topo=0, link=0, /axi/spi@ff040000/ad9528-1@2 <-> /amba_pl@0/axi_adxcvr@80090000
    [    0.646183] jesd204: created con: id=2, topo=0, link=2, /axi/spi@ff040000/ad9528-1@2 <-> /amba_pl@0/axi_adxcvr@80070000
    [    0.646198] jesd204: created con: id=3, topo=0, link=0, /amba_pl@0/axi_adxcvr@80090000 <-> /amba_pl@0/axi_jesd204_tx@80014000
    [    0.646213] jesd204: created con: id=4, topo=0, link=2, /amba_pl@0/axi_adxcvr@80070000 <-> /amba_pl@0/axi_jesd204_rx@8000c000
    [    0.646245] jesd204: created con: id=5, topo=0, link=2, /amba_pl@0/axi_jesd204_rx@8000c000 <-> /axi/spi@ff040000/adrv9025-phy@0
    [    0.646260] jesd204: created con: id=6, topo=0, link=0, /amba_pl@0/ad_ip_jesd204_tpl_dac@80028000 <-> /axi/spi@ff040000/adrv9025-phy@0
    [    0.646281] jesd204: /axi/spi@ff040000/adrv9025-phy@0: JESD204[0:0] transition uninitialized -> initialized
    [    0.646292] jesd204: /axi/spi@ff040000/adrv9025-phy@0: JESD204[0:2] transition uninitialized -> initialized
    [    0.646303] jesd204: found 7 devices and 1 topologies
    [    0.646333] FPGA manager framework
    [    0.646366] Advanced Linux Sound Architecture Driver Initialized.
    [    0.646770] Bluetooth: Core ver 2.22
    [    0.646787] NET: Registered PF_BLUETOOTH protocol family
    [    0.646790] Bluetooth: HCI device and connection manager initialized
    [    0.646796] Bluetooth: HCI socket layer initialized
    [    0.646800] Bluetooth: L2CAP socket layer initialized
    [    0.646812] Bluetooth: SCO socket layer initialized
    [    0.647250] clocksource: Switched to clocksource arch_sys_counter
    [    0.647383] VFS: Disk quotas dquot_6.6.0
    [    0.647413] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.651730] NET: Registered PF_INET protocol family
    [    0.651865] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.654311] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
    [    0.654341] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.654351] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [    0.654539] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
    [    0.655262] TCP: Hash tables configured (established 32768 bind 32768)
    [    0.655329] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
    [    0.655396] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
    [    0.655528] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.655878] RPC: Registered named UNIX socket transport module.
    [    0.655882] RPC: Registered udp transport module.
    [    0.655884] RPC: Registered tcp transport module.
    [    0.655886] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.656472] PCI: CLS 0 bytes, default 64
    [    0.656756] Trying to unpack rootfs image as initramfs...
    [    0.676360] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
    [    0.677363] Initialise system trusted keyrings
    [    0.678046] workingset: timestamp_bits=62 max_order=20 bucket_order=0
    [    0.678959] NFS: Registering the id_resolver key type
    [    0.678984] Key type id_resolver registered
    [    0.678987] Key type id_legacy registered
    [    0.679002] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.679006] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.679022] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
    [    0.679175] fuse: init (API version 7.37)
    [    0.711169] NET: Registered PF_ALG protocol family
    [    0.711185] xor: measuring software checksum speed
    [    0.714707]    8regs           :  2801 MB/sec
    [    0.718227]    32regs          :  2802 MB/sec
    [    0.721993]    arm64_neon      :  2618 MB/sec
    [    0.721997] xor: using function: 32regs (2802 MB/sec)
    [    0.722013] Key type asymmetric registered
    [    0.722017] Asymmetric key parser 'x509' registered
    [    0.722082] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
    [    0.722087] io scheduler mq-deadline registered
    [    0.722091] io scheduler kyber registered
    [    0.754490] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [    0.760910] brd: module loaded
    [    0.763899] loop: module loaded
    [    0.764270] Registered mathworks_ip class
    [    0.764781] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    0.767453] tun: Universal TUN/TAP device driver, 1.6
    [    0.767566] CAN device driver interface
    [    0.768388] SPI driver wl1271_spi has no spi_device_id for ti,wl1271
    [    0.768391] SPI driver wl1271_spi has no spi_device_id for ti,wl1273
    [    0.768394] SPI driver wl1271_spi has no spi_device_id for ti,wl1281
    [    0.768397] SPI driver wl1271_spi has no spi_device_id for ti,wl1283
    [    0.768400] SPI driver wl1271_spi has no spi_device_id for ti,wl1285
    [    0.768402] SPI driver wl1271_spi has no spi_device_id for ti,wl1801
    [    0.768405] SPI driver wl1271_spi has no spi_device_id for ti,wl1805
    [    0.768407] SPI driver wl1271_spi has no spi_device_id for ti,wl1807
    [    0.768410] SPI driver wl1271_spi has no spi_device_id for ti,wl1831
    [    0.768412] SPI driver wl1271_spi has no spi_device_id for ti,wl1835
    [    0.768415] SPI driver wl1271_spi has no spi_device_id for ti,wl1837
    [    0.768513] usbcore: registered new interface driver asix
    [    0.768549] usbcore: registered new interface driver ax88179_178a
    [    0.768569] usbcore: registered new interface driver cdc_ether
    [    0.768588] usbcore: registered new interface driver net1080
    [    0.768609] usbcore: registered new interface driver cdc_subset
    [    0.768629] usbcore: registered new interface driver zaurus
    [    0.768662] usbcore: registered new interface driver cdc_ncm
    [    0.768682] usbcore: registered new interface driver r8153_ecm
    [    0.769944] usbcore: registered new interface driver uas
    [    0.769971] usbcore: registered new interface driver usb-storage
    [    0.770021] usbcore: registered new interface driver usbserial_generic
    [    0.770035] usbserial: USB Serial support registered for generic
    [    0.770055] usbcore: registered new interface driver ftdi_sio
    [    0.770067] usbserial: USB Serial support registered for FTDI USB Serial Device
    [    0.770085] usbcore: registered new interface driver upd78f0730
    [    0.770097] usbserial: USB Serial support registered for upd78f0730
    [    0.771136] SPI driver ads7846 has no spi_device_id for ti,tsc2046
    [    0.771139] SPI driver ads7846 has no spi_device_id for ti,ads7843
    [    0.771142] SPI driver ads7846 has no spi_device_id for ti,ads7845
    [    0.771145] SPI driver ads7846 has no spi_device_id for ti,ads7873
    [    0.771697] rtc_zynqmp ffa60000.rtc: registered as rtc0
    [    0.771714] rtc_zynqmp ffa60000.rtc: setting system clock to 2103-11-04T23:44:58 UTC (4223663098)
    [    0.771781] i2c_dev: i2c /dev entries driver
    [    0.773630] usbcore: registered new interface driver uvcvideo
    [    0.774660] Bluetooth: HCI UART driver ver 2.3
    [    0.774665] Bluetooth: HCI UART protocol H4 registered
    [    0.774668] Bluetooth: HCI UART protocol BCSP registered
    [    0.774686] Bluetooth: HCI UART protocol LL registered
    [    0.774689] Bluetooth: HCI UART protocol ATH3K registered
    [    0.774701] Bluetooth: HCI UART protocol Three-wire (H5) registered
    [    0.774738] Bluetooth: HCI UART protocol Intel registered
    [    0.774751] Bluetooth: HCI UART protocol QCA registered
    [    0.774776] usbcore: registered new interface driver bcm203x
    [    0.774799] usbcore: registered new interface driver bpa10x
    [    0.774822] usbcore: registered new interface driver bfusb
    [    0.774844] usbcore: registered new interface driver btusb
    [    0.774879] usbcore: registered new interface driver ath3k
    [    0.775141] EDAC MC0: Giving out device to module 1 controller synps_ddr_controller: DEV synps_edac (INTERRUPT)
    [    0.775335] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
    [    0.775690] sdhci: Secure Digital Host Controller Interface driver
    [    0.775693] sdhci: Copyright(c) Pierre Ossman
    [    0.775695] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.776676] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.776725] SMCCC: SOC_ID: ID = jep106:0049:0000 Revision = 0x14750093
    [    0.776792] zynqmp_firmware_probe Platform Management API v1.1
    [    0.776840] zynqmp_firmware_probe Trustzone version v1.0
    [    0.806586] zynqmp-aes zynqmp-aes.0: will run requests pump with realtime priority
    [    0.806888] usbcore: registered new interface driver usbhid
    [    0.806892] usbhid: USB HID core driver
    [    0.807039] SPI driver fb_seps525 has no spi_device_id for syncoam,seps525
    [    0.812721] SPI driver adis16475 has no spi_device_id for adi,adis16470
    [    0.812730] SPI driver adis16475 has no spi_device_id for adi,adis16475-1
    [    0.812733] SPI driver adis16475 has no spi_device_id for adi,adis16475-2
    [    0.812736] SPI driver adis16475 has no spi_device_id for adi,adis16475-3
    [    0.812738] SPI driver adis16475 has no spi_device_id for adi,adis16477-1
    [    0.812741] SPI driver adis16475 has no spi_device_id for adi,adis16477-2
    [    0.812744] SPI driver adis16475 has no spi_device_id for adi,adis16477-3
    [    0.812747] SPI driver adis16475 has no spi_device_id for adi,adis16465-1
    [    0.812749] SPI driver adis16475 has no spi_device_id for adi,adis16465-2
    [    0.812752] SPI driver adis16475 has no spi_device_id for adi,adis16465-3
    [    0.812754] SPI driver adis16475 has no spi_device_id for adi,adis16467-1
    [    0.812757] SPI driver adis16475 has no spi_device_id for adi,adis16467-2
    [    0.812760] SPI driver adis16475 has no spi_device_id for adi,adis16467-3
    [    0.812762] SPI driver adis16475 has no spi_device_id for adi,adis16500
    [    0.812765] SPI driver adis16475 has no spi_device_id for adi,adis16501
    [    0.812767] SPI driver adis16475 has no spi_device_id for adi,adis16505-1
    [    0.812770] SPI driver adis16475 has no spi_device_id for adi,adis16505-2
    [    0.812773] SPI driver adis16475 has no spi_device_id for adi,adis16505-3
    [    0.812775] SPI driver adis16475 has no spi_device_id for adi,adis16507-1
    [    0.812778] SPI driver adis16475 has no spi_device_id for adi,adis16507-2
    [    0.812780] SPI driver adis16475 has no spi_device_id for adi,adis16507-3
    [    0.812783] SPI driver adis16475 has no spi_device_id for adi,adis16575-2
    [    0.812785] SPI driver adis16475 has no spi_device_id for adi,adis16575-3
    [    0.812788] SPI driver adis16475 has no spi_device_id for adi,adis16576-2
    [    0.812790] SPI driver adis16475 has no spi_device_id for adi,adis16576-3
    [    0.812793] SPI driver adis16475 has no spi_device_id for adi,adis16577-2
    [    0.812795] SPI driver adis16475 has no spi_device_id for adi,adis16577-3
    [    0.814336] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
    [    0.814695] usbcore: registered new interface driver snd-usb-audio
    [    0.816508] pktgen: Packet Generator for packet performance testing. Version: 2.75
    [    0.823712] Initializing XFRM netlink socket
    [    0.823796] NET: Registered PF_INET6 protocol family
    [    0.824323] Segment Routing with IPv6
    [    0.824348] In-situ OAM (IOAM) with IPv6
    [    0.824394] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    0.824734] NET: Registered PF_PACKET protocol family
    [    0.824742] NET: Registered PF_KEY protocol family
    [    0.824832] can: controller area network core
    [    0.824855] NET: Registered PF_CAN protocol family
    [    0.824858] can: raw protocol
    [    0.824863] can: broadcast manager protocol
    [    0.824868] can: netlink gateway - max_hops=1
    [    0.824943] Bluetooth: RFCOMM TTY layer initialized
    [    0.824955] Bluetooth: RFCOMM socket layer initialized
    [    0.824968] Bluetooth: RFCOMM ver 1.11
    [    0.824975] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [    0.824979] Bluetooth: BNEP filters: protocol multicast
    [    0.824984] Bluetooth: BNEP socket layer initialized
    [    0.824987] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    [    0.824991] Bluetooth: HIDP socket layer initialized
    [    0.825185] 9pnet: Installing 9P2000 support
    [    0.825195] NET: Registered PF_IEEE802154 protocol family
    [    0.825217] Key type dns_resolver registered
    [    0.825494] registered taskstats version 1
    [    0.825498] Loading compiled-in X.509 certificates
    [    0.825890] Btrfs loaded, crc32c=crc32c-generic, zoned=no, fsverity=no
    [    0.826033] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
    [    1.694735] Freeing initrd memory: 24920K
    [    2.070062] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 24, base_baud = 6249375) is a xuartps
    [    3.850145] printk: console [ttyPS0] enabled
    [    3.854860] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 25, base_baud = 6249375) is a xuartps
    [    3.864623] zynqmp-pinctrl firmware:zynqmp-firmware:pinctrl: failed to set: pin 64 param 1 value 0
    [    3.873603] zynqmp-pinctrl firmware:zynqmp-firmware:pinctrl: failed to set: pin 65 param 1 value 0
    [    3.883025] dma-axi-dmac 8004000000010000.axi_dmac: error -ENXIO: IRQ index 0 not found
    [    3.895124] ad9528 spi1.2: supply vcc not found, using dummy regulator
    [    3.926089] jesd204: /axi/spi@ff040000/ad9528-1@2,jesd204:0,parent=spi1.2: Using as SYSREF provider
    [    3.942574] adrv9025 spi1.0: adrv9025 Rev 0, API version: 6.4.0.14 found
    [    3.950085] spi_master spi0: cannot find modalias for /axi/spi@ff0f0000/flash@0
    [    3.957405] spi_master spi0: Failed to create SPI device for /axi/spi@ff0f0000/flash@0
    [    3.965619] macb ff0b0000.ethernet: Not enabling partial store and forward
    [    3.976086] macb ff0b0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0b0000 irq 47 (e2:1d:c7:6a:6e:09)
    [    3.986312] macb ff0c0000.ethernet: Not enabling partial store and forward
    [    3.996589] macb ff0c0000.ethernet eth1: Cadence GEM rev 0x50070106 at 0xff0c0000 irq 48 (12:b5:2b:71:94:bd)
    [    4.006799] macb ff0d0000.ethernet: Not enabling partial store and forward
    [    4.084868] macb ff0d0000.ethernet eth2: Cadence GEM rev 0x50070106 at 0xff0d0000 irq 49 (7e:cc:d3:ff:c2:b4)
    [    4.095187] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
    [    4.101813] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
    [    4.108456] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
    [    4.114933] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
    [    4.146230] i2c i2c-0: using pinctrl states for GPIO recovery
    [    4.152135] gpio-372 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
    [    4.161088] i2c i2c-0: using generic GPIOs for recovery
    [    4.166656] at24 0-0050: supply vcc not found, using dummy regulator
    [    4.173312] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [    4.180560] lm90 0-004c: supply vcc not found, using dummy regulator
    [    4.187823] i2c i2c-0: Added multiplexed i2c bus 3
    [    4.192784] i2c i2c-0: Added multiplexed i2c bus 4
    [    4.197725] i2c i2c-0: Added multiplexed i2c bus 5
    [    4.202655] i2c i2c-0: Added multiplexed i2c bus 6
    [    4.207443] pca954x 0-0071: registered 4 multiplexed busses for I2C switch pca9546
    [    4.215053] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 53
    [    4.221191] cdns-i2c ff030000.i2c: can't get pinctrl, bus recovery not supported
    [    4.228837] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 56
    [    4.235562] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
    [    4.243484] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 1333200 KHz, changing to: 1199999 KHz
    [    4.254891] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
    [    4.263676] Mem abort info:
    [    4.266454]   ESR = 0x0000000096000005
    [    4.270192]   EC = 0x25: DABT (current EL), IL = 32 bits
    [    4.275494]   SET = 0, FnV = 0
    [    4.278537]   EA = 0, S1PTW = 0
    [    4.281669]   FSC = 0x05: level 1 translation fault
    [    4.286537] Data abort info:
    [    4.287560] mmc0: SDHCI controller on ff160000.mmc [ff160000.mmc] using PIO
    [    4.289409]   ISV = 0, ISS = 0x00000005
    [    4.300183]   CM = 0, WnR = 0
    [    4.303139] user pgtable: 4k pages, 39-bit VAs, pgdp=00000008076c3000
    [    4.309571] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
    [    4.318269] Internal error: Oops: 0000000096000005 [#1] SMP
    [    4.323827] Modules linked in:
    [    4.326866] CPU: 1 PID: 53 Comm: kworker/u8:2 Not tainted 6.1.70 #1
    [    4.333123] Hardware name: xlnx,zynqmp (DT)
    [    4.337291] Workqueue: events_unbound deferred_probe_work_func
    [    4.343124] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [    4.350077] pc : axiadc_probe+0x174/0x910
    [    4.354078] lr : axiadc_probe+0x168/0x910
    [    4.358080] sp : ffffffc00aa4bac0
    [    4.361379] x29: ffffffc00aa4bad0 x28: 0000000000000000 x27: ffffff8800148900
    [    4.368506] x26: 0000000000000000 x25: ffffff88075ff280 x24: 0000000000000001
    [    4.375549] mmc0: error -110 whilst initialising SD card
    [    4.375633] x23: ffffff88003bb010 x22: ffffff88003bb000 x21: ffffff88075a0000
    [    4.388055] x20: ffffff88075a0580 x19: 0000000000000000 x18: 0000000000000000
    [    4.395182] x17: 7571657266206c61 x16: 6974696e69206465 x15: 0000000000000000
    [    4.402309] x14: 0000000000073d49 x13: ffffff88076c648a x12: 0000000000000006
    [    4.409436] x11: ffffffc00a113700 x10: 000000000014f878 x9 : 0000000000000005
    [    4.416563] x8 : 0101010101010101 x7 : 0000000000000000 x6 : 04041e01b2b0b4ad
    [    4.423690] x5 : 0000000000000000 x4 : 8080808000000000 x3 : 4cae6c86460685a0
    [    4.430817] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffffff88003bb010
    [    4.437945] Call trace:
    [    4.440376]  axiadc_probe+0x174/0x910
    [    4.444030]  platform_probe+0x68/0xc0
    [    4.447684]  really_probe+0xbc/0x2dc
    [    4.451252]  __driver_probe_device+0x78/0x114
    [    4.455602]  driver_probe_device+0x40/0x11c
    [    4.459777]  __device_attach_driver+0xb8/0x134
    [    4.464212]  bus_for_each_drv+0x7c/0xd4
    [    4.468041]  __device_attach+0x9c/0x1a0
    [    4.471869]  device_initial_probe+0x14/0x20
    [    4.476045]  bus_probe_device+0x98/0xa0
    [    4.479873]  deferred_probe_work_func+0x88/0xc0
    [    4.484396]  process_one_work+0x1fc/0x380
    [    4.488398]  worker_thread+0x26c/0x4b0
    [    4.492139]  kthread+0xd8/0xdc
    [    4.495186]  ret_from_fork+0x10/0x20
    [    4.498757] Code: 97f08347 aa0003fa aa1703e0 aa1a03e1 (a9400b43)
    [    4.504840] ---[ end trace 0000000000000000 ]---
    

    Can you please suggest where we should do debug. 

    Our device tree nodes

    &spi0 {
    	compatible = "cdns,spi-r1p6";
    
    	clk0_ad9528: ad9528-1@2 {
    		compatible = "adi,ad9528";
    		reg = <2>;
    
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		spi-max-frequency = <10000000>;
    		//adi,spi-3wire-enable;
    
    		clock-output-names = "ad9528-1_out0", "ad9528-1_out1", "ad9528-1_out2",
    			"ad9528-1_out3", "ad9528-1_out4", "ad9528-1_out5", "ad9528-1_out6",
    			"ad9528-1_out7", "ad9528-1_out8", "ad9528-1_out9", "ad9528-1_out10",
    			"ad9528-1_out11", "ad9528-1_out12", "ad9528-1_out13";
    		#clock-cells = <1>;
    
    		jesd204-device;
    		#jesd204-cells = <2>;
    		jesd204-sysref-provider;
    
    		adi,vcxo-freq = <122880000>;
    
    		adi,refa-enable;
    		adi,refa-diff-rcv-enable;
    		adi,refa-r-div = <1>;
    		adi,ref-mode = <0x2>; //REF_MODE_SELECT_REFA
    
    		/* PLL1 config */
    		adi,pll1-feedback-div = <8>;
    		adi,pll1-charge-pump-current-nA = <5000>;
    
    		/* PLL2 config */
    		adi,pll2-vco-div-m1 = <3>; /* use 5 for 184320000 output device clock */
    		adi,pll2-n2-div = <10>; /* N / M1 */
    		adi,pll2-r1-div = <1>;
    		adi,pll2-charge-pump-current-nA = <805000>;
    
    		/* SYSREF config */
    		adi,sysref-src = <2>;
    		adi,sysref-pattern-mode = <0>;
    		adi,sysref-k-div = <512>;
    		adi,sysref-nshot-mode = <5>;
    		//adi,sysref-request-trigger-mode = <SYSREF_LEVEL_HIGH>;
    		adi,jesd204-desired-sysref-frequency-hz = <3840000>;
    
    		adi,rpole2 = <0>;
    		adi,rzero = <7>;
    		adi,cpole1 = <2>;
    
    		adi,status-mon-pin0-function-select = <1>; /* PLL1 & PLL2 Locked */
    		adi,status-mon-pin1-function-select = <7>; /* REFA Correct */
    
            /* ADRV DEV CLK */
    		ad9528_0_c0: channel@0 {
    			reg = <0>;
    			adi,extended-name = "DEV_CLK";
    			adi,driver-mode = <0>;
    			adi,divider-phase = <0>;
    			adi,channel-divider = <5>;
    			adi,signal-source = <0>;
    			adi,output-dis;
    		};
    
            /* ADRV SYSREF */
    		ad9528_0_c2: channel@2 {
    			reg = <2>;
    			adi,extended-name = "DEV_SYSREF";
    			adi,driver-mode = <0>;
    			adi,divider-phase = <0>;
    			adi,channel-divider = <5>;
    			adi,signal-source = <0x02>;
    			//adi,output-dis;
    		};
    
            /* SYSREF TO MPSoC */
    		ad9528_0_c4: channel@4 {
    			reg = <4>;
    			adi,extended-name = "FMC_SYSREF";
    			adi,driver-mode = <0>;
    			adi,divider-phase = <0>;
    			adi,channel-divider = <5>;
    			adi,signal-source = <0x02>;
    			//adi,output-dis;
    		};
    
            /* REFCLK to MPSoC */
    		ad9528_0_c5: channel@5 {
    			reg = <5>;
    			adi,extended-name = "FMC_CLK";
    			adi,driver-mode = <0>;
    			adi,divider-phase = <0>;
    			adi,channel-divider = <5>;
    			adi,signal-source = <0>;
    			adi,output-dis;
    		};
    
            /* MPSoC DEV CLK */
    		ad9528_0_c7: channel@7 {
    			reg = <7>;
    			adi,extended-name = "DEV_CLK_2";
    			adi,driver-mode = <0>;
    			adi,divider-phase = <0>;
    			adi,channel-divider = <5>;
    			adi,signal-source = <0>;
    			adi,output-dis;
    		};
    
            ad9528_0_c13: channel@13 {
    			reg = <13>;
    			adi,extended-name = "TEST_OUT";
    			adi,driver-mode = <0>;
    			adi,divider-phase = <0>;
    			adi,channel-divider = <5>;
    			adi,signal-source = <0>;
    			adi,output-dis;
    		};
    
    
    	};
    	trx0_adrv9025: adrv9025-phy@0 {
    		compatible = "adrv9025";
    		reg = <0>;
    
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		/* SPI Setup */
    		spi-max-frequency = <25000000>;
    
    		interrupt-parent = <&gpio>;
    		interrupts = <134 1>; /* adrv9025_gpint1 */
    			/* Clocks */
    		clocks = <&clk0_ad9528 0>;
    
    		clock-names = "dev_clk";
    
    		clock-output-names = "rx_sampl_clk", "tx_sampl_clk";
    		#clock-cells = <1>;
    
    		jesd204-device;
    		#jesd204-cells = <2>;
    		jesd204-top-device = <0>; /* This is the TOP device */
    		//jesd204-link-ids = <DEFRAMER0_LINK_TX FRAMER0_LINK_RX>;
    		jesd204-link-ids = <0 2>;
    
    		jesd204-inputs =
    			<&ADRV9026_TOP_JESD_TOP_jesd_ctrl_top_axi_adrv9026_rx_jesd_rx_axi 0 2>,
    			<&ADRV9026_TOP_adrv9026_tpl_core_tx_adrv9026_tpl_core_tpl_core 0 0>;
    
    		adi,device-profile-name = "ActiveUseCase.profile";
    		adi,init-profile-name = "ActiveUtilInit.profile";
    		adi,arm-firmware-name = "ADRV9025_FW.bin;ADRV9025_DPDCORE_FW.bin";
    		adi,stream-firmware-name = "stream_image_6E3E00EFB74FE7D465FA88A171B81B8F.bin";
    		adi,rx-gaintable-names = "ADRV9025_RxGainTable.csv";
    		adi,rx-gaintable-channel-masks = <0xFF>;
    		adi,tx-attntable-names = "ADRV9025_TxAttenTable.csv";
    		adi,tx-attntable-channel-masks = <0x0F>;
    	};
    };
    
    
    /* Need to add misc_clk_1 for 245.76MHz clock */
    
        	&amba_pl {
            	misc_clk_1: misc_clk_1 {
                		#clock-cells = <0>;
                		compatible = "fixed-clock";
                		clock-frequency = <245760000>; /* 245.76 MHz */
            	};
    		misc_clk_0: misc_clk_0 {
                		#clock-cells = <0>;
                		compatible = "fixed-clock";
                		clock-frequency = <122880000>; /* 122.88 MHz */
            	};
        	};
    
    
            /* /amba_pl@0/axi_dmac@80040000 */
    		&axi_rx_dma{
    			compatible = "adi,axi-dmac-1.00.a";
    			reg = <0x80040000 0x10000>;
    			#dma-cells = <1>;
    			#clock-cells = <0>;
    	       		interrupts = <0 110 4>;
    			clocks = <&zynqmp_clk 71>;
    		};
    
            /* /amba_pl@0/ad_ip_jesd204_tpl_adc@80024000 */
    		&ADRV9026_TOP_adrv9026_tpl_core_rx_adrv9026_tpl_core_tpl_core{
    			compatible = "adi,axi-adc-10.0.a";
    		       /*	reg = <0x80024000 0x1000>;  just to check, will clear later */
                            reg = <0x80024000 0x8000>;
    			dmas = <&axi_rx_dma 0>;
    			dma-names = "rx";
    			spibus-connected = <&trx0_adrv9025>;
    		};
    
    	 /* /amba_pl@0/ad_ip_jesd204_tpl_dac@80028000 */
                    &ADRV9026_TOP_adrv9026_tpl_core_tx_adrv9026_tpl_core_tpl_core{
                            compatible = "adi,axi-adrv9025-tx-1.0";
                           /*  reg = <0x80028000 0x1000>; just to check, will clear later */
                            reg = <0x80028000 0x4000>;
                            //dmas = <&tx_dma 0>;
                            //dma-names = "tx";
                            clocks = <&trx0_adrv9025 1>;
                            clock-names = "sampl_clk";
                            //adi,axi-pl-fifo-enable;
    
                            jesd204-device;
                            #jesd204-cells = <2>;
                            jesd204-inputs = <&ADRV9026_TOP_JESD_TOP_jesd_ctrl_top_axi_adrv9026_tx_jesd_tx_axi 0 0>;
                    };
    
    
            /* /amba_pl@0/axi_jesd204_rx@8000c000 */
            	&ADRV9026_TOP_JESD_TOP_jesd_ctrl_top_axi_adrv9026_rx_jesd_rx_axi{
    			compatible = "adi,axi-jesd204-rx-1.00.a";
    			reg = <0x8000c000 0x1000>;
    
    			interrupts = <0 117 4>;
    
    			clocks = <&zynqmp_clk 0x47>, <&misc_clk_0>, <&ADRV9026_TOP_JESD_TOP_xcvr_top_axi_adrv9026_rx_xcvr 0>;
    			clock-names = "s_axi_aclk", "device_clk", "lane_clk";
    
    			#clock-cells = <0>;
    			clock-output-names = "jesd_rx_lane_clk";
    
    			adi,octets-per-frame = <8>;
    			adi,frames-per-multiframe = <32>;
    
    			jesd204-device;
    			#jesd204-cells = <2>;
    			jesd204-inputs = <&ADRV9026_TOP_JESD_TOP_xcvr_top_axi_adrv9026_rx_xcvr 0 2>;
    		};
    
    	 /* /amba_pl@0/axi_jesd204_tx@80014000 */
                    &ADRV9026_TOP_JESD_TOP_jesd_ctrl_top_axi_adrv9026_tx_jesd_tx_axi {
                            compatible = "adi,axi-jesd204-tx-1.00.a";
                            reg = <0x80014000 0x1000>;
    
                            interrupts = <0 116 4>;
    
                            clocks = <&zynqmp_clk 71>, <&misc_clk_1>, <&ADRV9026_TOP_JESD_TOP_xcvr_top_axi_adrv9026_tx_xcvr 0>;
                            clock-names = "s_axi_aclk", "device_clk", "lane_clk";
    
                            #clock-cells = <0>;
                            clock-output-names = "jesd_tx_lane_clk";
    
                            jesd204-device;
                            #jesd204-cells = <2>;
                            jesd204-inputs = <&ADRV9026_TOP_JESD_TOP_xcvr_top_axi_adrv9026_tx_xcvr 0 0>;
    
                    };
    
    
            /* /amba_pl@0/axi_adxcvr@80070000 */
            	&ADRV9026_TOP_JESD_TOP_xcvr_top_axi_adrv9026_rx_xcvr{
    			#address-cells = <1>;
    			#size-cells = <0>;
    			compatible = "adi,axi-adxcvr-1.0";
    			reg = <0x80070000 0x1000>;
    
    			clocks = <&clk0_ad9528 5>;
    			clock-names = "conv";
    
    			#clock-cells = <1>;
    			clock-output-names = "rx_gt_clk", "rx_out_clk";
    
    			adi,sys-clk-select = <0>;
    			adi,out-clk-select = <3>;
    			adi,use-lpm-enable;
    			adi,use-cpll-enable;
    
    			jesd204-device;
    			#jesd204-cells = <2>;
    			jesd204-inputs =  <&clk0_ad9528 0 2>;
    
    		};
    
    
    
    		/* /amba_pl@0/axi_adxcvr@80090000 */
    		&ADRV9026_TOP_JESD_TOP_xcvr_top_axi_adrv9026_tx_xcvr{
    			#address-cells = <1>;
    			#size-cells = <0>;
    			compatible = "adi,axi-adxcvr-1.0";
    			reg = <0x80090000 0x1000>;
    
    			clocks = <&clk0_ad9528 5>;
    			clock-names = "conv";
    
    			#clock-cells = <1>;
    			clock-output-names = "tx_gt_clk", "tx_out_clk";
    
    			adi,sys-clk-select = <3>;
    			adi,out-clk-select = <3>;
    
    			jesd204-device;
    			#jesd204-cells = <2>;
    			jesd204-inputs =  <&clk0_ad9528 0 0>;
    
    		};
    
    &trx0_adrv9025 {
    	reset-gpios = <&gpio 135 0>;
    	//test-gpios = <&gpio 136 0>;
    };
    
    &clk0_ad9528 {
    	reset-gpios = <&gpio 74 0>;
    };
    
    /*
    &ADRV9026_TOP_adrv9026_tpl_core_tx_adrv9026_tpl_core_tpl_core {
    	plddrbypass-gpios = <&gpio 147 0>;
    };
    */
    
    
    

    Please suggest. 

    Regards
    Mahima

  • Hello all, The kernel Panic is resolved. 
    After adding #address-cells = <0x1>; #size-cells = <0x1>

  • Hi  ,

    Were all your questions answered, or is there anything else we can help with?

    Regards,

    Elena

  • Thanks Elena ,

    We are still not able to achieve JESD Link in Data state. Trying to debug from our end. Please do not close this thread. If we need any help, we will post it here. 

    Regards
    Mahima

  • Hi  , ,

    On our custom hardware which has Zynq Ultrascale plus MPSoC and ADRV9025, We are able to achieve JESD Link Status as DATA. 
    We are currently using 13-NLS profile with ORX disabled. 

    In rx_jesd/lane_info: CGS state: INIT, 
    However, in rx_jesd and tx_jesd status, Link status: DATA

    The query is when status showing JESD DATA state then why lane info is still showing errors and INIT state. Please clarify and tell where we should debug on this. 

    Regards
    Mahima

  • Hi  ,

    I believe that your issue comes from your device tree. Please check the axi_adrv9025_rx_jesd node. I think that your clocks look something like this: 

    clocks = <&zynqmp_clk 71>, <&axi_rx_clkgen>, <&axi_adrv9025_adxcvr_rx 0>;
    clock-names = "s_axi_aclk", "device_clk", "lane_clk";

    The issue with this is that the reported link clock will be considered the same value as the reported device clock. For different values you will need to separate the two clocks:

    clocks = <&zynqmp_clk 71>, <&axi_rx_clkgen>, <&axi_adrv9025_adxcvr_rx 0>, <&axi_adrv9025_adxcvr_rx 1>;
    clock-names = "s_axi_aclk", "device_clk", "lane_clk", "link_clk";

    The above example assumes that your link clock is connected to the tx_out_clk port of util_adxcvr.

    Best regards,
    Andrei