Post Go back to editing

QEC INIT

hello i need to disable TX_QEC_init i dont understand how to do it?

in ug-992 Rev. B | Page 73 i see TX_QEC_INIT it turns out it is disabled by default in git repo r2019_2?

uint32_t initCalMask = TX_BB_FILTER | ADC_TUNER | TIA_3DB_CORNER | DC_OFFSET | TX_ATTENUATION_DELAY | RX_GAIN_DELAY | FLASH_CAL | PATH_DELAY | TX_LO_LEAKAGE_INTERNAL | TX_QEC_INIT | LOOPBACK_RX_LO_DELAY | LOOPBACK_RX_RX_QEC_INIT | RX_LO_DELAY | RX_QEC_INIT; 

original question ez.analog.com/.../changing-the-vcxo-80-mhz-ad9375

Parents
  • Hi,

    TX_QEC_INIT is always run by default.

    You need to modify the source code if you need to skip it.

    When using the jesd204-fsm implementation, these is the place where you need to clear the flag from the mask. 

    https://github.com/analogdevicesinc/linux/blob/master/drivers/iio/adc/adrv9009.c#L6563

    In case you still use the old/deprecated mode, you need to modify the mask here: 

    https://github.com/analogdevicesinc/linux/blob/master/drivers/iio/adc/adrv9009.c#L529

    -Michael

  • Hello, I tried to disable it, but the error still appears.(ez.analog.com/.../ad9375-zc706)

    axi_sysid 45000000.axi-sysid-0: [adrv9371x] on [zc706] git <43cdc6263baf3edb166a3def6fab15bc81c4c729> clean [2022-02-17 11:38:05] UTC
    fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
    usbcore: registered new interface driver snd-usb-audio
    NET: Registered protocol family 10
    Segment Routing with IPv6
    sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    NET: Registered protocol family 17
    NET: Registered protocol family 36
    Registering SWP/SWPB emulation handler
    [drm] Cannot find any crtc or sizes
    [drm] Initialized axi_hdmi_drm 1.0.0 20120930 for 70e00000.axi_hdmi on minor 0
    ad9371 spi0.1: ad9371_probe : enter
    axi_adxcvr 44a60000.axi-adxcvr-rx: AXI-ADXCVR-RX (17.01.a) using CPLL on GTX2 at 0x44A60000. Number of lanes: 2.
    axi_adxcvr 44a50000.axi-adxcvr-rx-os: AXI-ADXCVR-RX (17.01.a) using CPLL on GTX2 at 0x44A50000. Number of lanes: 2.
    axi_adxcvr 44a80000.axi-adxcvr-tx: AXI-ADXCVR-TX (17.01.a) using QPLL on GTX2 at 0x44A80000. Number of lanes: 4.
    asoc-simple-card adv7511_hdmi_snd: spdif-hifi <-> 75c00000.axi-spdif-tx mapping ok
    ad9371 spi0.1: ad9371_probe : enter
    [drm] Cannot find any crtc or sizes
    ERROR: 364: MYKONOS_waitArmCmdStatus() exited due to ARM error for the desired ARM opcode
    ERROR: 282: Unknown error was encountered.
    ad9371 spi0.1: calsDoneLifetime 0x47, calsDoneLastRun 0x47, calsMinimum 0x4F, initErrCal 0x3, initErrCode 0x1
    ad9371 spi0.1: initCalsCompleted 0x47
    ad9371 spi0.1: errorWord 0x2, statusWord 0x0
    ad9371 spi0.1: ArmCmdStatusByte 0xE
    ad9371 spi0.1: deframerStatus (0x60)
    WARNING: 136: Mismatch detected in MYKONOS_jesd204bIlasCheck()
    ad9371 spi0.1: ILAS mismatch: c7f8
    ad9371 spi0.1: ILAS lanes per converter did not match
    ad9371 spi0.1: ILAS scrambling did not match
    ad9371 spi0.1: ILAS octets per frame did not match
    ad9371 spi0.1: ILAS frames per multiframe did not match
    ad9371 spi0.1: ILAS number of converters did not match
    ad9371 spi0.1: ILAS sample resolution did not match
    ad9371 spi0.1: ILAS control bits per sample did not match
    ad9371 spi0.1: ILAS bits per sample did not match
    ad9371 spi0.1: ILAS checksum did not match
    ERROR: 258: Device not in radioOff/IDLE state. Error in MYKONOS_enableTrackingCals()
    ad9371 spi0.1: Device not in radioOff/IDLE state. Error in MYKONOS_enableTrackingCals()
    (258)
    random: crng init done
    ERROR: 364: MYKONOS_waitArmCmdStatus() exited due to ARM error for the desired ARM opcode
    ERROR: 282: Unknown error was encountered.
    ad9371 spi0.1: calsDoneLifetime 0x47, calsDoneLastRun 0x47, calsMinimum 0x4F, initErrCal 0x3, initErrCode 0x1
    ad9371 spi0.1: initCalsCompleted 0x47
    ad9371 spi0.1: errorWord 0x2, statusWord 0x0
    ad9371 spi0.1: ArmCmdStatusByte 0xE
    ad9371 spi0.1: deframerStatus (0x61)
    WARNING: 136: Mismatch detected in MYKONOS_jesd204bIlasCheck()
    ad9371 spi0.1: ILAS mismatch: c7f8
    ad9371 spi0.1: ILAS lanes per converter did not match
    ad9371 spi0.1: ILAS scrambling did not match
    ad9371 spi0.1: ILAS octets per frame did not match
    ad9371 spi0.1: ILAS frames per multiframe did not match
    ad9371 spi0.1: ILAS number of converters did not match
    ad9371 spi0.1: ILAS sample resolution did not match
    ad9371 spi0.1: ILAS control bits per sample did not match
    ad9371 spi0.1: ILAS bits per sample did not match
    ad9371 spi0.1: ILAS checksum did not match
    ERROR: 258: Device not in radioOff/IDLE state. Error in MYKONOS_enableTrackingCals()
    ad9371 spi0.1: Device not in radioOff/IDLE state. Error in MYKONOS_enableTrackingCals()
    (258)
    ad9371: probe of spi0.1 failed with error -14
    input: gpio_keys as /devices/soc0/gpio_keys/input/input0
    rtc-pcf8563 5-0051: setting system clock to 2022-02-28 05:38:15 UTC (1646026695)
    clk: Not disabling unused clocks
    ALSA device list:
    #0: HDMI monitor
    EXT4-fs warning (device mmcblk0p2): ext4_clear_journal_err:4946: Filesystem error recorded from previous mount: IO failure
    EXT4-fs warning (device mmcblk0p2): ext4_clear_journal_err:4947: Marking fs in need of filesystem check.
    EXT4-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended
    EXT4-fs (mmcblk0p2): recovery complete
    EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    VFS: Mounted root (ext4 filesystem) on device 179:2.
    devtmpfs: mounted
    Freeing unused kernel memory: 1024K
    Run /sbin/init as init process
    systemd[1]: Failed to lookup module alias 'autofs4': Function not implemented
    systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
    systemd[1]: Detected architecture arm.

    Welcome to Kuiper GNU/Linux 10 (buster)!

  • Just type git diff.

    /linux$ git diff
    diff --git a/drivers/iio/adc/ad9371.c b/drivers/iio/adc/ad9371.c
    index b05e13c8956d..cb735de2b9bc 100644
    --- a/drivers/iio/adc/ad9371.c
    +++ b/drivers/iio/adc/ad9371.c
    @@ -3114,7 +3114,7 @@ static struct ad9371_phy_platform_data
            AD9371_OF_PROP("adi,default-initial-calibrations-mask", &phy->init_cal_mask,
                            TX_BB_FILTER | ADC_TUNER | TIA_3DB_CORNER | DC_OFFSET |
                            TX_ATTENUATION_DELAY | RX_GAIN_DELAY | FLASH_CAL |
    -                       PATH_DELAY | TX_LO_LEAKAGE_INTERNAL | TX_QEC_INIT |
    +                       PATH_DELAY | TX_LO_LEAKAGE_INTERNAL | /*TX_QEC_INIT |*/
                            LOOPBACK_RX_LO_DELAY | LOOPBACK_RX_RX_QEC_INIT |
                            RX_LO_DELAY | RX_QEC_INIT |
                            (IS_AD9375(phy) ? DPD_INIT | CLGC_INIT | VSWR_INIT: 0));
    

    I'm sure you have some settings in your devicetree which are causing these issues.

    -Michael

  • diff --git a/drivers/iio/adc/ad9371.c b/drivers/iio/adc/ad9371.c
    index 68fef24..930ebbf 100644
    --- a/drivers/iio/adc/ad9371.c
    +++ b/drivers/iio/adc/ad9371.c
    @@ -570,7 +570,8 @@ static int ad9371_init_cal(struct ad9371_rf_phy *phy, uint32_t initCalMask)
     	uint8_t status = 0;
     	mykonosInitCalStatus_t initCalStatus;
     	mykonosErr_t mykError;
    -
    +	
    +	printk("!!!!My Debugger init_call_mask %X\n", initCalMask);
     	/*****************************************************/
     	/*** Mykonos ARM Initialization Calibrations       ***/
     	/*****************************************************/
    @@ -661,6 +662,8 @@ static int ad9371_setup(struct ad9371_rf_phy *phy)
     			       TX_ATTENUATION_DELAY | RX_GAIN_DELAY | FLASH_CAL |
     			       PATH_DELAY | LOOPBACK_RX_LO_DELAY | LOOPBACK_RX_RX_QEC_INIT |
     			       RX_LO_DELAY;
    +	
    +	printk("My Debugger init_call_mask %X\n", initCalMask);
     
     	if (has_rx_and_en(phy))
     		phy->tracking_cal_mask |= TRACK_RX1_QEC | TRACK_RX2_QEC;
    @@ -891,8 +894,9 @@ static int ad9371_setup(struct ad9371_rf_phy *phy)
     	/*****************************************************/
     	/*** Mykonos ARM Initialization Calibrations       ***/
     	/*****************************************************/
    -
    +	printk("My Debugger init_call_mask %X\n", initCalMask);
     	ret = ad9371_init_cal(phy, initCalMask);
    +	printk("My Debugger init_call_mask %X\n", initCalMask);
     	if (ret != MYKONOS_ERR_OK) {
     		dev_err(&phy->spi->dev, "%s (%d)",
     			getMykonosErrorMessage(ret), ret);
    @@ -1203,7 +1207,7 @@ static ssize_t ad9371_phy_store(struct device *dev,
     				phy->cal_mask &= ~val;
     		} else if (enable) {
     			ad9371_set_radio_state(phy, RADIO_FORCE_OFF);
    -
    +				
     			ret  = ad9371_init_cal(phy, phy->cal_mask);
     			if (ret != MYKONOS_ERR_OK) {
     				dev_err(&phy->spi->dev, "%s (%d)",
    @@ -3013,7 +3017,7 @@ static struct ad9371_phy_platform_data
     	AD9371_OF_PROP("adi,default-initial-calibrations-mask", &phy->init_cal_mask,
     			TX_BB_FILTER | ADC_TUNER | TIA_3DB_CORNER | DC_OFFSET |
     			TX_ATTENUATION_DELAY | RX_GAIN_DELAY | FLASH_CAL |
    -			PATH_DELAY | TX_LO_LEAKAGE_INTERNAL | TX_QEC_INIT |
    +			PATH_DELAY | TX_LO_LEAKAGE_INTERNAL | /*TX_QEC_INIT |*/
     			LOOPBACK_RX_LO_DELAY | LOOPBACK_RX_RX_QEC_INIT |
     			RX_LO_DELAY | RX_QEC_INIT |
     			(IS_AD9375(phy) ? DPD_INIT | CLGC_INIT | VSWR_INIT: 0));
    @@ -4414,8 +4418,9 @@ static int ad9371_jesd204_setup_stage1(struct jesd204_dev *jdev,
     			       TX_ATTENUATION_DELAY | RX_GAIN_DELAY | FLASH_CAL |
     			       PATH_DELAY | LOOPBACK_RX_LO_DELAY | LOOPBACK_RX_RX_QEC_INIT |
     			       RX_LO_DELAY;
    -
    +	printk("My Debugger init_call_mask %X\n", phy->init_cal_mask);
     	ret = ad9371_init_cal(phy, phy->init_cal_mask);
    +	printk("My Debugger init_call_mask %X\n", phy->init_cal_mask);
     	if (ret != MYKONOS_ERR_OK) {
     		dev_err(&phy->spi->dev, "%s (%d)",
     			getMykonosErrorMessage(ret), ret);
    

  • You don't have any modifications in your devicetree?

    I don't see any errors/issues on my side.

    Starting kernel ...
    
    Booting Linux on physical CPU 0x0
    Linux version 5.10.0-19304-g4ed3b3ab1edb (michael@mhenneri-D06) (arm-linux-gnueabihf-gcc (GCC) 8.2.0, GNU ld (Linaro_Binutils-) 2.31) #2961 SMP PREEMPT Thu Mar 3 12:47:11 CET 2022
    CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
    CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    OF: fdt: Machine model: Xilinx Zynq ZC706
    OF: fdt: earlycon: stdout-path /amba@0/uart@E0001000 not found
    Memory policy: Data cache writealloc
    cma: Reserved 128 MiB at 0x38000000
    Zone ranges:
      Normal   [mem 0x0000000000000000-0x000000002fffffff]
      HighMem  [mem 0x0000000030000000-0x000000003fffffff]
    Movable zone start for each node
    Early memory node ranges
      node   0: [mem 0x0000000000000000-0x000000003fffffff]
    Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
    percpu: Embedded 15 pages/cpu s29900 r8192 d23348 u61440
    Built 1 zonelists, mobility grouping on.  Total pages: 260608
    Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait clk_ignore_unused cpuidle.off=1
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
    mem auto-init: stack:off, heap alloc:off, heap free:off
    Memory: 887372K/1048576K available (10240K kernel code, 774K rwdata, 7304K rodata, 1024K init, 170K bss, 30132K reserved, 131072K cma-reserved, 131072K highmem)
    rcu: Preemptible hierarchical RCU implementation.
    rcu:    RCU event tracing is enabled.
    rcu:    RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
            Trampoline variant of Tasks RCU enabled.
    rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
    rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    efuse mapped to (ptrval)
    slcr mapped to (ptrval)
    L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
    L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
    L2C-310 erratum 769419 enabled
    L2C-310 enabling early BRESP for Cortex-A9
    L2C-310 full line of zeros enabled for Cortex-A9
    L2C-310 ID prefetch enabled, offset 1 lines
    L2C-310 dynamic clock gating enabled, standby mode enabled
    L2C-310 cache controller enabled, 8 ways, 512 kB
    L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
    random: get_random_bytes called from start_kernel+0x340/0x4cc with crng_init=0
    zynq_clock_init: clkc starts at (ptrval)
    Zynq clock init
    sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
    clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
    Switching to timer-based delay loop, resolution 3ns
    clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
    timer #0 at (ptrval), irq=25
    Console: colour dummy device 80x30
    Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
    Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
    CPU: Testing write buffer coherency: ok
    CPU0: Spectre v2: using BPIALL workaround
    CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    Setting up static identity map for 0x100000 - 0x100060
    rcu: Hierarchical SRCU implementation.
    smp: Bringing up secondary CPUs ...
    CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    CPU1: Spectre v2: using BPIALL workaround
    smp: Brought up 1 node, 2 CPUs
    SMP: Total of 2 processors activated (1333.33 BogoMIPS).
    CPU: All CPU(s) started in SVC mode.
    devtmpfs: initialized
    VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    futex hash table entries: 512 (order: 3, 32768 bytes, linear)
    pinctrl core: initialized pinctrl subsystem
    NET: Registered protocol family 16
    DMA: preallocated 256 KiB pool for atomic coherent allocations
    thermal_sys: Registered thermal governor 'step_wise'
    hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    hw-breakpoint: maximum watchpoint size is 4 bytes.
    zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
    e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 33, base_baud = 3125000) is a xuartps
    printk: console [ttyPS0] enabled
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    mc: Linux media interface: v0.10
    videodev: Linux video capture interface: v2.00
    jesd204: created con: id=0, topo=0, link=0, /axi/spi@e0006000/ad9528-1@0 <-> /fpga-axi@0/axi-adxcvr-tx@44a80000
    jesd204: created con: id=1, topo=0, link=2, /axi/spi@e0006000/ad9528-1@0 <-> /fpga-axi@0/axi-adxcvr-rx-os@44a50000
    jesd204: created con: id=2, topo=0, link=1, /axi/spi@e0006000/ad9528-1@0 <-> /fpga-axi@0/axi-adxcvr-rx@44a60000
    jesd204: created con: id=3, topo=0, link=2, /fpga-axi@0/axi-adxcvr-rx-os@44a50000 <-> /fpga-axi@0/axi-jesd204-rx@44ab0000
    jesd204: created con: id=4, topo=0, link=0, /fpga-axi@0/axi-adxcvr-tx@44a80000 <-> /fpga-axi@0/axi-jesd204-tx@44a90000
    jesd204: created con: id=5, topo=0, link=1, /fpga-axi@0/axi-adxcvr-rx@44a60000 <-> /fpga-axi@0/axi-jesd204-rx@44aa0000
    jesd204: created con: id=6, topo=0, link=0, /fpga-axi@0/axi-jesd204-tx@44a90000 <-> /fpga-axi@0/axi-ad9371-tx-hpc@44a04000
    jesd204: created con: id=7, topo=0, link=1, /fpga-axi@0/axi-jesd204-rx@44aa0000 <-> /axi/spi@e0006000/ad9371-phy@1
    jesd204: created con: id=8, topo=0, link=2, /fpga-axi@0/axi-jesd204-rx@44ab0000 <-> /axi/spi@e0006000/ad9371-phy@1
    jesd204: created con: id=9, topo=0, link=0, /fpga-axi@0/axi-ad9371-tx-hpc@44a04000 <-> /axi/spi@e0006000/ad9371-phy@1
    jesd204: /axi/spi@e0006000/ad9371-phy@1: JESD204[0] transition uninitialized -> initialized
    jesd204: /axi/spi@e0006000/ad9371-phy@1: JESD204[1] transition uninitialized -> initialized
    jesd204: /axi/spi@e0006000/ad9371-phy@1: JESD204[2] transition uninitialized -> initialized
    jesd204: found 9 devices and 1 topologies
    FPGA manager framework
    Advanced Linux Sound Architecture Driver Initialized.
    clocksource: Switched to clocksource arm_global_timer
    NET: Registered protocol family 2
    tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
    TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
    TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
    TCP: Hash tables configured (established 8192 bind 8192)
    UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
    UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
    NET: Registered protocol family 1
    hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
    hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
    workingset: timestamp_bits=30 max_order=18 bucket_order=0
    bounce: pool size: 64 pages
    io scheduler mq-deadline registered
    io scheduler kyber registered
    zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
    dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
    dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
    brd: module loaded
    loop: module loaded
    Registered mathworks_ip class
    spi-nor spi1.0: found s25fl128s1, expected n25q128a11
    random: fast init done
    random: crng init done
    spi-nor spi1.0: trying to lock already unlocked area
    spi-nor spi1.0: s25fl128s1 (32768 Kbytes)
    5 fixed-partitions partitions found on MTD device spi1.0
    Creating 5 MTD partitions on "spi1.0":
    0x000000000000-0x000000500000 : "boot"
    0x000000500000-0x000000520000 : "bootenv"
    0x000000520000-0x000000540000 : "config"
    0x000000540000-0x000000fc0000 : "image"
    0x000000fc0000-0x000002000000 : "spare"
    MACsec IEEE 802.1AE
    libphy: Fixed MDIO Bus: probed
    tun: Universal TUN/TAP device driver, 1.6
    libphy: MACB_mii_bus: probed
    macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 36 (00:0a:35:00:01:22)
    usbcore: registered new interface driver asix
    usbcore: registered new interface driver ax88179_178a
    usbcore: registered new interface driver cdc_ether
    usbcore: registered new interface driver net1080
    usbcore: registered new interface driver cdc_subset
    usbcore: registered new interface driver zaurus
    usbcore: registered new interface driver cdc_ncm
    ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    usbcore: registered new interface driver uas
    usbcore: registered new interface driver usb-storage
    usbcore: registered new interface driver usbserial_generic
    usbserial: USB Serial support registered for generic
    usbcore: registered new interface driver ftdi_sio
    usbserial: USB Serial support registered for FTDI USB Serial Device
    usbcore: registered new interface driver upd78f0730
    usbserial: USB Serial support registered for upd78f0730
    ULPI transceiver vendor/product ID 0x0424/0x0007
    Found SMSC USB3320 ULPI transceiver.
    ULPI integrity check: passed.
    ci_hdrc ci_hdrc.0: EHCI Host Controller
    ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
    ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
    usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
    usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: EHCI Host Controller
    usb usb1: Manufacturer: Linux 5.10.0-19304-g4ed3b3ab1edb ehci_hcd
    usb usb1: SerialNumber: ci_hdrc.0
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    i2c /dev entries driver
    si570 1-005d: registered, current frequency 156250000 Hz
    i2c i2c-0: Added multiplexed i2c bus 1
    adv7511 2-0039: supply avdd not found, using dummy regulator
    adv7511 2-0039: supply dvdd not found, using dummy regulator
    adv7511 2-0039: supply pvdd not found, using dummy regulator
    adv7511 2-0039: supply bgvdd not found, using dummy regulator
    adv7511 2-0039: supply dvdd-3v not found, using dummy regulator
    i2c i2c-0: Added multiplexed i2c bus 2
    at24 3-0054: supply vcc not found, using dummy regulator
    at24 3-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
    i2c i2c-0: Added multiplexed i2c bus 3
    pca953x 4-0021: supply vcc not found, using dummy regulator
    pca953x 4-0021: using no AI
    i2c i2c-0: Added multiplexed i2c bus 4
    rtc-pcf8563 5-0051: registered as rtc0
    rtc-pcf8563 5-0051: setting system clock to 2022-03-03T11:48:01 UTC (1646308081)
    i2c i2c-0: Added multiplexed i2c bus 5
    at24 6-0050: supply vcc not found, using dummy regulator
    at24 6-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
    i2c i2c-0: Added multiplexed i2c bus 6
    i2c i2c-0: Added multiplexed i2c bus 7
    i2c i2c-0: Added multiplexed i2c bus 8
    pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
    usbcore: registered new interface driver uvcvideo
    USB Video Class driver (1.1.1)
    gspca_main: v2.14.0 registered
    cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
    Xilinx Zynq CpuIdle Driver started
    failed to register cpuidle driver
    sdhci: Secure Digital Host Controller Interface driver
    sdhci: Copyright(c) Pierre Ossman
    sdhci-pltfm: SDHCI platform and OF driver helper
    ledtrig-cpu: registered to indicate activity on CPUs
    hid: raw HID events driver (C) Jiri Kosina
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    ad9371 spi0.1: ad9371_probe : enter
    mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
    ad9528 spi0.0: supply vcc not found, using dummy regulator
    mmc0: new high speed SDXC card at address aaaa
    mmcblk0: mmc0:aaaa SR64G 59.5 GiB 
     mmcblk0: p1 p2 p3
    jesd204: /axi/spi@e0006000/ad9528-1@0,jesd204:0,parent=spi0.0: Using as SYSREF provider
    axi_adxcvr 44a60000.axi-adxcvr-rx: AXI-ADXCVR-RX (17.01.a) using CPLL on GTX2 at 0x44A60000. Number of lanes: 2.
    axi_adxcvr 44a50000.axi-adxcvr-rx-os: AXI-ADXCVR-RX (17.01.a) using CPLL on GTX2 at 0x44A50000. Number of lanes: 2.
    axi_adxcvr 44a80000.axi-adxcvr-tx: AXI-ADXCVR-TX (17.01.a) using QPLL on GTX2 at 0x44A80000. Number of lanes: 4.
    axi_sysid 45000000.axi-sysid-0: AXI System ID core version (1.00.a) found
    axi_sysid 45000000.axi-sysid-0: [adrv9371x] on [zc706] git <43c6ae1ca9faf268f30c7ef489f1428fc30a8b23> clean [2021-06-09 22:31:32] UTC
    fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
    usbcore: registered new interface driver snd-usb-audio
    NET: Registered protocol family 10
    Segment Routing with IPv6
    sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    NET: Registered protocol family 17
    NET: Registered protocol family 36
    Registering SWP/SWPB emulation handler
    [drm] Initialized axi_hdmi_drm 1.0.0 20120930 for 70e00000.axi_hdmi on minor 0
    axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes
    ad9371 spi0.1: ad9371_probe : enter
    cf_axi_dds 44a04000.axi-ad9371-tx-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0x44A04000 mapped to 0xb5ef0c6f, probed DDS AD9371
    axi-jesd204-rx 44aa0000.axi-jesd204-rx: AXI-JESD204-RX (1.04.a) at 0x44AA0000. Encoder 8b10b, width 4/0, lanes 2, jesd204-fsm.
    axi-jesd204-rx 44ab0000.axi-jesd204-rx: AXI-JESD204-RX (1.04.a) at 0x44AB0000. Encoder 8b10b, width 4/0, lanes 2, jesd204-fsm.
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition initialized -> probed
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition initialized -> probed
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition initialized -> probed
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition probed -> idle
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition probed -> idle
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition probed -> idle
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition idle -> device_init
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition idle -> device_init
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition idle -> device_init
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition device_init -> link_init
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition device_init -> link_init
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition device_init -> link_init
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition link_init -> link_supported
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition link_init -> link_supported
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition link_init -> link_supported
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition link_supported -> link_pre_setup
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition link_supported -> link_pre_setup
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition link_supported -> link_pre_setup
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition link_pre_setup -> clk_sync_stage1
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition link_pre_setup -> clk_sync_stage1
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition link_pre_setup -> clk_sync_stage1
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition clk_sync_stage1 -> clk_sync_stage2
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition clk_sync_stage1 -> clk_sync_stage2
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition clk_sync_stage1 -> clk_sync_stage2
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition clk_sync_stage2 -> clk_sync_stage3
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition clk_sync_stage2 -> clk_sync_stage3
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition clk_sync_stage2 -> clk_sync_stage3
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition clk_sync_stage3 -> link_setup
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition clk_sync_stage3 -> link_setup
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition clk_sync_stage3 -> link_setup
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition link_setup -> opt_setup_stage1
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition link_setup -> opt_setup_stage1
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition link_setup -> opt_setup_stage1
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition opt_setup_stage1 -> opt_setup_stage2
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition opt_setup_stage1 -> opt_setup_stage2
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition opt_setup_stage1 -> opt_setup_stage2
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition opt_setup_stage2 -> opt_setup_stage3
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition opt_setup_stage2 -> opt_setup_stage3
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition opt_setup_stage2 -> opt_setup_stage3
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition opt_setup_stage3 -> opt_setup_stage4
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition opt_setup_stage3 -> opt_setup_stage4
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition opt_setup_stage3 -> opt_setup_stage4
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition opt_setup_stage4 -> opt_setup_stage5
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition opt_setup_stage4 -> opt_setup_stage5
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition opt_setup_stage4 -> opt_setup_stage5
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition opt_setup_stage5 -> clocks_enable
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition opt_setup_stage5 -> clocks_enable
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition opt_setup_stage5 -> clocks_enable
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition clocks_enable -> link_enable
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition clocks_enable -> link_enable
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition clocks_enable -> link_enable
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition link_enable -> link_running
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition link_enable -> link_running
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition link_enable -> link_running
    ad9371 spi0.1: AD9371 Rev 3, Firmware 5.2.2 API version: 1.5.2.3566 successfully initialized via jesd204-fsm
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[0] transition link_running -> opt_post_running_stage
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[1] transition link_running -> opt_post_running_stage
    jesd204: /axi/spi@e0006000/ad9371-phy@1,jesd204:1,parent=spi0.1: JESD204[2] transition link_running -> opt_post_running_stage
    axi-jesd204-tx 44a90000.axi-jesd204-tx: AXI-JESD204-TX (1.03.a) at 0x44A90000. Encoder 8b10b, width 4/0, lanes 4, jesd204-fsm.
    cf_axi_adc 44a00000.axi-ad9371-rx-hpc: ADI AIM (10.01.b) at 0x44A00000 mapped to 0xddf25141, probed ADC AD9371 as MASTER
    input: gpio_keys as /devices/soc0/gpio_keys/input/input0
    clk: Not disabling unused clocks
    ALSA device list:
      #0: HDMI monitor
    EXT4-fs (mmcblk0p2): recovery complete
    EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    VFS: Mounted root (ext4 filesystem) on device 179:2.
    devtmpfs: mounted
    Freeing unused kernel memory: 1024K
    Run /sbin/init as init process
    systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2)
    systemd[1]: Detected architecture arm.
    
    Welcome to Kuiper GNU/Linux 10 (buster)!
    

  • I make manual changes to the devicetree 

    199c199
    < 					adi,vcxo-freq = <80000000>;
    ---
    > 				adi,vcxo-freq = <0x7530000>;
    204,206c204
    < 				/*
    < 				//adi,pll1-feedback-div = <0x4>;
    < 
    ---
    > 				adi,pll1-feedback-div = <0x4>;
    208,210d205
    < 				*/
    < 				adi,pll2-m1-frequency = <1280000000>;
    < 				/*
    214d208
    < 				*/
    238c232
    < 					adi,channel-divider = <16>;
    ---
    > 					adi,channel-divider = <0xa>;
    247c241
    < 					adi,channel-divider = <16>;
    ---
    > 					adi,channel-divider = <0xa>;
    256c250
    < 					adi,channel-divider = <16>;
    ---
    > 					adi,channel-divider = <0xa>;
    265c259
    < 					adi,channel-divider = <16>;
    ---
    > 					adi,channel-divider = <0xa>;
    278,281c272,275
    < 				adi,clocks-clk-pll-vco-freq_khz = <9600000>;
    < 				adi,clocks-device-clock_khz = <80000>;
    < 				adi,clocks-clk-pll-hs-div = <4>;
    < 				adi,clocks-clk-pll-vco-div = <3>;
    ---
    > 				adi,clocks-clk-pll-vco-freq_khz = <0x960000>;
    > 				adi,clocks-device-clock_khz = <0x1e000>;
    > 				adi,clocks-clk-pll-hs-div = <0x4>;
    > 				adi,clocks-clk-pll-vco-div = <0x2>;
    283,342c277,322
    < 
    < 				adi,rx-profile-adc-div = <1>;
    < 				adi,rx-profile-rx-fir-decimation = <4>;
    < 				adi,rx-profile-rx-dec5-decimation = <5>;				
    < 				adi,rx-profile-en-high-rej-dec5 = <1>;			
    < 				adi,rx-profile-rhb1-decimation = <2>;
    < 				adi,rx-profile-iq-rate_khz = <40000>;
    < 				adi,rx-profile-rf-bandwidth_hz = <20000000>;
    < 				adi,rx-profile-rx-bbf-3db-corner_khz = <20000>;
    < 				
    < 				adi,obs-settings-obs-rx-channels-enable = <3>; /* Disable Sniffer Profile */
    < 				
    < 				adi,rx-profile-rx-fir-gain_db = <(-6)>;
    < 				adi,rx-profile-rx-fir-num-fir-coefs = <72>;
    < 				adi,rx-profile-rx-fir-coefs = < (-1) (-1) (0) (3) (5) (4) (0) (-7) (-9) (-4) (4) (6) (-7) (-28) (-32) (9) (92) (168) (147) (-30) (-324) (-562) (-507) (-17) (781) (1457) (1442) (382) (-1524) (-3406) (-4000) (-2241) (2096) (8083) (13870) (17424) (17424) (13870) (8083) (2096) (-2241) (-4000) (-3406) (-1524) (382) (1442) (1457) (781) (-17) (-507) (-562) (-324) (-30) (147) (168) (92) (9) (-32) (-28) (-7) (6) (4) (-4) (-9) (-7) (0) (4) (5) (3) (0) (-1) (-1)>;
    < 				adi,rx-profile-custom-adc-profile = <(460) (273) (182) (98) (1280) (112) (1505) (53) (1574) (25) (1069) (40) (48) (48) (31) (184)>;
    < 				adi,obs-profile-adc-div = <1>;
    < 				adi,obs-profile-rx-fir-decimation = <2>;
    < 				adi,obs-profile-rx-dec5-decimation = <5>;
    < 				adi,obs-profile-en-high-rej-dec5 = <1>;
    < 				adi,obs-profile-rhb1-decimation = <2>;				
    < 				adi,obs-profile-iq-rate_khz = <80000>;
    < 				adi,obs-profile-rf-bandwidth_hz = <60000000>;
    < 				adi,obs-profile-rx-bbf-3db-corner_khz = <30000>;
    < 				
    < 				
    < 				adi,obs-profile-rx-fir-gain_db = <0>;
    < 				adi,obs-profile-rx-fir-num-fir-coefs = <72>;
    < 				adi,obs-profile-rx-fir-coefs = <(-1) (-1) (0) (3) (5) (4) (0) (-7) (-9) (-4) (4) (6) (-7) (-28) (-32) (9) (92) (168) (147) (-30) (-324) (-562) (-507) (-17) (781) (1457) (1442) (382) (-1524) (-3406) (-4000) (-2241) (2096) (8083) (13870) (17424) (17424) (13870) (8083) (2096) (-2241) (-4000) (-3406) (-1524) (382) (1442) (1457) (781) (-17) (-507) (-562) (-324) (-30) (147) (168) (92) (9) (-32) (-28) (-7) (6) (4) (-4) (-9) (-7) (0) (4) (5) (3) (0) (-1) (-1)>;
    < 				adi,obs-profile-custom-adc-profile = <(460) (273) (182) (98) (1280) (112) (1505) (53) (1574) (25) (1069) (40) (48) (48) (31) (184)>;
    < 				adi,obs-settings-custom-loopback-adc-profile = <(460) (273) (182) (98) (1280) (112) (1505) (53) (1574) (25) (1069) (40) (48) (48) (31) (184)>;
    < 				
    < 				adi,tx-profile-dac-div = <1>;
    < 				
    < 				adi,tx-profile-tx-fir-interpolation = <2>;
    < 				adi,tx-profile-thb1-interpolation = <2>;
    < 				adi,tx-profile-thb2-interpolation = <2>;
    < 				adi,tx-profile-tx-input-hb-interpolation = <1>;	
    < 				adi,tx-profile-iq-rate_khz = <80000>;	
    < 				adi,tx-profile-primary-sig-bandwidth_hz = <20000000>;	
    < 				adi,tx-profile-rf-bandwidth_hz = <60000000>;	
    < 				adi,tx-profile-tx-dac-3db-corner_khz = <92000>;				
    < 				adi,tx-profile-tx-bbf-3db-corner_khz = <30000>;
    < 	
    < 				
    < 				adi,tx-profile-tx-fir-gain_db = <0>;
    < 				adi,tx-profile-tx-fir-num-fir-coefs = <32>;
    < 				adi,tx-profile-tx-fir-coefs = <(-42) (-49) (135) (153) (-313) (-386) (619) (819) (-1108) (-1646) (1799) (3288) (-2375) (-6142) (3518) (18087) (18087) (3518) (-6142) (-2375) (3288) (1799) (-1646) (-1108) (819) (619) (-386) (-313) (153) (135) (-49) (-42)>;
    < 
    < 				adi,sniffer-profile-adc-div = <1>;
    < 				adi,sniffer-profile-en-high-rej-dec5 = <1>;
    < 				adi,sniffer-profile-iq-rate_khz = <40000>;
    < 				adi,sniffer-profile-rf-bandwidth_hz = <20000000>;
    < 				adi,sniffer-profile-rhb1-decimation = <2>;
    < 				adi,sniffer-profile-rx-bbf-3db-corner_khz = <20000>;
    < 				adi,sniffer-profile-rx-dec5-decimation = <5>;
    < 				adi,sniffer-profile-rx-fir-decimation = <4>;		
    < 				/*adi,sniffer-profile-custom-adc-profile
    < 				adi,sniffer-profile-rx-fir*/
    < 				
    ---
    > 				adi,rx-profile-adc-div = <0x1>;
    > 				adi,rx-profile-en-high-rej-dec5 = <0x1>;
    > 				adi,rx-profile-iq-rate_khz = <0x1e000>;
    > 				adi,rx-profile-rf-bandwidth_hz = <0x5f5e100>;
    > 				adi,rx-profile-rhb1-decimation = <0x1>;
    > 				adi,rx-profile-rx-bbf-3db-corner_khz = <0x186a0>;
    > 				adi,rx-profile-rx-dec5-decimation = <0x5>;
    > 				adi,rx-profile-rx-fir-decimation = <0x2>;
    > 				adi,rx-profile-rx-fir-gain_db = <0xfffffffa>;
    > 				adi,rx-profile-rx-fir-num-fir-coefs = <0x30>;
    > 				adi,rx-profile-rx-fir-coefs = <0xfffbffe6 0x200033 0xffbdff8c 0x8c00d4 0xff04fe91 0x1ad0253 0xfd50fc5d 0x4300593 0xf98ef774 0xa340da8 0xed3ee259 0x25b87e3d 0x7e3d25b8 0xe259ed3e 0xda80a34 0xf774f98e 0x5930430 0xfc5dfd50 0x25301ad 0xfe91ff04 0xd4008c 0xff8cffbd 0x330020 0xffe6fffb>;
    > 				adi,rx-profile-custom-adc-profile = <0x2160182 0xc90062 0x50001eb 0x6370117 0x51a0068 0x318001c 0x300027 0x1700bb>;
    > 				adi,obs-profile-adc-div = <0x1>;
    > 				adi,obs-profile-en-high-rej-dec5 = <0x1>;
    > 				adi,obs-profile-iq-rate_khz = <0x3c000>;
    > 				adi,obs-profile-rf-bandwidth_hz = <0xbebc200>;
    > 				adi,obs-profile-rhb1-decimation = <0x1>;
    > 				adi,obs-profile-rx-bbf-3db-corner_khz = <0x186a0>;
    > 				adi,obs-profile-rx-dec5-decimation = <0x5>;
    > 				adi,obs-profile-rx-fir-decimation = <0x1>;
    > 				adi,obs-profile-rx-fir-gain_db = <0x6>;
    > 				adi,obs-profile-rx-fir-num-fir-coefs = <0x18>;
    > 				adi,obs-profile-rx-fir-coefs = <0xfedf0051 0xffe9ffaa 0xe5fe9e 0x18dff17 0xfd6f06a3 0xefb459e2 0xefb406a3 0xfd6fff17 0x18dfe9e 0xe5ffaa 0xffe90051 0xfedf0000>;
    > 				adi,obs-profile-custom-adc-profile = <0x1c2015d 0xc90062 0x50002da 0x65a0332 0x5c402dc 0x3420014 0x290024 0x1800c8>;
    > 				adi,obs-settings-custom-loopback-adc-profile = <0x2390171 0xc90062 0x5000123 0x6050095 0x528003a 0x3270022 0x300028 0x1700bd>;
    > 				adi,tx-profile-dac-div = <0x1>;
    > 				adi,tx-profile-iq-rate_khz = <0x3c000>;
    > 				adi,tx-profile-primary-sig-bandwidth_hz = <0x47868c0>;
    > 				adi,tx-profile-rf-bandwidth_hz = <0xbebc200>;
    > 				adi,tx-profile-thb1-interpolation = <0x2>;
    > 				adi,tx-profile-thb2-interpolation = <0x1>;
    > 				adi,tx-profile-tx-bbf-3db-corner_khz = <0x186a0>;
    > 				adi,tx-profile-tx-dac-3db-corner_khz = <0x2da78>;
    > 				adi,tx-profile-tx-fir-interpolation = <0x1>;
    > 				adi,tx-profile-tx-input-hb-interpolation = <0x1>;
    > 				adi,tx-profile-tx-fir-gain_db = <0x6>;
    > 				adi,tx-profile-tx-fir-num-fir-coefs = <0x10>;
    > 				adi,tx-profile-tx-fir-coefs = <0x6fef2 0xcbff58 0xffac03d7 0xf36a5297 0xf36a03d7 0xffacff58 0xcbfef2 0x60000>;
    > 				adi,sniffer-profile-adc-div = <0x1>;
    > 				adi,sniffer-profile-en-high-rej-dec5 = <0x0>;
    > 				adi,sniffer-profile-iq-rate_khz = <0x7800>;
    > 				adi,sniffer-profile-rf-bandwidth_hz = <0x1312d00>;
    > 				adi,sniffer-profile-rhb1-decimation = <0x2>;
    > 				adi,sniffer-profile-rx-bbf-3db-corner_khz = <0x186a0>;
    > 				adi,sniffer-profile-rx-dec5-decimation = <0x5>;
    > 				adi,sniffer-profile-rx-fir-decimation = <0x4>;
    

  • what am I doing wrong with my device tree?

  • Can you please add your modifications, into this file and then provide a git diff.

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

    Please also provide your filter wizard profile.

    -Michael

  • 19c19
    < 		adi,vcxo-freq = <80000000>;
    ---
    > 		adi,vcxo-freq = <122880000>;
    27,28c27,28
    < 		//adi,pll1-feedback-div = <4>;
    < 		//adi,pll1-charge-pump-current-nA = <5000>;
    ---
    > 		adi,pll1-feedback-div = <4>;
    > 		adi,pll1-charge-pump-current-nA = <5000>;
    32,35c32,34
    < 		//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-m1-frequency = <1280000000>;
    ---
    > 		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>;
    58c57
    < 			adi,channel-divider = <16>;
    ---
    > 			adi,channel-divider = <10>;
    67c66
    < 			adi,channel-divider = <16>;
    ---
    > 			adi,channel-divider = <10>;
    76c75
    < 			adi,channel-divider = <16>;
    ---
    > 			adi,channel-divider = <10>;
    85c84
    < 			adi,channel-divider = <16>;
    ---
    > 			adi,channel-divider = <10>;
    110,111c109,110
    < 		adi,clocks-clk-pll-vco-freq_khz = <9600000>;
    < 		adi,clocks-device-clock_khz = <80000>;
    ---
    > 		adi,clocks-clk-pll-vco-freq_khz = <9830400>;
    > 		adi,clocks-device-clock_khz = <122880>;
    113c112
    < 		adi,clocks-clk-pll-vco-div = <3>;
    ---
    > 		adi,clocks-clk-pll-vco-div = <2>;
    119,122c118,121
    < 		adi,rx-profile-iq-rate_khz = <40000>;
    < 		adi,rx-profile-rf-bandwidth_hz = <20000000>;
    < 		adi,rx-profile-rhb1-decimation = <2>;
    < 		adi,rx-profile-rx-bbf-3db-corner_khz = <20000>;
    ---
    > 		adi,rx-profile-iq-rate_khz = <122880>;
    > 		adi,rx-profile-rf-bandwidth_hz = <100000000>;
    > 		adi,rx-profile-rhb1-decimation = <1>;
    > 		adi,rx-profile-rx-bbf-3db-corner_khz = <100000>;
    124,126c123
    < 		adi,rx-profile-rx-fir-decimation = <4>;
    < 
    < 		adi,obs-settings-obs-rx-channels-enable = <3>; /* Disable Sniffer Profile */
    ---
    > 		adi,rx-profile-rx-fir-decimation = <2>;
    129,132c126,129
    < 		adi,rx-profile-rx-fir-num-fir-coefs = <72>;
    < 		adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-1) (-1) (0) (3) (5) (4) (0) (-7) (-9) (-4) (4) (6) (-7) (-28) (-32) (9) (92) (168) (147) (-30) (-324) (-562) (-507) (-17) (781) (1457) (1442) (382) (-1524) (-3406) (-4000) (-2241) (2096) (8083) (13870) (17424) (17424) (13870) (8083) (2096) (-2241) (-4000) (-3406) (-1524) (382) (1442) (1457) (781) (-17) (-507) (-562) (-324) (-30) (147) (168) (92) (9) (-32) (-28) (-7) (6) (4) (-4) (-9) (-7) (0) (4) (5) (3) (0) (-1) (-1)>;
    < 				
    < 		adi,rx-profile-custom-adc-profile = /bits/ 16  <(460) (273) (182) (98) (1280) (112) (1505) (53) (1574) (25) (1069) (40) (48) (48) (31) (184)>;
    ---
    > 		adi,rx-profile-rx-fir-num-fir-coefs = <48>;
    > 		adi,rx-profile-rx-fir-coefs = /bits/ 16 <(-5) (-26) (32) (51) (-67) (-116) (140) (212) (-252) (-367) (429) (595) (-688) (-931) (1072) (1427) (-1650) (-2188) (2612) (3496) (-4802) (-7591) (9656) (32317) (32317) (9656) (-7591) (-4802) (3496) (2612) (-2188) (-1650) (1427) (1072) (-931) (-688) (595) (429) (-367) (-252) (212) (140) (-116) (-67) (51) (32) (-26) (-5)>;
    > 
    > 		adi,rx-profile-custom-adc-profile = /bits/ 16  <534 386 201 98 1280 491 1591 279 1306 104 792 28 48 39 23 187>;
    136,139c133,136
    < 		adi,obs-profile-iq-rate_khz = <80000>;
    < 		adi,obs-profile-rf-bandwidth_hz = <60000000>;
    < 		adi,obs-profile-rhb1-decimation = <2>;
    < 		adi,obs-profile-rx-bbf-3db-corner_khz = <30000>;
    ---
    > 		adi,obs-profile-iq-rate_khz = <245760>;
    > 		adi,obs-profile-rf-bandwidth_hz = <200000000>;
    > 		adi,obs-profile-rhb1-decimation = <1>;
    > 		adi,obs-profile-rx-bbf-3db-corner_khz = <100000>;
    141c138
    < 		adi,obs-profile-rx-fir-decimation = <2>;
    ---
    > 		adi,obs-profile-rx-fir-decimation = <1>;
    143,145c140,142
    < 		adi,obs-profile-rx-fir-gain_db = <0>;
    < 		adi,obs-profile-rx-fir-num-fir-coefs = <72>;
    < 		adi,obs-profile-rx-fir-coefs = /bits/ 16 <(0) (1) (-1) (-2) (2) (6) (-4) (-14) (5) (30) (-3) (-56) (-8) (93) (36) (-143) (-92) (202) (189) (-260) (-343) (301) (571) (-300) (-889) (216) (1320) (13) (-1905) (-508) (2731) (1576) (-4111) (-4817) (5434) (17585) (17585) (5434) (-4817) (-4111) (1576) (2731) (-508) (-1905) (13) (1320) (216) (-889) (-300) (571) (301) (-343) (-260) (189) (202) (-92) (-143) (36) (93) (-8) (-56) (-3) (30) (5) (-14) (-4) (6) (2) (-2) (-1) (1) (0)>;
    ---
    > 		adi,obs-profile-rx-fir-gain_db = <6>;
    > 		adi,obs-profile-rx-fir-num-fir-coefs = <24>;
    > 		adi,obs-profile-rx-fir-coefs = /bits/ 16 <(-289) (81) (-23) (-86) (229) (-354) (397) (-233) (-657) (1699) (-4172) (23010) (-4172) (1699) (-657) (-233) (397) (-354) (229) (-86) (-23) (81) (-289) (0)>;
    147,148c144,145
    < 		adi,obs-profile-custom-adc-profile = /bits/ 16  <(459) (273) (182) (98) (1280) (115) (1506) (54) (1575) (25) (1069) (40) (48) (48) (31) (184)>;
    < 		adi,obs-settings-custom-loopback-adc-profile = /bits/ 16  <(460) (273) (182) (98) (1280) (112) (1505) (53) (1574) (25) (1069) (40) (48) (48) (31) (184)>;
    ---
    > 		adi,obs-profile-custom-adc-profile = /bits/ 16  <450 349 201 98 1280 730 1626 818 1476 732 834 20 41 36 24 200>;
    > 		adi,obs-settings-custom-loopback-adc-profile = /bits/ 16  <569 369 201 98 1280 291 1541 149 1320 58 807 34 48 40 23 189>;
    151,153c148,150
    < 		adi,tx-profile-iq-rate_khz = <80000>;
    < 		adi,tx-profile-primary-sig-bandwidth_hz = <20000000>;
    < 		adi,tx-profile-rf-bandwidth_hz = <60000000>;
    ---
    > 		adi,tx-profile-iq-rate_khz = <245760>;
    > 		adi,tx-profile-primary-sig-bandwidth_hz = <75000000>;
    > 		adi,tx-profile-rf-bandwidth_hz = <200000000>;
    155,158c152,155
    < 		adi,tx-profile-thb2-interpolation = <2>;
    < 		adi,tx-profile-tx-bbf-3db-corner_khz = <30000>;
    < 		adi,tx-profile-tx-dac-3db-corner_khz = <92000>;
    < 		adi,tx-profile-tx-fir-interpolation = <2>;
    ---
    > 		adi,tx-profile-thb2-interpolation = <1>;
    > 		adi,tx-profile-tx-bbf-3db-corner_khz = <100000>;
    > 		adi,tx-profile-tx-dac-3db-corner_khz = <187000>;
    > 		adi,tx-profile-tx-fir-interpolation = <1>;
    161,164c158,161
    < 		adi,tx-profile-tx-fir-gain_db = <0>;
    < 		adi,tx-profile-tx-fir-num-fir-coefs = <32>;
    < 		adi,tx-profile-tx-fir-coefs = /bits/ 16 <(-42) (-49) (135) (153) (-313) (-386) (619) (819) (-1108) (-1646) (1799) (3288) (-2375) (-6142) (3518) (18087) (18087) (3518) (-6142) (-2375) (3288) (1799) (-1646) (-1108) (819) (619) (-386) (-313) (153) (135) (-49) (-42)>;
    < 		/*
    ---
    > 		adi,tx-profile-tx-fir-gain_db = <6>;
    > 		adi,tx-profile-tx-fir-num-fir-coefs = <16>;
    > 		adi,tx-profile-tx-fir-coefs = /bits/ 16 <(6) (-270) (203) (-168) (-84) (983) (-3222) (21143) (-3222) (983) (-84) (-168) (203) (-270) (6) (0)>;
    > 
    167c164
    < 		adi,sniffer-profile-iq-rate_khz = <40000>;
    ---
    > 		adi,sniffer-profile-iq-rate_khz = <30720>;
    173d169
    < 		*/
    
    <profile AD9371 version=0 name=Rx 20, IQrate 40.000>
     <clocks>
      <deviceClock_kHz=80000>
      <clkPllVcoFreq_kHz=9600000>
      <clkPllVcoDiv=1.5>
      <clkPllHsDiv=4>
     </clocks>
    
     <rx>
      <adcDiv=1>
      <rxFirDecimation=4>
      <rxDec5Decimation=5>
      <enHighRejDec5=1>
      <rhb1Decimation=2>
      <iqRate_kHz=40000>
      <rfBandwidth_Hz=20000000>
      <rxBbf3dBCorner_kHz=20000>
    
      <filter FIR gain=-6 num=72>
      -1
      -1
      0
      3
      5
      4
      0
      -7
      -9
      -4
      4
      6
      -7
      -28
      -32
      9
      92
      168
      147
      -30
      -324
      -562
      -507
      -17
      781
      1457
      1442
      382
      -1524
      -3406
      -4000
      -2241
      2096
      8083
      13870
      17424
      17424
      13870
      8083
      2096
      -2241
      -4000
      -3406
      -1524
      382
      1442
      1457
      781
      -17
      -507
      -562
      -324
      -30
      147
      168
      92
      9
      -32
      -28
      -7
      6
      4
      -4
      -9
      -7
      0
      4
      5
      3
      0
      -1
      -1
      </filter>
    
      <adc-profile num=16>
      460
      273
      182
      98
      1280
      112
      1505
      53
      1574
      25
      1069
      40
      48
      48
      31
      184
      </adc-profile>
     </rx>
    
     <obs>
      <adcDiv=1>
      <rxFirDecimation=2>
      <rxDec5Decimation=5>
      <enHighRejDec5=1>
      <rhb1Decimation=2>
      <iqRate_kHz=80000>
      <rfBandwidth_Hz=60000000>
      <rxBbf3dBCorner_kHz=30000>
    
      <filter FIR gain=0 num=72>
      0
      1
      -1
      -2
      2
      6
      -4
      -14
      5
      30
      -3
      -56
      -8
      93
      36
      -143
      -92
      202
      189
      -260
      -343
      301
      571
      -300
      -889
      216
      1320
      13
      -1905
      -508
      2731
      1576
      -4111
      -4817
      5434
      17585
      17585
      5434
      -4817
      -4111
      1576
      2731
      -508
      -1905
      13
      1320
      216
      -889
      -300
      571
      301
      -343
      -260
      189
      202
      -92
      -143
      36
      93
      -8
      -56
      -3
      30
      5
      -14
      -4
      6
      2
      -2
      -1
      1
      0
      </filter>
    
      <adc-profile num=16>
      459
      273
      182
      98
      1280
      115
      1506
      54
      1575
      25
      1069
      40
      48
      48
      31
      184
      </adc-profile>
    
      <lpbk-adc-profile num=16>
      460
      273
      182
      98
      1280
      112
      1505
      53
      1574
      25
      1069
      40
      48
      48
      31
      184
      </lpbk-adc-profile>
     </obs>
    
     <sniffer>
      <adcDiv=1>
      <rxFirDecimation=4>
      <rxDec5Decimation=5>
      <enHighRejDec5=1>
      <rhb1Decimation=2>
      <iqRate_kHz=40000>
      <rfBandwidth_Hz=20000000>
      <rxBbf3dBCorner_kHz=20000>
    
      <filter FIR gain=-6 num=72>
      -1
      -1
      0
      3
      5
      4
      0
      -7
      -9
      -4
      4
      6
      -7
      -28
      -32
      9
      92
      168
      147
      -30
      -324
      -562
      -507
      -17
      781
      1457
      1442
      382
      -1524
      -3406
      -4000
      -2241
      2096
      8083
      13870
      17424
      17424
      13870
      8083
      2096
      -2241
      -4000
      -3406
      -1524
      382
      1442
      1457
      781
      -17
      -507
      -562
      -324
      -30
      147
      168
      92
      9
      -32
      -28
      -7
      6
      4
      -4
      -9
      -7
      0
      4
      5
      3
      0
      -1
      -1
      </filter>
    
      <adc-profile num=16>
      460
      273
      182
      98
      1280
      112
      1505
      53
      1574
      25
      1069
      40
      48
      48
      31
      184
      </adc-profile>
     </sniffer>
    
     <tx>
      <dacDiv=2.5>
      <txFirInterpolation=2>
      <thb1Interpolation=2>
      <thb2Interpolation=2>
      <txInputHbInterpolation=1>
      <iqRate_kHz=80000>
      <primarySigBandwidth_Hz=20000000>
      <rfBandwidth_Hz=60000000>
      <txDac3dBCorner_kHz=92000>
      <txBbf3dBCorner_kHz=30000>
    
      <filter FIR gain=0 num=32>
      -42
      -49
      135
      153
      -313
      -386
      619
      819
      -1108
      -1646
      1799
      3288
      -2375
      -6142
      3518
      18087
      18087
      3518
      -6142
      -2375
      3288
      1799
      -1646
      -1108
      819
      619
      -386
      -313
      153
      135
      -49
      -42
      </filter>
     </tx>
    </profile>
    

  •   <clkPllVcoDiv=1.5>

    /**
    * \brief Enum of possible VCO divider settings (1x, 1.5x, 2x, 3x)
    */
    typedef enum
    {
    VCODIV_1 = 0,
    VCODIV_1p5 = 1,
    VCODIV_2 = 2,
    VCODIV_3 = 3
    } mykonosVcoDiv_t;

    According to this you need to use:

    adi,clocks-clk-pll-vco-div = <1>; 

    -Michael

  • The forum has already written that the GUI is incorrect value adi, clocks-clk-pll-vco-div = <1>; and you need to put <3>

    ez.analog.com/.../changing-the-vcxo-80-mhz-ad9375

Reply Children
No Data