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

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.