Post Go back to editing

ADRV9002 driver hang on FH enable

Thread Summary

The user is experiencing a driver hang when attempting to enable frequency hopping (FH) on the ADRV9002 with a custom board and Altera 5.4.84 kernel. The issue occurs during the 'adi_adrv9001_cals_InitCals_Run' function call, with errors indicating ARM memory is not accessible. The final answer suggests the problem is likely hardware-related, as the driver works with non-FH profiles and the issue is not reproducible on the ZCU102 eval board. The user is advised to check power supply lines and consider using a typical LTE profile for further testing.
AI Generated Content
Category: Software
Product Number: ADRV9002

Hello,

We are using the ADRV9002 with a custom board and are attempting to use the frequency hopping feature.  The driver we are using is the one contained in the adrv9002 kernel branch - some very minor porting work was required to bring this into our local build and the driver is working well outside of frequency hopping.

TES 0.20.0 was used to generate a frequency hopping enabled profile.  When the driver attempts to load with FH enabled, we see a delay of approximately 1 minute before the following messages are produced:

[   72.254643] adrv9002 spi0.0: [ERROR]: Error number  3 (0x00000003), Recovery action -101.In file drivers/iio/adc/navassa/devices/adrv9001/public/src/adi_adrv9001_arm.c, in function adi_adrv9001_arm_CmdStatus_Wait, in line  678, variable name device.Error message ArmCmdStatusWait() failed due to thrown ARM error. ARM time out .
[   72.297757] adrv9002 spi0.0: adrv9002_setup, 2861: failed with "ArmCmdStatusWait() failed due to thrown ARM error. ARM time out " (3)

[   75.111140] adrv9002 spi0.0: [ERROR]: Error number  1 (0x00000001), Recovery action -2.In file drivers/iio/adc/navassa/devices/adrv9001/public/src/adi_adrv9001_powermanagement.c, in function adi_adrv9001_powermanagement_Configure_Validate, in line  39, variable name readPattern.Error message ARM memory is not accessible. Check whether device clock and/or power is connected to the ADRV9001 board.
[   75.146262] adrv9002 spi0.0: [ERROR]: Error number  1 (0x00000001), Recovery action -2.In file drivers/iio/adc/navassa/devices/adrv9001/public/src/adi_adrv9001_powermanagement.c, in function adi_adrv9001_powermanagement_Configure, in line  70, variable name NULL.Error message ARM memory is not accessible. Check whether device clock and/or power is connected to the ADRV9001 board.
[   75.179999] adrv9002 spi0.0: adrv9002_power_mgmt_config, 2602: failed with "ARM memory is not accessible. Check whether device clock and/or power is connected to the ADRV9001 board" (1)
[   75.197890] cf_axi_adc: probe of ff220000.axi-adrv9002-rx-lpc failed with error -22

After this point the driver fails to attach and the device is non-operational.  Some investigation has found the failure is occurring somewhere related to the 'adi_adrv9001_cals_InitCals_Run' function call.  I understand that the FH tables are supposed to be provided via sysfs, however the driver doesn't load to this point so I am not sure what other steps are required other than providing the FH enabled profile.

Any guidance would be appreciated.

Thanks,

Justin