@@ -979,6 +979,11 @@ static ssize_t adrv9025_phy_tx_read(struct iio_dev *indio_dev,
979979 ret = adi_adrv9025_TrackingCalsEnableGet (phy -> madDevice , & mask );
980980 val = !!(tmask & mask );
981981 break ;
982+ case TX_DPD :
983+ tmask = ADI_ADRV9025_TRACK_TX1_DPD << chan -> channel ;
984+ ret = adi_adrv9025_TrackingCalsEnableGet (phy -> madDevice , & mask );
985+ val = !!(tmask & mask );
986+ break ;
982987 case TX_RF_BANDWIDTH :
983988 val = phy -> deviceInitStruct .tx .txChannelCfg [chan -> channel ]
984989 .profile .rfBandwidth_kHz *
@@ -1039,6 +1044,15 @@ static ssize_t adrv9025_phy_tx_write(struct iio_dev *indio_dev,
10391044 if (ret )
10401045 ret = adrv9025_dev_err (phy );
10411046 break ;
1047+ case TX_DPD :
1048+ mask = ADI_ADRV9025_TRACK_TX1_DPD << chan -> channel ;
1049+
1050+ ret = adi_adrv9025_TrackingCalsEnableSet (phy -> madDevice , mask ,
1051+ enable ? ADI_ADRV9025_TRACKING_CAL_ENABLE :
1052+ ADI_ADRV9025_TRACKING_CAL_DISABLE );
1053+ if (ret )
1054+ ret = adrv9025_dev_err (phy );
1055+ break ;
10421056 default :
10431057 ret = - EINVAL ;
10441058 }
@@ -1175,6 +1189,7 @@ static struct iio_chan_spec_ext_info adrv9025_phy_tx_ext_info[] = {
11751189 _ADRV9025_EXT_TX_INFO ("quadrature_tracking_en" , TX_QEC ),
11761190 _ADRV9025_EXT_TX_INFO ("lo_leakage_tracking_en" , TX_LOL ),
11771191 _ADRV9025_EXT_TX_INFO ("rf_bandwidth" , TX_RF_BANDWIDTH ),
1192+ _ADRV9025_EXT_TX_INFO ("dpd_en" , TX_DPD ),
11781193 {},
11791194};
11801195static int adrv9025_gainindex_to_gain (struct adrv9025_rf_phy * phy , int channel ,
0 commit comments