@@ -390,7 +390,7 @@ static int adf4030_set_vco_cal(struct adf4030_dev *dev, bool en)
390
390
391
391
/**
392
392
* @brief Set Temperature Readback feature's initial state.
393
- * This feature should be disabled after reading temperature.
393
+ * This function should be called before reading temperature to trigger measurement .
394
394
* @param dev - The device structure.
395
395
* @param en - The enable or disable Temperature readback feature.
396
396
* @return - 0 in case of success or negative error code.
@@ -414,13 +414,15 @@ int adf4030_set_temperature(struct adf4030_dev *dev, bool en)
414
414
no_os_field_prep (ADF4030_EN_ADC_CNV , true) |
415
415
no_os_field_prep (ADF4030_EN_ADC_CLK , true) |
416
416
no_os_field_prep (ADF4030_EN_ADC , true);
417
- msk = ADF4030_MANUAL_MODE | ADF4030_EN_ALIGN |
417
+ msk = ADF4030_ADC_CLK_SEL | ADF4030_EN_ADC_CNV |
418
418
ADF4030_EN_ADC_CLK | ADF4030_EN_ADC ;
419
419
ret = adf4030_spi_update_bits (dev , 0x61 , msk , val );
420
420
if (ret )
421
421
return ret ;
422
-
423
- return adf4030_spi_write (dev , 0x72 , ADF4030_SPI_DUMMY_DATA );
422
+ ret = adf4030_spi_write (dev , 0x62 , ADF4030_ADC_CLK_DIV );
423
+ if (ret )
424
+ return ret ;
425
+ return adf4030_spi_update_bits (dev , 0x72 , ADF4030_ADC_ST_CNV , 0xFF );
424
426
425
427
} else {
426
428
ret = adf4030_spi_update_bits (dev , 0x61 ,
@@ -447,6 +449,10 @@ int adf4030_get_temperature(struct adf4030_dev *dev, int16_t *temperature)
447
449
if (!dev )
448
450
return - EINVAL ;
449
451
452
+ ret = adf4030_spi_update_bits (dev , 0x72 , ADF4030_ADC_ST_CNV , 0x0 );
453
+ if (ret )
454
+ return ret ;
455
+
450
456
ret = adf4030_spi_read (dev , 0x93 , & tmp );
451
457
if (ret )
452
458
return ret ;
0 commit comments