AFE7950EVM: Getting SPI READ CHECK ERRORS while configuring AFE7950 from FPGA with ZCU102

Part Number: AFE7950EVM
Other Parts Discussed in Thread: LMK04828, AFE7950

Tool/software:

Hi Team.


We are trying to interface AFE7950 EVM with ZCU102 and trying to configure the LMK04828 and AFE7950 using SPI protocol from FPGA.

1.Setup:
   For this, we connected the TI's AFE7950 EVM to the FMC connector J4 on ZCU102 Evaluation Board and tried to configure the LMK04828 and AFE7950 using SPI protocol by driving SPI signals using vitis application.

2.Rework:
   As part of this we did the some rework on TI's AFE7950 EVM which was mentioned in AFE7950 SPI Bringup Document.
   The following are the rework details that we did on AFE7950 EVM.
       1) We removed R266, R267, R268, and R274 resistors on AFE7950 EVM (Found on the bottom of the EVM)
       2) Installed 0Ω resistors for R88, R87, R86, and R83 (Found on the top of the EVM)
       3) Since LMK SPI has no connection to the FMC conncector, so for the FPGA to control the LMK SPI, the following modifications we made.
               a.) Connected LMK_SCK to SPIACLK (Wire from R88 to R248)
               b.) Connected LMK_SDIO to SPIASDIO (Wire from R87 to R249)
               c. ) Connected LMK_CS to pin D26 of the FMC Connector(J4)
               NOTE: I'm also attaching the rework details image that was mentioned in AFE7950 SPI Bringup Document. (Attached Image name is "rework_details.png")

3.main.c Vitis file flow:

       Uart550_Setup();
       dev_spi_setup(); //AFE SPI Setup
       emio_gpio_setup(); //EMIO GPIO Setup

       usleep(5000);
       rst_Afe79() ; //Hardware Reset of AFE
       usleep(5000);
       lmk_config() ;
       usleep(5000);

       enable_JESDIP();
       enable_JESDTXIP();
       delaySec(1.0);
       bringupafe() ;
       delaySec(1.0) ;

   We are following the above mentioned flow from vitis to configure the LMK04828 and AFE7950.
   I'm attaching the main.c file which we are using in vitis. (Attached main.c file name "main.c")

main.c
/******************************************************************************
*
* Copyright (C) 2009 - 2014 Xilinx, Inc.  All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* XILINX  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/

/*
 * helloworld.c: simple test application
 *
 * This application configures UART 16550 to baud rate 9600.
 * PS7 UART (Zynq) is not initialized by this application, since
 * bootrom/bsp configures it to baud rate 115200
 *
 * ------------------------------------------------
 * | UART TYPE   BAUD RATE                        |
 * ------------------------------------------------
 *   uartns550   9600
 *   uartlite    Configurable only in HW design
 *   ps7_uart    115200 (configured by bootrom/bsp)
 */

#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"
#include "xgpio.h"
#include "xparameters.h"
#include "sleep.h"
#include "xintc.h"		/* Interrupt controller device driver */
#include "xspi.h"		/* SPI device driver */
#include "xil_exception.h"
#include "xuartns550.h"
#include "tiafe_bringup.h"
#include "tiAfe79_interface.h"


int main()
{
    init_platform();
    Uart550_Setup();

    xil_printf("SPI Writing for AFE Registers!!\r");

    dev_spi_setup(); //AFE SPI Setup
    emio_gpio_setup(); //EMIO GPIO Setup

	usleep(5000);
	rst_Afe79() ; //Hardware Reset of AFE
	usleep(5000);
	lmk_config() ;
	usleep(5000);

	enable_JESDIP();
	enable_JESDTXIP();
	delaySec(1.0);
	bringupafe() ;
	delaySec(1.0) ;

    xil_printf("Config done!!\r");

    while(1) {
    	cleanup_platform();
    	return 0;
    }
}

   With the above details and flow, we were able to configure the LMK04828 and we are also getting QPLL locked status from VIO in vivado as well as QPLL locked status LED indiactor on AFE7950 EVM.

   But, during AFE configuration, we are getting some READCHECK Errors (it is not reading expected values from some registers from AFE7950).
   I'm attaching the terminal prints after this application runs. (Attached File name is "teraterm_prints.txt")

teraterm_prints.txt
Number of iterations of poll in line 64 0x171 : 0
Readcheck Error in Line 103 of bringupLog - ReadValue : 8
Number of iterations of poll in line 125 0xf0 : 43
Number of iterations of poll in line 133 0xf0 : 0
Number of iterations of poll in line 155 0xf0 : 0
Number of iterations of poll in line 163 0xf0 : 0
Number of iterations of poll in line 265 0xf0 : 0
Number of iterations of poll in line 273 0xf0 : 0
Number of iterations of poll in line 2342 0xf0 : 0
Number of iterations of poll in line 2354 0xf0 : 0
Number of iterations of poll in line 4421 0xf0 : 0
Number of iterations of poll in line 4433 0xf0 : 0
Number of iterations of poll in line 6500 0xf0 : 0
Number of iterations of poll in line 6512 0xf0 : 0
Number of iterations of poll in line 8579 0xf0 : 0
Number of iterations of poll in line 8591 0xf0 : 0
Number of iterations of poll in line 10658 0xf0 : 0
Number of iterations of poll in line 10670 0xf0 : 0
Number of iterations of poll in line 12737 0xf0 : 0
Number of iterations of poll in line 12749 0xf0 : 0
Number of iterations of poll in line 12881 0xf0 : 0
Number of iterations of poll in line 12893 0xf0 : 0
Number of iterations of poll in line 12907 0xf0 : 0
Number of iterations of poll in line 12915 0xf0 : 1
Number of iterations of poll in line 12929 0xf0 : 0
Number of iterations of poll in line 12937 0xf0 : 0
Number of iterations of poll in line 12974 0xf0 : 0
Number of iterations of poll in line 12982 0xf0 : 0
Number of iterations of poll in line 12996 0xf0 : 0
Number of iterations of poll in line 13004 0xf0 : 0
Number of iterations of poll in line 13018 0xf0 : 0
Number of iterations of poll in line 13026 0xf0 : 0
Number of iterations of poll in line 13040 0xf0 : 0
Number of iterations of poll in line 13048 0xf0 : 0
Number of iterations of poll in line 13062 0xf0 : 0
Number of iterations of poll in line 13070 0xf0 : 0
Number of iterations of poll in line 13084 0xf0 : 0
Number of iterations of poll in line 13092 0xf0 : 0
Number of iterations of poll in line 13127 0x171 : 0
Readcheck Error in Line 13298 of bringupLog - ReadValue : 2
Readcheck Error in Line 13299 of bringupLog - ReadValue : 98
Number of iterations of poll in line 13373 0xf0 : 0
Number of iterations of poll in line 13377 0xf0 : 0
Number of iterations of poll in line 13871 0xf0 : 0
Number of iterations of poll in line 13879 0xf0 : 780
Number of iterations of poll in line 13893 0xf0 : 0
Number of iterations of poll in line 13901 0xf0 : 29
Number of iterations of poll in line 14498 0xf0 : 0
Number of iterations of poll in line 14506 0xf0 : 0
Number of iterations of poll in line 14520 0xf0 : 0
Number of iterations of poll in line 14528 0xf0 : 0
Number of iterations of poll in line 14542 0xf0 : 0
Number of iterations of poll in line 14550 0xf0 : 0
Number of iterations of poll in line 14566 0xf0 : 0
Number of iterations of poll in line 14574 0xf0 : 0
Number of iterations of poll in line 14588 0xf0 : 0
Number of iterations of poll in line 14596 0xf0 : 0
Number of iterations of poll in line 14610 0xf0 : 0
Number of iterations of poll in line 14618 0xf0 : 0
Number of iterations of poll in line 14632 0xf0 : 0
Number of iterations of poll in line 14656 0xf0 : 0
Number of iterations of poll in line 14670 0xf0 : 0
Number of iterations of poll in line 14678 0xf0 : 0
Number of iterations of poll in line 14692 0xf0 : 0
Number of iterations of poll in line 14700 0xf0 : 0
Number of iterations of poll in line 14714 0xf0 : 0
Number of iterations of poll in line 14738 0xf0 : 0
Number of iterations of poll in line 14752 0xf0 : 0
Number of iterations of poll in line 14760 0xf0 : 0
Number of iterations of poll in line 14774 0xf0 : 0
Number of iterations of poll in line 14782 0xf0 : 0
Number of iterations of poll in line 14796 0xf0 : 0
Number of iterations of poll in line 14820 0xf0 : 0
Number of iterations of poll in line 14834 0xf0 : 0
Number of iterations of poll in line 14842 0xf0 : 0
Number of iterations of poll in line 14856 0xf0 : 0
Number of iterations of poll in line 14864 0xf0 : 0
Number of iterations of poll in line 14878 0xf0 : 0
Number of iterations of poll in line 14902 0xf0 : 0
Number of iterations of poll in line 14918 0xf0 : 0
Number of iterations of poll in line 14926 0xf0 : 0
Number of iterations of poll in line 14942 0xf0 : 0
Number of iterations of poll in line 14950 0xf0 : 0
Number of iterations of poll in line 14964 0xf0 : 0
Number of iterations of poll in line 14972 0xf0 : 0
Number of iterations of poll in line 14986 0xf0 : 0
Number of iterations of poll in line 14994 0xf0 : 0
Number of iterations of poll in line 15008 0xf0 : 0
Number of iterations of poll in line 15016 0xf0 : 0
Number of iterations of poll in line 15030 0xf0 : 0
Number of iterations of poll in line 15054 0xf0 : 0
Number of iterations of poll in line 15068 0xf0 : 0
Number of iterations of poll in line 15076 0xf0 : 0
Number of iterations of poll in line 15090 0xf0 : 0
Number of iterations of poll in line 15098 0xf0 : 0
Number of iterations of poll in line 15112 0xf0 : 0
Number of iterations of poll in line 15136 0xf0 : 0
Number of iterations of poll in line 15150 0xf0 : 0
Number of iterations of poll in line 15158 0xf0 : 0
Number of iterations of poll in line 15172 0xf0 : 0
Number of iterations of poll in line 15180 0xf0 : 0
Number of iterations of poll in line 15194 0xf0 : 0
Number of iterations of poll in line 15218 0xf0 : 0
Number of iterations of poll in line 15232 0xf0 : 0
Number of iterations of poll in line 15240 0xf0 : 0
Number of iterations of poll in line 15254 0xf0 : 0
Number of iterations of poll in line 15262 0xf0 : 0
Number of iterations of poll in line 15276 0xf0 : 0
Number of iterations of poll in line 15300 0xf0 : 0
Number of iterations of poll in line 15316 0xf0 : 0
Number of iterations of poll in line 15324 0xf0 : 0
Number of iterations of poll in line 15338 0xf0 : 0
Number of iterations of poll in line 15346 0xf0 : 0
Number of iterations of poll in line 15366 0xf0 : 0
Number of iterations of poll in line 15374 0xf0 : 0
Number of iterations of poll in line 15388 0xf0 : 0
Number of iterations of poll in line 15396 0xf0 : 7
Number of iterations of poll in line 15486 0xf0 : 0
Number of iterations of poll in line 15494 0xf0 : 492
Number of iterations of poll in line 15508 0xf0 : 0
Number of iterations of poll in line 15524 0xf0 : 1
Number of iterations of poll in line 15648 0x171 : 0
Number of iterations of poll in line 15763 0xf0 : 0
Number of iterations of poll in line 15783 0xf0 : 0
Number of iterations of poll in line 15797 0xf0 : 0
Number of iterations of poll in line 15805 0xf0 : 0
Number of iterations of poll in line 15831 0xf0 : 0
Number of iterations of poll in line 15839 0xf0 : 0
Number of iterations of poll in line 16003 0x171 : 0
Number of iterations of poll in line 16780 0x171 : 0
Number of iterations of poll in line 16851 0xf0 : 0
Number of iterations of poll in line 16863 0xf0 : 0
Number of iterations of poll in line 16877 0xf0 : 0
Number of iterations of poll in line 16885 0xf0 : 0
Number of iterations of poll in line 16934 0xf0 : 0
Number of iterations of poll in line 16942 0xf0 : 0
Number of iterations of poll in line 16962 0xf0 : 0
Number of iterations of poll in line 16970 0xf0 : 0
Number of iterations of poll in line 16984 0xf0 : 0
Number of iterations of poll in line 16992 0xf0 : 0
Number of iterations of poll in line 17006 0xf0 : 0
Number of iterations of poll in line 17014 0xf0 : 0
Number of iterations of poll in line 17028 0xf0 : 0
Number of iterations of poll in line 17036 0xf0 : 0
Number of iterations of poll in line 17050 0xf0 : 0
Number of iterations of poll in line 17061 0xf0 : 0
Number of iterations of poll in line 17091 0xf0 : 0
Number of iterations of poll in line 17095 0xf0 : 1
Number of iterations of poll in line 17128 0xf0 : 0
Number of iterations of poll in line 17136 0xf0 : 0
Readcheck Error in Line 17194 of bringupLog - ReadValue : 16
Readcheck Error in Line 17195 of bringupLog - ReadValue : 16
Readcheck Error in Line 17196 of bringupLog - ReadValue : 16
Readcheck Error in Line 17197 of bringupLog - ReadValue : 16
Readcheck Error in Line 17207 of bringupLog - ReadValue : 16
Readcheck Error in Line 17208 of bringupLog - ReadValue : 16
Readcheck Error in Line 17209 of bringupLog - ReadValue : 16
Readcheck Error in Line 17210 of bringupLog - ReadValue : 16
Readcheck Error in Line 17213 of bringupLog - ReadValue : 85

4.READCHECK ERRORS:
   I'm attaching the READCHECK ERROR Details alone in one file (File name : "readcheck_errors.txt")

readcheck_errors.txt
Readcheck Error in Line 103 of bringupLog - ReadValue : 8
Readcheck Error in Line 13298 of bringupLog - ReadValue : 2
Readcheck Error in Line 13299 of bringupLog - ReadValue : 98
Readcheck Error in Line 17194 of bringupLog - ReadValue : 16
Readcheck Error in Line 17195 of bringupLog - ReadValue : 16
Readcheck Error in Line 17196 of bringupLog - ReadValue : 16
Readcheck Error in Line 17197 of bringupLog - ReadValue : 16
Readcheck Error in Line 17207 of bringupLog - ReadValue : 16
Readcheck Error in Line 17208 of bringupLog - ReadValue : 16
Readcheck Error in Line 17209 of bringupLog - ReadValue : 16
Readcheck Error in Line 17210 of bringupLog - ReadValue : 16
Readcheck Error in Line 17213 of bringupLog - ReadValue : 85

   The following is the detailed explanation of READ CHECK ERROR Registers:

        Readcheck Error in Line 103 of bringupLog - ReadValue : 8
               Error Register: 0x150; Expected Value: 0xf; ReadValue: 0x8

        Readcheck Error in Line 13298 of bringupLog - ReadValue : 2
               Error Register: 0x66; Expected Value: 0x10; ReadValue: 0x2

        Readcheck Error in Line 13299 of bringupLog - ReadValue : 98
               Error Register: 0x66; Expected Value: 0x0; ReadValue: 0x98

       Readcheck Error in Line 17194 of bringupLog - ReadValue : 16
               Error Register: 0x11f; Expected Value: 0x0; ReadValue: 0x16

       Readcheck Error in Line 17195 of bringupLog - ReadValue : 16
               Error Register: 0x11e; Expected Value: 0x0; ReadValue: 0x16

       Readcheck Error in Line 17196 of bringupLog - ReadValue : 16
               Error Register: 0x11d; Expected Value: 0x0; ReadValue: 0x16

       Readcheck Error in Line 17197 of bringupLog - ReadValue : 16
               Error Register: 0x11c; Expected Value: 0x0; ReadValue: 0x16

      Readcheck Error in Line 17207 of bringupLog - ReadValue : 16
               Error Register: 0x11f; Expected Value: 0x0; ReadValue: 0x16

      Readcheck Error in Line 17208 of bringupLog - ReadValue : 16
               Error Register: 0x11d; Expected Value: 0x0; ReadValue: 0x16

      Readcheck Error in Line 17209 of bringupLog - ReadValue : 16
               Error Register: 0x11e; Expected Value: 0x0; ReadValue: 0x16

      Readcheck Error in Line 17210 of bringupLog - ReadValue : 16
               Error Register: 0x11c; Expected Value: 0x0; ReadValue: 0x16

      Readcheck Error in Line 17213 of bringupLog - ReadValue : 85
              Error Register: 0xa6; Expected Value: 0xaa; ReadValue: 0x85

I'm attaching all the related images(.png format) and text files(.txt format) mentioned above. And also I'm attaching the SPI Writes for Configuration of LMK04828 and AFE7950.

LMK04828 Configuration File Name : LMK_Configuration_SPI_Writes_file.txt

LMK_Configuration_SPI_Writes_file.txt
LMK04828_RegWrite(0x0000,0x80);
LMK04828_RegWrite(0x0000,0x00);
LMK04828_RegWrite(0x0000,0x80);
LMK04828_RegWrite(0x0000,0x00);
LMK04828_RegWrite(0x0000,0x80);
LMK04828_RegWrite(0x0000,0x00);
LMK04828_RegWrite(0x014a,0x03);
LMK04828_RegWrite(0x014a,0x33);
LMK04828_RegWrite(0x0000,0x00);
LMK04828_RegWrite(0x0002,0x00);
LMK04828_RegWrite(0x0100,0x10);
LMK04828_RegWrite(0x0100,0x10);
LMK04828_RegWrite(0x0100,0x10);
LMK04828_RegWrite(0x0101,0x55);
LMK04828_RegWrite(0x0101,0x55);
LMK04828_RegWrite(0x0103,0x01);
LMK04828_RegWrite(0x0103,0x01);
LMK04828_RegWrite(0x0103,0x01);
LMK04828_RegWrite(0x0104,0x00);
LMK04828_RegWrite(0x0104,0x00);
LMK04828_RegWrite(0x0104,0x20);
LMK04828_RegWrite(0x0104,0x20);
LMK04828_RegWrite(0x0105,0x00);
LMK04828_RegWrite(0x0105,0x00);
LMK04828_RegWrite(0x0106,0x18);
LMK04828_RegWrite(0x0106,0x18);
LMK04828_RegWrite(0x0106,0x10);
LMK04828_RegWrite(0x0106,0x10);
LMK04828_RegWrite(0x0106,0x90);
LMK04828_RegWrite(0x0106,0xf0);
LMK04828_RegWrite(0x0107,0x01);
LMK04828_RegWrite(0x0107,0x01);
LMK04828_RegWrite(0x0107,0x11);
LMK04828_RegWrite(0x0107,0x11);
LMK04828_RegWrite(0x0108,0x06);
LMK04828_RegWrite(0x0108,0x26);
LMK04828_RegWrite(0x0108,0x66);
LMK04828_RegWrite(0x0109,0x55);
LMK04828_RegWrite(0x0109,0x55);
LMK04828_RegWrite(0x010b,0x01);
LMK04828_RegWrite(0x010b,0x01);
LMK04828_RegWrite(0x010b,0x01);
LMK04828_RegWrite(0x010c,0x00);
LMK04828_RegWrite(0x010c,0x00);
LMK04828_RegWrite(0x010c,0x20);
LMK04828_RegWrite(0x010c,0x20);
LMK04828_RegWrite(0x010d,0x00);
LMK04828_RegWrite(0x010d,0x00);
LMK04828_RegWrite(0x010e,0x18);
LMK04828_RegWrite(0x010e,0x18);
LMK04828_RegWrite(0x010e,0x10);
LMK04828_RegWrite(0x010e,0x10);
LMK04828_RegWrite(0x010e,0x90);
LMK04828_RegWrite(0x010e,0xf0);
LMK04828_RegWrite(0x010f,0x04);
LMK04828_RegWrite(0x010f,0x04);
LMK04828_RegWrite(0x010f,0x14);
LMK04828_RegWrite(0x010f,0x14);
LMK04828_RegWrite(0x0110,0x08);
LMK04828_RegWrite(0x0110,0x08);
LMK04828_RegWrite(0x0110,0x08);
LMK04828_RegWrite(0x0111,0x55);
LMK04828_RegWrite(0x0111,0x55);
LMK04828_RegWrite(0x0113,0x00);
LMK04828_RegWrite(0x0113,0x00);
LMK04828_RegWrite(0x0113,0x00);
LMK04828_RegWrite(0x0114,0x00);
LMK04828_RegWrite(0x0114,0x00);
LMK04828_RegWrite(0x0114,0x00);
LMK04828_RegWrite(0x0114,0x00);
LMK04828_RegWrite(0x0115,0x00);
LMK04828_RegWrite(0x0115,0x00);
LMK04828_RegWrite(0x0116,0x11);
LMK04828_RegWrite(0x0116,0x11);
LMK04828_RegWrite(0x0116,0x19);
LMK04828_RegWrite(0x0116,0x19);
LMK04828_RegWrite(0x0116,0x99);
LMK04828_RegWrite(0x0116,0xf9);
LMK04828_RegWrite(0x0117,0x00);
LMK04828_RegWrite(0x0117,0x00);
LMK04828_RegWrite(0x0117,0x00);
LMK04828_RegWrite(0x0117,0x00);
LMK04828_RegWrite(0x0118,0x18);
LMK04828_RegWrite(0x0118,0x18);
LMK04828_RegWrite(0x0118,0x18);
LMK04828_RegWrite(0x0119,0x55);
LMK04828_RegWrite(0x0119,0x55);
LMK04828_RegWrite(0x011b,0x00);
LMK04828_RegWrite(0x011b,0x00);
LMK04828_RegWrite(0x011b,0x00);
LMK04828_RegWrite(0x011c,0x00);
LMK04828_RegWrite(0x011c,0x00);
LMK04828_RegWrite(0x011c,0x20);
LMK04828_RegWrite(0x011c,0x20);
LMK04828_RegWrite(0x011d,0x00);
LMK04828_RegWrite(0x011d,0x00);
LMK04828_RegWrite(0x011e,0x11);
LMK04828_RegWrite(0x011e,0x11);
LMK04828_RegWrite(0x011e,0x19);
LMK04828_RegWrite(0x011e,0x19);
LMK04828_RegWrite(0x011e,0x99);
LMK04828_RegWrite(0x011e,0xf9);
LMK04828_RegWrite(0x011f,0x00);
LMK04828_RegWrite(0x011f,0x00);
LMK04828_RegWrite(0x011f,0x00);
LMK04828_RegWrite(0x011f,0x00);
LMK04828_RegWrite(0x0120,0x0c);
LMK04828_RegWrite(0x0120,0x0c);
LMK04828_RegWrite(0x0120,0x0c);
LMK04828_RegWrite(0x0121,0x55);
LMK04828_RegWrite(0x0121,0x55);
LMK04828_RegWrite(0x0123,0x00);
LMK04828_RegWrite(0x0123,0x00);
LMK04828_RegWrite(0x0123,0x00);
LMK04828_RegWrite(0x0124,0x00);
LMK04828_RegWrite(0x0124,0x00);
LMK04828_RegWrite(0x0124,0x00);
LMK04828_RegWrite(0x0124,0x00);
LMK04828_RegWrite(0x0125,0x00);
LMK04828_RegWrite(0x0125,0x00);
LMK04828_RegWrite(0x0126,0x11);
LMK04828_RegWrite(0x0126,0x11);
LMK04828_RegWrite(0x0126,0x19);
LMK04828_RegWrite(0x0126,0x19);
LMK04828_RegWrite(0x0126,0x99);
LMK04828_RegWrite(0x0126,0xf9);
LMK04828_RegWrite(0x0127,0x01);
LMK04828_RegWrite(0x0127,0x01);
LMK04828_RegWrite(0x0127,0x11);
LMK04828_RegWrite(0x0127,0x11);
LMK04828_RegWrite(0x0128,0x08);
LMK04828_RegWrite(0x0128,0x08);
LMK04828_RegWrite(0x0128,0x08);
LMK04828_RegWrite(0x0129,0x55);
LMK04828_RegWrite(0x0129,0x55);
LMK04828_RegWrite(0x012b,0x00);
LMK04828_RegWrite(0x012b,0x00);
LMK04828_RegWrite(0x012b,0x00);
LMK04828_RegWrite(0x012c,0x00);
LMK04828_RegWrite(0x012c,0x00);
LMK04828_RegWrite(0x012c,0x00);
LMK04828_RegWrite(0x012c,0x00);
LMK04828_RegWrite(0x012d,0x00);
LMK04828_RegWrite(0x012d,0x00);
LMK04828_RegWrite(0x012e,0x11);
LMK04828_RegWrite(0x012e,0x11);
LMK04828_RegWrite(0x012e,0x19);
LMK04828_RegWrite(0x012e,0x19);
LMK04828_RegWrite(0x012e,0x99);
LMK04828_RegWrite(0x012e,0xf9);
LMK04828_RegWrite(0x012f,0x00);
LMK04828_RegWrite(0x012f,0x00);
LMK04828_RegWrite(0x012f,0x00);
LMK04828_RegWrite(0x012f,0x00);
LMK04828_RegWrite(0x0130,0x10);
LMK04828_RegWrite(0x0130,0x10);
LMK04828_RegWrite(0x0130,0x10);
LMK04828_RegWrite(0x0131,0x55);
LMK04828_RegWrite(0x0131,0x55);
LMK04828_RegWrite(0x0133,0x01);
LMK04828_RegWrite(0x0133,0x01);
LMK04828_RegWrite(0x0134,0x00);
LMK04828_RegWrite(0x0134,0x00);
LMK04828_RegWrite(0x0134,0x20);
LMK04828_RegWrite(0x0134,0x20);
LMK04828_RegWrite(0x0135,0x00);
LMK04828_RegWrite(0x0135,0x00);
LMK04828_RegWrite(0x0136,0x19);
LMK04828_RegWrite(0x0136,0x19);
LMK04828_RegWrite(0x0136,0x11);
LMK04828_RegWrite(0x0136,0x11);
LMK04828_RegWrite(0x0136,0x91);
LMK04828_RegWrite(0x0136,0xf1);
LMK04828_RegWrite(0x0137,0x01);
LMK04828_RegWrite(0x0137,0x01);
LMK04828_RegWrite(0x0137,0x01);
LMK04828_RegWrite(0x0137,0x01);
LMK04828_RegWrite(0x0138,0x00);
LMK04828_RegWrite(0x0138,0x00);
LMK04828_RegWrite(0x0138,0x20);
LMK04828_RegWrite(0x0139,0x03);
LMK04828_RegWrite(0x0139,0x03);
LMK04828_RegWrite(0x013b,0x00);
LMK04828_RegWrite(0x013a,0x06);
LMK04828_RegWrite(0x013d,0x08);
LMK04828_RegWrite(0x013c,0x00);
LMK04828_RegWrite(0x013e,0x03);
LMK04828_RegWrite(0x013f,0x00);
LMK04828_RegWrite(0x013f,0x00);
LMK04828_RegWrite(0x013f,0x00);
LMK04828_RegWrite(0x013f,0x00);
LMK04828_RegWrite(0x0140,0x06);
LMK04828_RegWrite(0x0140,0x04);
LMK04828_RegWrite(0x0140,0x00);
LMK04828_RegWrite(0x0140,0x00);
LMK04828_RegWrite(0x0140,0x00);
LMK04828_RegWrite(0x0140,0x00);
LMK04828_RegWrite(0x0140,0x00);
LMK04828_RegWrite(0x0140,0x00);
LMK04828_RegWrite(0x0141,0x00);
LMK04828_RegWrite(0x0141,0x00);
LMK04828_RegWrite(0x0141,0x00);
LMK04828_RegWrite(0x0141,0x00);
LMK04828_RegWrite(0x0141,0x00);
LMK04828_RegWrite(0x0141,0x00);
LMK04828_RegWrite(0x0141,0x00);
LMK04828_RegWrite(0x0141,0x00);
LMK04828_RegWrite(0x0142,0x00);
LMK04828_RegWrite(0x0143,0x92);
LMK04828_RegWrite(0x0143,0x92);
LMK04828_RegWrite(0x0143,0x92);
LMK04828_RegWrite(0x0143,0x92);
LMK04828_RegWrite(0x0143,0x92);
LMK04828_RegWrite(0x0143,0x92);
LMK04828_RegWrite(0x0143,0x12);
LMK04828_RegWrite(0x0144,0x01);
LMK04828_RegWrite(0x0144,0x03);
LMK04828_RegWrite(0x0144,0x07);
LMK04828_RegWrite(0x0144,0x0f);
LMK04828_RegWrite(0x0144,0x1f);
LMK04828_RegWrite(0x0144,0x3f);
LMK04828_RegWrite(0x0144,0x7f);
LMK04828_RegWrite(0x0144,0xff);
LMK04828_RegWrite(0x0146,0x18);
LMK04828_RegWrite(0x0146,0x18);
LMK04828_RegWrite(0x0146,0x18);
LMK04828_RegWrite(0x0146,0x10);
LMK04828_RegWrite(0x0146,0x10);
LMK04828_RegWrite(0x0146,0x10);
LMK04828_RegWrite(0x0147,0x3a);
LMK04828_RegWrite(0x0147,0x3a);
LMK04828_RegWrite(0x0147,0x1a);
LMK04828_RegWrite(0x0147,0x1a);
LMK04828_RegWrite(0x0148,0x02);
LMK04828_RegWrite(0x0148,0x02);
LMK04828_RegWrite(0x0149,0x42);
LMK04828_RegWrite(0x0149,0x42);
LMK04828_RegWrite(0x0149,0x42);
LMK04828_RegWrite(0x014c,0x00);
LMK04828_RegWrite(0x014b,0x16);
LMK04828_RegWrite(0x014b,0x16);
LMK04828_RegWrite(0x014b,0x16);
LMK04828_RegWrite(0x014b,0x16);
LMK04828_RegWrite(0x014b,0x16);
LMK04828_RegWrite(0x014b,0x16);
LMK04828_RegWrite(0x014d,0x00);
LMK04828_RegWrite(0x014e,0x00);
LMK04828_RegWrite(0x014e,0xc0);
LMK04828_RegWrite(0x014f,0x7f);
LMK04828_RegWrite(0x0150,0x03);
LMK04828_RegWrite(0x0150,0x03);
LMK04828_RegWrite(0x0150,0x03);
LMK04828_RegWrite(0x0150,0x03);
LMK04828_RegWrite(0x0150,0x03);
LMK04828_RegWrite(0x0150,0x43);
LMK04828_RegWrite(0x0152,0x00);
LMK04828_RegWrite(0x0151,0x02);
LMK04828_RegWrite(0x0154,0x78);
LMK04828_RegWrite(0x0153,0x00);
LMK04828_RegWrite(0x0156,0x7d);
LMK04828_RegWrite(0x0155,0x00);
LMK04828_RegWrite(0x0158,0x96);
LMK04828_RegWrite(0x0157,0x00);
LMK04828_RegWrite(0x015a,0x00);
LMK04828_RegWrite(0x0159,0x06);
LMK04828_RegWrite(0x015b,0xd4);
LMK04828_RegWrite(0x015b,0xd4);
LMK04828_RegWrite(0x015b,0xd4);
LMK04828_RegWrite(0x015b,0xd4);
LMK04828_RegWrite(0x015d,0x00);
LMK04828_RegWrite(0x015c,0x20);
LMK04828_RegWrite(0x015e,0x00);
LMK04828_RegWrite(0x015e,0x00);
LMK04828_RegWrite(0x015f,0x0b);
LMK04828_RegWrite(0x015f,0x0b);
LMK04828_RegWrite(0x0161,0x01);
LMK04828_RegWrite(0x0160,0x00);
LMK04828_RegWrite(0x0162,0x5c);
LMK04828_RegWrite(0x0162,0x5c);
LMK04828_RegWrite(0x0162,0x44);
LMK04828_RegWrite(0x0162,0x44);
LMK04828_RegWrite(0x0165,0x0c);
LMK04828_RegWrite(0x0164,0x00);
LMK04828_RegWrite(0x0163,0x00);
LMK04828_RegWrite(0x0166,0x00);
LMK04828_RegWrite(0x0168,0x0c);
LMK04828_RegWrite(0x0167,0x00);
LMK04828_RegWrite(0x0166,0x00);
LMK04828_RegWrite(0x0169,0x59);
LMK04828_RegWrite(0x0169,0x59);
LMK04828_RegWrite(0x0169,0x59);
LMK04828_RegWrite(0x0169,0x59);
LMK04828_RegWrite(0x0169,0x59);
LMK04828_RegWrite(0x016b,0x00);
LMK04828_RegWrite(0x016a,0x20);
LMK04828_RegWrite(0x016c,0x00);
LMK04828_RegWrite(0x016c,0x00);
LMK04828_RegWrite(0x016d,0x00);
LMK04828_RegWrite(0x016d,0x00);
LMK04828_RegWrite(0x016e,0x13);
LMK04828_RegWrite(0x016e,0x13);
LMK04828_RegWrite(0x017c,0x15);
LMK04828_RegWrite(0x017d,0x0f);

AFE7950 Configuration File Name : AFE_Configuration_SPI_Writes_file.txt

AFE_Configuration_SPI_Writes_file.txt

We would like to know, where we are going wrong and why this AFE7950 Configuration is giving these READ CHECK ERRORS.
Could you please kindly let us know how to solve these Errors and configure the AFE7950 properly without these errors?

  • Hi Team,

    any update on this case?  I am also facing the same issue.

  • Hi,

    To help you debug, could you please confirm the following:

    1. Were you able to check this AFE configuration with the EVM while programming it though the AFE79xx Latte GUI?
    2. Have you probed the clocks as close to the AFE pins as possible to make sure the LMK is being programmed correctly and that the AFE is getting the correct clock? The error reported for register 0x150 could be caused by clocks or power not being stable.
    3. Could you please provide the configuration python file used in the AFE79xx Latte GUI to generate this configuration?

    Best,

    Camilo