@@ -977,6 +977,11 @@ static ssize_t adrv9025_phy_tx_read(struct iio_dev *indio_dev,
977977 ret = adi_adrv9025_TrackingCalsEnableGet (phy -> madDevice , & mask );
978978 val = !!(tmask & mask );
979979 break ;
980+ case TX_DPD :
981+ tmask = ADI_ADRV9025_TRACK_TX1_DPD << chan -> channel ;
982+ ret = adi_adrv9025_TrackingCalsEnableGet (phy -> madDevice , & mask );
983+ val = !!(tmask & mask );
984+ break ;
980985 case TX_RF_BANDWIDTH :
981986 val = phy -> deviceInitStruct .tx .txChannelCfg [chan -> channel ]
982987 .profile .rfBandwidth_kHz *
@@ -1037,6 +1042,15 @@ static ssize_t adrv9025_phy_tx_write(struct iio_dev *indio_dev,
10371042 if (ret )
10381043 ret = adrv9025_dev_err (phy );
10391044 break ;
1045+ case TX_DPD :
1046+ mask = ADI_ADRV9025_TRACK_TX1_DPD << chan -> channel ;
1047+
1048+ ret = adi_adrv9025_TrackingCalsEnableSet (phy -> madDevice , mask ,
1049+ enable ? ADI_ADRV9025_TRACKING_CAL_ENABLE :
1050+ ADI_ADRV9025_TRACKING_CAL_DISABLE );
1051+ if (ret )
1052+ ret = adrv9025_dev_err (phy );
1053+ break ;
10401054 default :
10411055 ret = - EINVAL ;
10421056 }
@@ -1173,6 +1187,7 @@ static struct iio_chan_spec_ext_info adrv9025_phy_tx_ext_info[] = {
11731187 _ADRV9025_EXT_TX_INFO ("quadrature_tracking_en" , TX_QEC ),
11741188 _ADRV9025_EXT_TX_INFO ("lo_leakage_tracking_en" , TX_LOL ),
11751189 _ADRV9025_EXT_TX_INFO ("rf_bandwidth" , TX_RF_BANDWIDTH ),
1190+ _ADRV9025_EXT_TX_INFO ("dpd_en" , TX_DPD ),
11761191 {},
11771192};
11781193static int adrv9025_gainindex_to_gain (struct adrv9025_rf_phy * phy , int channel ,
0 commit comments