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)!

  • Are you using the jesd204-fsm devicetree?

    Can you print the calibration mask before calling ad9371_init_cal() ?

    -Michael

  • I usually don't jesd204-fsm, 

    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
    My Debugger init_call_mask 3F9FF
    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
    My Debugger init_call_mask 3F9FF
    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
    My Debugger init_call_mask 3F9FF
    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
    My Debugger init_call_mask 3F9FF
    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-03-01 05:38:41 UTC (1646113121)
    clk: Not disabling unused clocks
    ALSA device list:
    #0: HDMI monitor

  • TX_QEC_INIT    = 0x0400, everything turns out correctly, TX_QEC_INIT is disabled

Reply Children
No Data