Post Go back to editing

Changing sampling rate of AD9680 in DAQ2 card to 500MSPS

Category: Software
Product Number: AD-FMCDAQ2-EBZ card

Hello,

I am using the AD-FMCDAQ2-EBZ card for utilizing the ADC (AD9680) with AMD Zynq ZC706 Evaluation board and have taken all the firmware/image files (2021_r2 Release Image) from ANALOG DEVICES site as mentioned in the link - wiki.analog.com/.../release_notes

The sampling rate of AD9680 in DAQ2 is 1GSPS and I need to change it to 500MSPS.

I have followed the steps mentioned in the discussion ez.analog.com/.../how-can-i-change-adc-sample-rate-of-ad9680-on-fmcdaq2
As mentioned in the discussion, i was able to change the ADC sample rate to 995MSPS successfully. But i am not able to change it to 497MSPS (approx 500MSPS).

Changes that i have done for 497MSPS settings:

I converted the compiled device tree into an editable format. Then, edited the devicetree.dts file as:

adi,pll2-m1-freq = <0x1daa12d0>; /* 497.6852MHz which is close to 500MHz */
adi,pll2-r2-div = <0x12>; /* R divider = 18 */
adi,pll2-vco-div-m1 = <0x03>; /* VCO divider 1 = 3 */
adi,pll2-ndiv-a-cnt = <0x03>; /* N divider a counter = 3 */
adi,pll2-ndiv-b-cnt = <0x35>; /* N divider a counter = 53 */

Then, recompiled the devicetree.dts file. And rebooted the system.

Outcome : IIO oscilloscope (v0.16) started malfunctioning. I was able to open the iio oscilloscope, but no channels mentioned at the left corner and eventually it crashed.

Picture attached for your kind reference.

Please suggest us how to change the AD9680 sample rate in AD-FMCDAQ2-EBZ card to 500MSPS.


Regards,

Prashant

  • The M1 clock is already 1000MHz, why are you trying to change it?

    Just change this:

    adi,sampling-frequency = /bits/ 64 <1000000000>;

    to 

    adi,sampling-frequency = /bits/ 64 <500000000>;

    here:

    https://github.com/analogdevicesinc/linux/blob/master/arch/arm/boot/dts/adi-daq2.dtsi#L182

    Then the driver will control this channel divider here:

    https://github.com/analogdevicesinc/linux/blob/master/arch/arm/boot/dts/adi-daq2.dtsi#L114

    And set it to 2 instead of 1.

    1000/2 = 500MHz ...

    -Michael

  • Hello Michael,

    We are giving a very narrow pulse with repetition rate of 10KHz at channel no. 1 of DAQ2 card and observing the same in IIO oscilloscope with default settings that is 1GSPS. Please find below the snapshot of the output.
    (Pulses will repeat after every 100us (1/10KHz) which corresponds to 100000 sample points for 1GSPS settings which is a desired output).

    Now, I have changed the devicetree.dts file as mentioned by you for 500MSPS settings. Changes are:

    adi,channel-divider = <0x02>; //earlier it was <0x01>;
    adi,sampling-frequency = <0x00 0x1dcd6500>; //earlier it was <0x00 0x3b9aca00>;

    Recomplied the dts file and rebooted our FPGA board. We are giving the same input pulse as earlier with repetition rate of 10KHz. The output at 500MSPS settings is attached below.

    Output is not desirable. (As per my understanding, Pulses should repeat after every 100us which corresponds to 50000 sample points for 500MSPS settings).

    Do we need to change some other parameters too in order to achieve 500MSPS settings ?

    Regards,
    Prashant

  • On the target Linux console can you run jesd_status

    https://wiki.analog.com/resources/tools-software/linux-software/jesd_status

    Also please capture kernel messages (dmesg)

    iio_info command output and post it here.

    -Michael

  • Hello Michael,

    PFA the output of following commands (with 500MSPS settings):

    (1.) jesd_status -s

    (2.) dmesg

    (3.) iio_info

     (DEVICES) Found 2 JESD204 Link Layer peripherals
    
      (0): axi-jesd204-rx/44aa0000.axi-jesd204-rx  [*]
      (1): axi-jesd204-tx/44a90000.axi-jesd204-tx
    
      (STATUS)
      Link is                      enabled
      Link Status                  DATA
      Measured Link Clock (MHz)    249.998
      Reported Link Clock (MHz)    250.000
      Measured Device Clock (MHz)  250.000
      Reported Device Clock (MHz)  250.000
      Desired Device Clock (MHz)   125.000
      Lane rate (MHz)              5000.000
      Lane rate / 40 (MHz)         125.000
      LMFC rate (MHz)              15.625
      SYSREF captured              Yes
      SYSREF alignment error       No
      SYNC~
    
      (LANE STATUS)
      Lane#                             0      1      2      3                     t
    x Errors                            2      2      0      0
    
    

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 5.10.0-98744-g64e7a607b659 (jenkins@romlxbuild1) (arm-xilinx-linux-gnueabi-gcc.real (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.0.20200730) #1788 SMP PREEMPT Fri Mar 31 16:51:05 EEST 2023
    [    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: Xilinx Zynq ZC706
    [    0.000000] OF: fdt: earlycon: stdout-path /amba@0/uart@E0001000 not found
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] cma: Reserved 128 MiB at 0x38000000
    [    0.000000] Zone ranges:
    [    0.000000]   Normal   [mem 0x0000000000000000-0x000000002fffffff]
    [    0.000000]   HighMem  [mem 0x0000000030000000-0x000000003fffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000000000000-0x000000003fffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
    [    0.000000] On node 0 totalpages: 262144
    [    0.000000]   Normal zone: 1536 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 196608 pages, LIFO batch:63
    [    0.000000]   HighMem zone: 65536 pages, LIFO batch:15
    [    0.000000] percpu: Embedded 15 pages/cpu s29900 r8192 d23348 u61440
    [    0.000000] pcpu-alloc: s29900 r8192 d23348 u61440 alloc=15*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260608
    [    0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait clk_ignore_unused cpuidle.off=1
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 886000K/1048576K available (11264K kernel code, 804K rwdata, 7628K rodata, 1024K init, 492K bss, 31504K reserved, 131072K cma-reserved, 131072K highmem)
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU event tracing is enabled.
    [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
    [    0.000000]  Trampoline variant of Tasks RCU enabled.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] efuse mapped to (ptrval)
    [    0.000000] slcr mapped to (ptrval)
    [    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
    [    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
    [    0.000000] L2C-310 erratum 769419 enabled
    [    0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
    [    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
    [    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
    [    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
    [    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
    [    0.000000] random: get_random_bytes called from start_kernel+0x33c/0x4e0 with crng_init=0
    [    0.000000] zynq_clock_init: clkc starts at (ptrval)
    [    0.000000] Zynq clock init
    [    0.000010] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
    [    0.000029] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
    [    0.000055] Switching to timer-based delay loop, resolution 3ns
    [    0.000144] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
    [    0.000184] timer #0 at (ptrval), irq=25
    [    0.000802] Console: colour dummy device 80x30
    [    0.000834] Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
    [    0.000852] pid_max: default: 32768 minimum: 301
    [    0.001048] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
    [    0.001065] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
    [    0.001713] CPU: Testing write buffer coherency: ok
    [    0.001747] CPU0: Spectre v2: using BPIALL workaround
    [    0.001914] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.002417] Setting up static identity map for 0x100000 - 0x100060
    [    0.002554] rcu: Hierarchical SRCU implementation.
    [    0.002842] smp: Bringing up secondary CPUs ...
    [    0.003619] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.003628] CPU1: Spectre v2: using BPIALL workaround
    [    0.003766] smp: Brought up 1 node, 2 CPUs
    [    0.003778] SMP: Total of 2 processors activated (1333.33 BogoMIPS).
    [    0.003786] CPU: All CPU(s) started in SVC mode.
    [    0.004311] devtmpfs: initialized
    [    0.009436] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [    0.009795] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.009816] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
    [    0.015579] pinctrl core: initialized pinctrl subsystem
    [    0.016316] NET: Registered protocol family 16
    [    0.018408] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.019378] thermal_sys: Registered thermal governor 'step_wise'
    [    0.046963] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [    0.046978] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [    0.047106] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
    [    0.047776] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 33, base_baud = 3125000) is a xuartps
    [    0.432814] printk: console [ttyPS0] enabled
    [    0.448023] SCSI subsystem initialized
    [    0.450732] usbcore: registered new interface driver usbfs
    [    0.454943] usbcore: registered new interface driver hub
    [    0.459014] usbcore: registered new device driver usb
    [    0.463106] mc: Linux media interface: v0.10
    [    0.466099] videodev: Linux video capture interface: v2.00
    [    0.470809] jesd204: created con: id=0, topo=0, link=0, /fpga-axi@0/axi-adxcvr-rx@44a50000 <-> /fpga-axi@0/axi-jesd204-rx@44aa0000
    [    0.481278] jesd204: created con: id=1, topo=0, link=0, /fpga-axi@0/axi-jesd204-rx@44aa0000 <-> /fpga-axi@0/axi-ad9680-hpc@44a10000
    [    0.491822] jesd204: created con: id=2, topo=1, link=0, /fpga-axi@0/axi-adxcvr-tx@44a60000 <-> /fpga-axi@0/axi-jesd204-tx@44a90000
    [    0.502269] jesd204: created con: id=3, topo=1, link=0, /fpga-axi@0/axi-jesd204-tx@44a90000 <-> /fpga-axi@0/axi-ad9144-hpc@44a04000
    [    0.512811] jesd204: created con: id=4, topo=0, link=0, /fpga-axi@0/axi-ad9680-hpc@44a10000 <-> /axi/spi@e0006000/ad9680@2
    [    0.522566] jesd204: created con: id=5, topo=1, link=0, /fpga-axi@0/axi-ad9144-hpc@44a04000 <-> /axi/spi@e0006000/ad9144@1
    [    0.532331] jesd204: /axi/spi@e0006000/ad9680@2: JESD204[0:0] transition uninitialized -> initialized
    [    0.540250] jesd204: /axi/spi@e0006000/ad9144@1: JESD204[1:0] transition uninitialized -> initialized
    [    0.548163] jesd204: found 8 devices and 2 topologies
    [    0.551947] FPGA manager framework
    [    0.554283] Advanced Linux Sound Architecture Driver Initialized.
    [    0.560118] clocksource: Switched to clocksource arm_global_timer
    [    0.572964] NET: Registered protocol family 2
    [    0.576569] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
    [    0.583656] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
    [    0.590192] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.596156] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.601327] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.606672] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.612634] NET: Registered protocol family 1
    [    0.616155] RPC: Registered named UNIX socket transport module.
    [    0.620797] RPC: Registered udp transport module.
    [    0.624187] RPC: Registered tcp transport module.
    [    0.627581] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.633163] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
    [    0.639951] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
    [    0.647951] workingset: timestamp_bits=30 max_order=18 bucket_order=0
    [    0.653951] NFS: Registering the id_resolver key type
    [    0.657711] Key type id_resolver registered
    [    0.660618] Key type id_legacy registered
    [    0.663344] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.668920] fuse: init (API version 7.32)
    [    0.671927] bounce: pool size: 64 pages
    [    0.674465] io scheduler mq-deadline registered
    [    0.677683] io scheduler kyber registered
    [    0.680711] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
    [    0.689032] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
    [    0.694460] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
    [    0.710391] brd: module loaded
    [    0.719665] loop: module loaded
    [    0.721819] Registered mathworks_ip class
    [    0.727489] spi-nor spi1.0: found s25fl128s1, expected n25q128a11
    [    0.734765] random: fast init done
    [    0.851588] spi-nor spi1.0: trying to lock already unlocked area
    [    0.856287] spi-nor spi1.0: s25fl128s1 (32768 Kbytes)
    [    0.860071] 5 fixed-partitions partitions found on MTD device spi1.0
    [    0.865126] Creating 5 MTD partitions on "spi1.0":
    [    0.868611] 0x000000000000-0x000000500000 : "boot"
    [    0.880880] 0x000000500000-0x000000520000 : "bootenv"
    [    0.890862] 0x000000520000-0x000000540000 : "config"
    [    0.900879] 0x000000540000-0x000000fc0000 : "image"
    [    0.910862] 0x000000fc0000-0x000002000000 : "spare"
    [    0.921080] MACsec IEEE 802.1AE
    [    0.923538] libphy: Fixed MDIO Bus: probed
    [    0.926706] tun: Universal TUN/TAP device driver, 1.6
    [    0.931917] libphy: MACB_mii_bus: probed
    [    0.936468] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 36 (00:0a:35:00:01:22)
    [    0.945455] usbcore: registered new interface driver asix
    [    0.949583] usbcore: registered new interface driver ax88179_178a
    [    0.954453] usbcore: registered new interface driver cdc_ether
    [    0.959006] usbcore: registered new interface driver net1080
    [    0.963406] usbcore: registered new interface driver cdc_subset
    [    0.968040] usbcore: registered new interface driver zaurus
    [    0.972362] usbcore: registered new interface driver cdc_ncm
    [    0.977546] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    0.983273] usbcore: registered new interface driver uas
    [    0.987327] usbcore: registered new interface driver usb-storage
    [    0.992133] usbcore: registered new interface driver usbserial_generic
    [    0.997372] usbserial: USB Serial support registered for generic
    [    1.002109] usbcore: registered new interface driver ftdi_sio
    [    1.006562] usbserial: USB Serial support registered for FTDI USB Serial Device
    [    1.012600] usbcore: registered new interface driver upd78f0730
    [    1.017229] usbserial: USB Serial support registered for upd78f0730
    [    1.080144] ULPI transceiver vendor/product ID 0x0424/0x0007
    [    1.084498] Found SMSC USB3320 ULPI transceiver.
    [    1.087811] ULPI integrity check: passed.
    [    1.090549] ci_hdrc ci_hdrc.0: EHCI Host Controller
    [    1.094144] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
    [    1.120138] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
    [    1.124378] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
    [    1.131392] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    1.137300] usb usb1: Product: EHCI Host Controller
    [    1.140805] usb usb1: Manufacturer: Linux 5.10.0-98744-g64e7a607b659 ehci_hcd
    [    1.146682] usb usb1: SerialNumber: ci_hdrc.0
    [    1.150289] hub 1-0:1.0: USB hub found
    [    1.152762] hub 1-0:1.0: 1 port detected
    [    1.157505] i2c /dev entries driver
    [    1.166599] si570 1-005d: registered, current frequency 156250000 Hz
    [    1.171769] i2c i2c-0: Added multiplexed i2c bus 1
    [    1.175789] adv7511 2-0039: supply avdd not found, using dummy regulator
    [    1.181335] adv7511 2-0039: supply dvdd not found, using dummy regulator
    [    1.186785] adv7511 2-0039: supply pvdd not found, using dummy regulator
    [    1.192246] adv7511 2-0039: supply bgvdd not found, using dummy regulator
    [    1.197777] adv7511 2-0039: supply dvdd-3v not found, using dummy regulator
    [    1.214748] i2c i2c-0: Added multiplexed i2c bus 2
    [    1.218738] at24 3-0054: supply vcc not found, using dummy regulator
    [    1.225119] at24 3-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
    [    1.230611] i2c i2c-0: Added multiplexed i2c bus 3
    [    1.234558] pca953x 4-0021: supply vcc not found, using dummy regulator
    [    1.239986] pca953x 4-0021: using no AI
    [    1.244809] i2c i2c-0: Added multiplexed i2c bus 4
    [    1.255782] rtc-pcf8563 5-0051: registered as rtc0
    [    1.260688] rtc-pcf8563 5-0051: setting system clock to 2023-11-24T12:19:45 UTC (1700828385)
    [    1.269173] i2c i2c-0: Added multiplexed i2c bus 5
    [    1.273180] at24 6-0050: supply vcc not found, using dummy regulator
    [    1.279206] at24 6-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
    [    1.284810] i2c i2c-0: Added multiplexed i2c bus 6
    [    1.288552] i2c i2c-0: Added multiplexed i2c bus 7
    [    1.292286] i2c i2c-0: Added multiplexed i2c bus 8
    [    1.295777] pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
    [    1.303097] usbcore: registered new interface driver uvcvideo
    [    1.307529] USB Video Class driver (1.1.1)
    [    1.310331] gspca_main: v2.14.0 registered
    [    1.316018] cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
    [    1.322243] Xilinx Zynq CpuIdle Driver started
    [    1.325376] failed to register cpuidle driver
    [    1.328674] sdhci: Secure Digital Host Controller Interface driver
    [    1.333558] sdhci: Copyright(c) Pierre Ossman
    [    1.336598] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.342108] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.346861] hid: raw HID events driver (C) Jiri Kosina
    [    1.353052] usbcore: registered new interface driver usbhid
    [    1.357317] usbhid: USB HID core driver
    [    1.367121] mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
    [    1.378370] ad9523 spi0.0: supply vcc not found, using dummy regulator
    [    1.411243] mmc0: new high speed SDHC card at address aaaa
    [    1.415991] mmcblk0: mmc0:aaaa SL16G 14.8 GiB
    [    1.424603]  mmcblk0: p1 p2 p3
    [    1.469856] axi_adxcvr 44a50000.axi-adxcvr-rx: adxcvr_enforce_settings: Using QPLL without access, assuming desired Lane rate will be configured by a different instance
    [    1.492231] axi_adxcvr 44a50000.axi-adxcvr-rx: AXI-ADXCVR-RX (17.05.a) using QPLL on GTX2 at 0x44A50000. Number of lanes: 4.
    [    1.528767] axi_adxcvr 44a60000.axi-adxcvr-tx: AXI-ADXCVR-TX (17.05.a) using QPLL on GTX2 at 0x44A60000. Number of lanes: 4.
    [    1.539589] axi-jesd204-rx 44aa0000.axi-jesd204-rx: AXI-JESD204-RX (1.07.a) at 0x44AA0000. Encoder 8b10b, width 4/4, lanes 4, jesd204-fsm.
    [    1.551311] axi-jesd204-tx 44a90000.axi-jesd204-tx: AXI-JESD204-TX (1.06.a) at 0x44A90000. Encoder 8b10b, width 4/4, lanes 4, jesd204-fsm.
    [    1.563783] axi_sysid 45000000.axi-sysid-0: AXI System ID core version (1.01.a) found
    [    1.570505] axi_sysid 45000000.axi-sysid-0: [daq2] [ADC_OFFLOAD_TYPE=1
                   DAC_OFFLOAD_TYPE=0] on [zc706] git branch <hdl_2021_r2> git <a83056b11d6b092d342b72c68ef713b362b10521> clean [2023-03-31 17:39:26] UTC
    [    1.588148] fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
    [    1.593950] usbcore: registered new interface driver snd-usb-audio
    [    1.601782] NET: Registered protocol family 10
    [    1.605780] Segment Routing with IPv6
    [    1.608203] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.613417] NET: Registered protocol family 17
    [    1.616844] NET: Registered protocol family 36
    [    1.619996] Key type dns_resolver registered
    [    1.623210] Registering SWP/SWPB emulation handler
    [    1.635920] of-fpga-region fpga-full: FPGA Region probed
    [    1.640857] [drm] Initialized axi_hdmi_drm 1.0.0 20120930 for 70e00000.axi_hdmi on minor 0
    [    1.649216] axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes
    [    1.676312] ad9208 spi0.2: ad9680 PLL LOCKED
    [    1.679753] ad9208 spi0.2: ad9680 Rev. 5 Grade 10 (API 1.0.1) probed
    [    1.710701] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition initialized -> probed
    [    1.720101] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition probed -> idle
    [    1.728920] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition idle -> device_init
    [    1.738160] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition device_init -> link_init
    [    1.747837] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition link_init -> link_supported
    [    1.757784] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition link_supported -> link_pre_setup
    [    1.768145] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition link_pre_setup -> clk_sync_stage1
    [    1.778604] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition clk_sync_stage1 -> clk_sync_stage2
    [    1.789142] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition clk_sync_stage2 -> clk_sync_stage3
    [    1.847796] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition clk_sync_stage3 -> link_setup
    [    1.857913] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition link_setup -> opt_setup_stage1
    [    1.868104] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition opt_setup_stage1 -> opt_setup_stage2
    [    1.878815] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition opt_setup_stage2 -> opt_setup_stage3
    [    1.889524] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition opt_setup_stage3 -> opt_setup_stage4
    [    1.900243] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition opt_setup_stage4 -> opt_setup_stage5
    [    1.910958] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition opt_setup_stage5 -> clocks_enable
    [    1.921485] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition clocks_enable -> link_enable
    [    1.960452] ad9144 spi0.1: Link0 code grp sync: f
    [    1.963843] ad9144 spi0.1: Link0 frame sync stat: f
    [    1.967410] ad9144 spi0.1: Link0 good checksum stat: f
    [    1.971256] ad9144 spi0.1: Link0 init lane_sync stat: f
    [    1.975173] ad9144 spi0.1: Link0 4 lanes @ 10000000 kBps
    [    1.979187] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition link_enable -> link_running
    [    1.989045] jesd204: /axi/spi@e0006000/ad9144@1,jesd204:0,parent=spi0.1: JESD204[1:0] transition link_running -> opt_post_running_stage
    [    1.999968] cf_axi_dds 44a04000.axi-ad9144-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0x44A04000 mapped to 0x(ptrval), probed DDS (null)
    [    2.036048] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition initialized -> probed
    [    2.045476] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition probed -> idle
    [    2.054288] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition idle -> device_init
    [    2.063527] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition device_init -> link_init
    [    2.073198] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition link_init -> link_supported
    [    2.152238] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition link_supported -> link_pre_setup
    [    2.162609] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition link_pre_setup -> clk_sync_stage1
    [    2.173058] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition clk_sync_stage1 -> clk_sync_stage2
    [    2.183595] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition clk_sync_stage2 -> clk_sync_stage3
    [    2.194133] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition clk_sync_stage3 -> link_setup
    [    2.204242] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition link_setup -> opt_setup_stage1
    [    2.214358] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition opt_setup_stage1 -> opt_setup_stage2
    [    2.225111] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition opt_setup_stage2 -> opt_setup_stage3
    [    2.235821] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition opt_setup_stage3 -> opt_setup_stage4
    [    2.246532] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition opt_setup_stage4 -> opt_setup_stage5
    [    2.257444] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition opt_setup_stage5 -> clocks_enable
    [    2.290945] axi_adxcvr 44a50000.axi-adxcvr-rx: adxcvr_clk_enable: QPLL RX buffer underflow error, status: 0x61
    [    2.299631] axi_adxcvr 44a50000.axi-adxcvr-rx: adxcvr_clk_enable: QPLL RX buffer overflow error, status: 0x61
    [    2.308263] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition clocks_enable -> link_enable
    [    2.340146] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition link_enable -> link_running
    [    2.350067] jesd204: /axi/spi@e0006000/ad9680@2,jesd204:1,parent=spi0.2: JESD204[0:0] transition link_running -> opt_post_running_stage
    [    2.360960] cf_axi_adc 44a10000.axi-ad9680-hpc: ADI AIM (10.02.b) at 0x44A10000 mapped to 0x(ptrval) probed ADC AD9680 as MASTER
    [    2.372051] input: gpio_keys as /devices/soc0/gpio_keys/input/input0
    [    2.377429] of_cfs_init
    [    2.378588] of_cfs_init: OK
    [    2.380333] clk: Not disabling unused clocks
    [    2.383298] ALSA device list:
    [    2.384953]   #0: HDMI monitor
    [    2.401474] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    2.408305] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    2.423592] devtmpfs: mounted
    [    2.426745] Freeing unused kernel memory: 1024K
    [    2.450703] Run /sbin/init as init process
    [    2.453487]   with arguments:
    [    2.453492]     /sbin/init
    [    2.453497]   with environment:
    [    2.453501]     HOME=/
    [    2.453506]     TERM=linux
    [    2.972093] random: crng init done
    [    3.070627] systemd[1]: systemd 247.3-7+rpi1+deb11u1 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
    [    3.093453] systemd[1]: Detected architecture arm.
    [    3.143864] systemd[1]: Set hostname to <analog>.
    [    4.979393] systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
    [    5.333321] systemd[1]: Queued start job for default target Graphical Interface.
    [    5.341892] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    5.352980] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [    5.361307] systemd[1]: Created slice system-getty.slice.
    [    5.401166] systemd[1]: Created slice system-modprobe.slice.
    [    5.441112] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [    5.481063] systemd[1]: Created slice system-systemd\x2dfsck.slice.
    [    5.520770] systemd[1]: Created slice User and Session Slice.
    [    5.560730] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    5.600590] systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped.
    [    5.612320] systemd[1]: Reached target Slices.
    [    5.640502] systemd[1]: Reached target Swap.
    [    5.671628] systemd[1]: Listening on Syslog Socket.
    [    5.700980] systemd[1]: Listening on fsck to fsckd communication Socket.
    [    5.740652] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [    5.800544] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    [    5.808227] systemd[1]: Listening on Journal Socket (/dev/log).
    [    5.841307] systemd[1]: Listening on Journal Socket.
    [    5.874640] systemd[1]: Listening on udev Control Socket.
    [    5.910983] systemd[1]: Listening on udev Kernel Socket.
    [    5.951279] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
    [    5.958750] systemd[1]: Condition check resulted in POSIX Message Queue File System being skipped.
    [    5.969597] systemd[1]: Mounting RPC Pipe File System...
    [    6.003652] systemd[1]: Mounting Kernel Debug File System...
    [    6.030902] systemd[1]: Condition check resulted in Kernel Trace File System being skipped.
    [    6.038489] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
    [    6.054399] systemd[1]: Starting Restore / save the current clock...
    [    6.103757] systemd[1]: Starting Set the console keyboard layout...
    [    6.140520] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped.
    [    6.154855] systemd[1]: Starting Load Kernel Module configfs...
    [    6.184874] systemd[1]: Starting Load Kernel Module drm...
    [    6.214119] systemd[1]: Starting Load Kernel Module fuse...
    [    6.246550] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
    [    6.254756] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
    [    6.266017] systemd[1]: Starting Journal Service...
    [    6.299061] systemd[1]: Starting Load Kernel Modules...
    [    6.333781] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    6.370969] systemd[1]: Starting Coldplug All udev Devices...
    [    6.433821] systemd[1]: Mounted RPC Pipe File System.
    [    6.463487] systemd[1]: Mounted Kernel Debug File System.
    [    6.501675] systemd[1]: Finished Restore / save the current clock.
    [    6.588899] systemd[1]: modprobe@configfs.service: Succeeded.
    [    6.602853] systemd[1]: Finished Load Kernel Module configfs.
    [    6.644676] systemd[1]: modprobe@drm.service: Succeeded.
    [    6.662549] systemd[1]: Finished Load Kernel Module drm.
    [    6.704954] systemd[1]: modprobe@fuse.service: Succeeded.
    [    6.739163] systemd[1]: Finished Load Kernel Module fuse.
    [    6.772268] systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
    [    6.788045] systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
    [    6.821349] systemd[1]: Failed to start Load Kernel Modules.
    [    6.858037] systemd[1]: Mounting FUSE Control File System...
    [    6.903967] systemd[1]: Mounting Kernel Configuration File System...
    [    6.944661] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [    6.955623] systemd[1]: Starting Apply Kernel Variables...
    [    6.990346] systemd[1]: Finished Remount Root and Kernel File Systems.
    [    7.031188] systemd[1]: Mounted FUSE Control File System.
    [    7.062087] systemd[1]: Finished Set the console keyboard layout.
    [    7.091004] systemd[1]: Mounted Kernel Configuration File System.
    [    7.121760] systemd[1]: Finished Apply Kernel Variables.
    [    7.158958] systemd[1]: Condition check resulted in Rebuild Hardware Database being skipped.
    [    7.159432] systemd[1]: Condition check resulted in Platform Persistent Storage Archival being skipped.
    [    7.162723] systemd[1]: Starting Load/Save Random Seed...
    [    7.193537] systemd[1]: Starting Create System Users...
    [    7.221196] systemd[1]: Started Journal Service.
    [    7.334782] systemd-journald[98]: Received client request to flush runtime journal.
    [   12.018749] axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes
    [   12.022431] axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes
    [   15.320222] Adding 102396k swap on /var/swap.  Priority:-2 extents:1 across:102396k SS
    [   16.050355] macb e000b000.ethernet eth0: PHY [e000b000.ethernet-ffffffff:07] driver [Marvell 88E1116R] (irq=POLL)
    [   16.050377] macb e000b000.ethernet eth0: configuring for phy/rgmii-id link mode
    [   18.172706] macb e000b000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [   18.172776] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   54.114838] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.eth0.retrans_time - use net.ipv6.neigh.eth0.retrans_time_ms instead
    
    Library version: 0.24 (git tag: accb7b5)
    Compiled with backends: local xml ip usb serial
    IIO context created with local backend.
    Backend version: 0.24 (git tag: accb7b5)
    Backend description string: Linux analog 5.10.0-98744-g64e7a607b659 #1788 SMP PREEMPT Fri Mar 31 16:51:05 EEST 2023 armv7l
    IIO context has 8 attributes:
            hw_model: AD-FMCADC2-EBZ on Xilinx Zynq ZC706
            hw_carrier: Xilinx Zynq ZC706
            hw_mezzanine: AD-FMCADC2-EBZ
            hw_name: AD9625 FMC Sync board
            hw_vendor: Analog Devices
            hw_serial: 00026
            local,kernel: 5.10.0-98744-g64e7a607b659
            uri: local:
    IIO context has 6 devices:
            iio:device0: ad7291
                    9 channels found:
                            voltage6:  (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2031
                                    attr  1: scale value: 0.610351562
                            temp0:  (input)
                            3 channel-specific attributes found:
                                    attr  0: mean_raw value: 125
                                    attr  1: raw value: 125
                                    attr  2: scale value: 250
                            voltage3:  (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 1317
                                    attr  1: scale value: 0.610351562
                            voltage7:  (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2704
                                    attr  1: scale value: 0.610351562
                            voltage0:  (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2943
                                    attr  1: scale value: 0.610351562
                            voltage4:  (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2050
                                    attr  1: scale value: 0.610351562
                            voltage1:  (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2659
                                    attr  1: scale value: 0.610351562
                            voltage5:  (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2696
                                    attr  1: scale value: 0.610351562
                            voltage2:  (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2667
                                    attr  1: scale value: 0.610351562
                    No trigger on this device
            iio:device1: xadc
                    9 channels found:
                            voltage5: vccoddr (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2064
                                    attr  1: scale value: 0.732421875
                            voltage0: vccint (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 1379
                                    attr  1: scale value: 0.732421875
                            voltage4: vccpaux (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2472
                                    attr  1: scale value: 0.732421875
                            temp0:  (input)
                            3 channel-specific attributes found:
                                    attr  0: offset value: -2219
                                    attr  1: raw value: 2669
                                    attr  2: scale value: 123.040771484
                            voltage7: vrefn (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 15
                                    attr  1: scale value: 0.732421875
                            voltage1: vccaux (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 2472
                                    attr  1: scale value: 0.732421875
                            voltage2: vccbram (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 1385
                                    attr  1: scale value: 0.732421875
                            voltage3: vccpint (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 1378
                                    attr  1: scale value: 0.732421875
                            voltage6: vrefp (input)
                            2 channel-specific attributes found:
                                    attr  0: raw value: 1721
                                    attr  1: scale value: 0.732421875
                    1 device-specific attributes found:
                                    attr  0: sampling_frequency value: 961538
                    No trigger on this device
            iio:device2: ad9523-1
                    8 channels found:
                            altvoltage7: CLKD_DAC_SYSREF (output)
                            3 channel-specific attributes found:
                                    attr  0: frequency value: 7812500
                                    attr  1: phase value: 0.024543
                                    attr  2: raw value: 1
                            altvoltage8: DAC_SYSREF (output)
                            3 channel-specific attributes found:
                                    attr  0: frequency value: 7812500
                                    attr  1: phase value: 0.024543
                                    attr  2: raw value: 1
                            altvoltage9: FMC_DAC_REF_CLK (output)
                            3 channel-specific attributes found:
                                    attr  0: frequency value: 500000000
                                    attr  1: phase value: 1.570796
                                    attr  2: raw value: 1
                            altvoltage13: ADC_CLK (output)
                            3 channel-specific attributes found:
                                    attr  0: frequency value: 500000000
                                    attr  1: phase value: 1.570796
                                    attr  2: raw value: 1
                            altvoltage5: ADC_SYSREF (output)
                            3 channel-specific attributes found:
                                    attr  0: frequency value: 7812500
                                    attr  1: phase value: 0.024543
                                    attr  2: raw value: 1
                            altvoltage1: DAC_CLK (output)
                            3 channel-specific attributes found:
                                    attr  0: frequency value: 1000000000
                                    attr  1: phase value: 3.141592
                                    attr  2: raw value: 1
                            altvoltage4: ADC_CLK_FMC (output)
                            3 channel-specific attributes found:
                                    attr  0: frequency value: 500000000
                                    attr  1: phase value: 1.570796
                                    attr  2: raw value: 1
                            altvoltage6: CLKD_ADC_SYSREF (output)
                            3 channel-specific attributes found:
                                    attr  0: frequency value: 7812500
                                    attr  1: phase value: 0.024543
                                    attr  2: raw value: 1
                    10 device-specific attributes found:
                                    attr  0: pll1_locked value: 0
                                    attr  1: pll1_reference_clk_a_present value: 0
                                    attr  2: pll1_reference_clk_b_present value: 0
                                    attr  3: pll1_reference_clk_test_present value: 0
                                    attr  4: pll2_feedback_clk_present value: 0
                                    attr  5: pll2_locked value: 1
                                    attr  6: pll2_reference_clk_present value: 1
                                    attr  7: store_eeprom ERROR: Permission denied (13)
                                    attr  8: sync_dividers ERROR: Permission denied (13)
                                    attr  9: vcxo_clk_present value: 1
                    1 debug attributes found:
                                    debug attr  0: direct_reg_access value: 0x0
                    No trigger on this device
            iio:device3: axi-ad9144-hpc (buffer capable)
                    7 channels found:
                            voltage0:  (output, index: 0, format: le:S16/16>>0)
                            1 channel-specific attributes found:
                                    attr  0: sampling_frequency value: 1000000000
                            voltage1:  (output, index: 1, format: le:S16/16>>0)
                            1 channel-specific attributes found:
                                    attr  0: sampling_frequency value: 1000000000
                            altvoltage3: 2B (output)
                            5 channel-specific attributes found:
                                    attr  0: frequency value: 39993896
                                    attr  1: phase value: 0
                                    attr  2: raw value: 1
                                    attr  3: sampling_frequency value: 1000000000
                                    attr  4: scale value: 0.250000
                            altvoltage0: 1A (output)
                            5 channel-specific attributes found:
                                    attr  0: frequency value: 39993896
                                    attr  1: phase value: 90000
                                    attr  2: raw value: 1
                                    attr  3: sampling_frequency value: 1000000000
                                    attr  4: scale value: 0.250000
                            altvoltage1: 1B (output)
                            5 channel-specific attributes found:
                                    attr  0: frequency value: 39993896
                                    attr  1: phase value: 90000
                                    attr  2: raw value: 1
                                    attr  3: sampling_frequency value: 1000000000
                                    attr  4: scale value: 0.250000
                            altvoltage2: 2A (output)
                            5 channel-specific attributes found:
                                    attr  0: frequency value: 39993896
                                    attr  1: phase value: 0
                                    attr  2: raw value: 1
                                    attr  3: sampling_frequency value: 1000000000
                                    attr  4: scale value: 0.250000
                            temp0:  (input)
                            2 channel-specific attributes found:
                                    attr  0: calibbias value: 0
                                    attr  1: input ERROR: Invalid argument (22)
                    2 device-specific attributes found:
                                    attr  0: sync_start_enable value: disarm
                                    attr  1: sync_start_enable_available value: arm
                    2 buffer-specific attributes found:
                                    attr  0: data_available value: 0
                                    attr  1: length_align_bytes value: 16
                    1 debug attributes found:
                                    debug attr  0: direct_reg_access value: 0x0
                    No trigger on this device
            iio:device4: axi-ad9680-hpc (buffer capable)
                    2 channels found:
                            voltage0:  (input, index: 0, format: le:S14/16>>0)
                            6 channel-specific attributes found:
                                    attr  0: label ERROR: Function not implemented (38)
                                    attr  1: sampling_frequency value: 500000000
                                    attr  2: scale value: 0.103759
                                    attr  3: scale_available value: 0.089111 0.096435 0.103759 0.111083 0.118408 0.125732
                                    attr  4: test_mode value: off
                                    attr  5: test_mode_available value: off midscale_short pos_fullscale neg_fullscale checkerboard pn_long pn_short one_zero_toggle user ramp
                            voltage1:  (input, index: 1, format: le:S14/16>>0)
                            6 channel-specific attributes found:
                                    attr  0: label ERROR: Function not implemented (38)
                                    attr  1: sampling_frequency value: 500000000
                                    attr  2: scale value: 0.103759
                                    attr  3: scale_available value: 0.089111 0.096435 0.103759 0.111083 0.118408 0.125732
                                    attr  4: test_mode value: off
                                    attr  5: test_mode_available value: off midscale_short pos_fullscale neg_fullscale checkerboard pn_long pn_short one_zero_toggle user ramp
                    2 device-specific attributes found:
                                    attr  0: sync_start_enable value: disarm
                                    attr  1: sync_start_enable_available value: arm
                    2 buffer-specific attributes found:
                                    attr  0: data_available value: 0
                                    attr  1: length_align_bytes value: 16
                    3 debug attributes found:
                                    debug attr  0: status value: JESD204 PLL is locked
    SYSREF counter: 198
    SYSREF hold/setup status: Possible hold error (f/0)
    SYSREF divider phase 1 * 1/2 cycles delayed
                                    debug attr  1: pseudorandom_err_check value: CH0 : PN9 : Out of Sync : PN Error
    CH1 : PN9 : Out of Sync : PN Error
                                    debug attr  2: direct_reg_access value: 0x0
                    No trigger on this device
            iio_sysfs_trigger:
                    0 channels found:
                    2 device-specific attributes found:
                                    attr  0: add_trigger ERROR: Permission denied (13)
                                    attr  1: remove_trigger ERROR: Permission denied (13)
                    No trigger on this device
    

    -Prashant

  • here we go - Link clock is doubled.

    Link Status DATA
    Measured Link Clock (MHz) 249.998
    Reported Link Clock (MHz) 250.000
    Measured Device Clock (MHz) 250.000
    Reported Device Clock (MHz) 250.000
    Desired Device Clock (MHz) 125.000
    Lane rate (MHz) 5000.000
    Lane rate / 40 (MHz) 125.000
    LMFC rate (MHz) 15.625

    This is easy to fix -

    ad9523_0_c4:channel@4 {
    reg = <4>;
    adi,extended-name = "ADC_CLK_FMC";
    adi,driver-mode = <3>;
    adi,divider-phase = <1>;
    adi,channel-divider = <2>;
    };

    axi_ad9680_adxcvr: axi-adxcvr-rx@44a50000 {
    compatible = "adi,axi-adxcvr-1.0";
    reg = <0x44a50000 0x1000>;

    clocks = <&clk0_ad9523 4>;
    clock-names = "conv";

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

    adi,sys-clk-select = <XCVR_QPLL>;
    adi,out-clk-select = <XCVR_REFCLK_DIV2>;
    adi,use-lpm-enable;

    /* jesd204-fsm support */
    jesd204-device;
    #jesd204-cells = <2>;
    };

    Link clock is adxcvr out clock.

    While adxcvr refclk is AD9523 channel 4 (1000/2=500MHz)

    So adxcvr outclk is 500/2 = 250MHz

    But we need 125MHz...

    So simply change the AD9523 channel 4 output divider 2->4

    adi,channel-divider = <4>;

    here https://github.com/analogdevicesinc/linux/blob/master/arch/arm/boot/dts/adi-daq2.dtsi#L67

    -Michael

  • Hello Michael,

    I changed the AD9523 channel 4 output divider value from 2 to 4.

    channel@4 {
    reg = <0x04>;
    adi,extended-name = "ADC_CLK_FMC";
    adi,driver-mode = <0x03>;
    adi,divider-phase = <0x01>;
    adi,channel-divider = <0x04>;
    phandle = <0x35>;
    };

    But the output remains the same as earlier (noisy). No improvement.

    PFA the output of the jesd_status -s command after the change in AD9523 channel 4 output divider value for your reference.

    (DEVICES) Found 2 JESD204 Link Layer peripherals
    
      (0): axi-jesd204-rx/44aa0000.axi-jesd204-rx  [*]
      (1): axi-jesd204-tx/44a90000.axi-jesd204-tx
    
      (STATUS)
      Link is                      enabled
      Link Status                  DATA
      Measured Link Clock (MHz)    250.000
      Reported Link Clock (MHz)    125.000
      Measured Device Clock (MHz)  250.000
      Reported Device Clock (MHz)  125.000
      Desired Device Clock (MHz)   125.000
      Lane rate (MHz)              5000.000
      Lane rate / 40 (MHz)         125.000
      LMFC rate (MHz)              15.625
      SYSREF captured              Yes
      SYSREF alignment error       No
      SYNC~
    
      (LANE STATUS)
      Lane#                             0      1      2      3                     t
    x Errors                            0      0      2      0
    

    Do i have to change any other parameters as well ?

    -Prashant 

  • This is interesting, this looks like AD9523 channel 4 is not providing the reference clock.

    We need to have a look there. Can you take a look and see if the other link Measured clock changed instead?

    -Michael 

  • Hi Prashant,

    On ZC706 both links use AD9523 channel 9 as reference.

    In order to support your use case please use the configuration below.

    diff --git a/arch/arm/boot/dts/adi-daq2.dtsi b/arch/arm/boot/dts/adi-daq2.dtsi
    
    index ed224f3d259f..896a7445b895 100644
    
    --- a/arch/arm/boot/dts/adi-daq2.dtsi
    
    +++ b/arch/arm/boot/dts/adi-daq2.dtsi
    
    @@ -104,7 +104,7 @@ ad9523_0_c9:channel@9 {
    
                            adi,extended-name = "FMC_DAC_REF_CLK";
    
                            adi,driver-mode = <3>;
    
                            adi,divider-phase = <1>;
    
    -                       adi,channel-divider = <2>;
    
    +                       adi,channel-divider = <4>;
    
                    };
    
     
    
                    ad9523_0_c13:channel@13 {
    
    @@ -112,7 +112,7 @@ ad9523_0_c13:channel@13 {
    
                            adi,extended-name = "ADC_CLK";
    
                            adi,driver-mode = <3>;
    
                            adi,divider-phase = <1>;
    
    -                       adi,channel-divider = <1>;
    
    +                       adi,channel-divider = <2>;
    
                    };
    
            };
    
     
    
    @@ -179,7 +179,7 @@ adc0_ad9680: ad9680@2 {
    
     
    
                    adi,powerdown-mode = <AD9208_PDN_MODE_POWERDOWN>;
    
     
    
    -               adi,sampling-frequency = /bits/ 64 <1000000000>;
    
    +               adi,sampling-frequency = /bits/ 64 <500000000>;
    
                    adi,input-clock-divider-ratio = <1>;
    
     
    
                    adi,sysref-lmfc-offset = <0>;
    
    diff --git a/arch/arm/boot/dts/zynq-zc706-adv7511-fmcdaq2.dts b/arch/arm/boot/dts/zynq-zc706-adv7511-fmcdaq2.dts
    
    index 21efc647d4e0..fdaaac04fb2e 100644
    
    --- a/arch/arm/boot/dts/zynq-zc706-adv7511-fmcdaq2.dts
    
    +++ b/arch/arm/boot/dts/zynq-zc706-adv7511-fmcdaq2.dts
    
    @@ -172,7 +172,7 @@ axi_ad9144_adxcvr: axi-adxcvr-tx@44a60000 {
    
                    clock-output-names = "dac_gt_clk", "tx_out_clk";
    
     
    
                    adi,sys-clk-select = <XCVR_QPLL>;
    
    -               adi,out-clk-select = <XCVR_REFCLK_DIV2>;
    
    +               adi,out-clk-select = <XCVR_REFCLK>;
    
                    adi,use-lpm-enable;
    
     
    
                    /* jesd204-fsm support */
    
    

    -Michael

  • Hello Michael,

    As mentioned, I have changed the

    (1.) Channel divider value of ad9523 channel 9 from 2 to 4.
    (2.) Channel divider value of ad9523 channel 13 from 1 to 2.
    (3.) Sampling frequency of ad9680 in dts file is given as:

    adi,sampling-frequency = <0x00 0x3b9aca00>;

    and i have changed it to:

    adi,sampling-frequency = <0x00 0x1dcd6500>; // 0x1dcd6500 is equal to 500000000

    (4.) In dts file:


    axi-adxcvr-tx@44a60000 {
    compatible = "adi,axi-adxcvr-1.0";
    reg = <0x44a60000 0x1000>;
    clocks = <0x09 0x09>;
    clock-names = "conv";
    #clock-cells = <0x01>;
    clock-output-names = "dac_gt_clk\0tx_out_clk";
    adi,sys-clk-select = <0x03>;
    adi,out-clk-select = <0x04>;
    adi,use-lpm-enable;
    jesd204-device;
    #jesd204-cells = <0x02>;
    phandle = <0x20>;
    };

    Not sure how to modify it to as below:
    adi,out-clk-select = <XCVR_REFCLK>;
    (since value in dts file is written in hexadecimal format)

    -Prashant

  • Not sure how to modify it to as below:
    adi,out-clk-select = <XCVR_REFCLK>;
    (since value in dts file is written in hexadecimal format)

    Please see here:

    https://github.com/analogdevicesinc/linux/blob/master/include/dt-bindings/jesd204/adxcvr.h

    /*
    * adi,sys-clk-select
    */
    #define XCVR_CPLL 0 /* CPLL: GTHE3, GTHE4, GTYE4, GTXE2 */
    #define XCVR_QPLL1 2 /* QPLL1: GTHE3, GTHE4, GTYE4 */
    #define XCVR_QPLL 3 /* QPLL0: GTHE3, GTHE4, GTYE4, GTXE2 */

    /*
    * adi,out-clk-select
    */
    #define XCVR_OUTCLK_PCS 1
    #define XCVR_OUTCLK_PMA 2
    #define XCVR_REFCLK 3
    #define XCVR_REFCLK_DIV2 4
    #define XCVR_PROGDIV_CLK 5 /* GTHE3, GTHE4, GTYE4 only */

    -Michael