AnsweredAssumed Answered

AD9371: Configuring AD9371 via drivers

Question asked by Abhisheknaik on Jul 19, 2017
Latest reply on Aug 1, 2017 by mhennerich
Branched to a new discussion

Hello Team,

               Please let me know if approach is correct.

I have Xilinx ZC706 and AD9371 evk board. I want to configure ad9371 for following parameters.

 

Tx/Tx Synthesis/
Rx Bandwidth (MHz)
Tx Input
Rate (MSPS)
Rx Output
Rate (MSPS)
Reference Clock Options (MHz)
20/100/20122.8830.72122.88

I don't want to load profile every time xilinx board is booted. So I want to make changes ad9371_phy_parse_dt() function
in ad9371.c driver and creating new uimage.

I followed following step..... 

 

1> I generated a profile for above requirement from AD9371 filter wizard(v1.10)

2> Loaded that filter wizard profile to AD9371 TES software and generated new set data structure files(headless.*, init.*, init_ad9528.*).

3> Then changed all parameters in ad9371_phy_parse_dt() in ad9371.c file with parameters in init.c file(given by TES software).

4> Replaced filter coefficient in ad9371.c file with filter coefficient in init.c(given by TES software).

5> I did appropriate changes in device file and compiled it(dts -> dtb).

6> Created new uimage.

7> Flashed new uimage and new device tree.

 

Issue: Ad9371.c probe is failing with following error.

ad9371 spi32766.1: ad9371_probe : enter
**ASMAITHA** request_firmware (path) Mykonos_M3.bin

***ASMAITHA RX lane_rate_kHz 1228800

***ASMAITHA RX-OS lane_rate_kHz 2457600

***ASMAITHA TX lane_rate_kHz 2457600

***ASMAITHA Mykonos_Initialize Done
ERROR: 314: If Tx Profile is valid, a matching ORx profile must be provided to set ADC divider and digital filtering for loopback calibrations
ERROR: 314: If Tx Profile is valid, a matching ORx profile must be provided to set ADC divider and digital filtering for loopback calibrations
random: nonblocking pool is initialized
ERROR: 359: MYKONOS_waitArmCmdStatus() exited due to ARM error for the desired ARM opcode
ERROR: 259: ARM Command Error in MYKONOS_setRfPllFrequency()
ERROR: 359: MYKONOS_waitArmCmdStatus() exited due to ARM error for the desired ARM opcode
ERROR: 259: ARM Command Error in MYKONOS_setRfPllFrequency()
ad9371 spi32766.1: PLLs unlocked 7

***ASMAITHA RX lane_rate_kHz 1228800

***ASMAITHA RX-OS lane_rate_kHz 2457600

***ASMAITHA TX lane_rate_kHz 2457600

***ASMAITHA Mykonos_Initialize Done
ERROR: 314: If Tx Profile is valid, a matching ORx profile must be provided to set ADC divider and digital filtering for loopback calibrations
ERROR: 314: If Tx Profile is valid, a matching ORx profile must be provided to set ADC divider and digital filtering for loopback calibrations
ERROR: 359: MYKONOS_waitArmCmdStatus() exited due to ARM error for the desired ARM opcode
ERROR: 259: ARM Command Error in MYKONOS_setRfPllFrequency()
ERROR: 359: MYKONOS_waitArmCmdStatus() exited due to ARM error for the desired ARM opcode
ERROR: 259: ARM Command Error in MYKONOS_setRfPllFrequency()
ad9371 spi32766.1: PLLs unlocked 7
ad9371: probe of spi32766.1 failed with error -14

Am I missing something? Please help me out.

 

Thanks and Regards,

Abhishek Naik.

Outcomes