* [PATCH v2 0/1] AUXADC: Mediatek auxadc driver @ 2021-08-31 5:42 Hui Liu 2021-08-31 5:42 ` [PATCH v2 1/1] iio: mtk-auxadc: update case IIO_CHAN_INFO_PROCESSED Hui Liu 0 siblings, 1 reply; 3+ messages in thread From: Hui Liu @ 2021-08-31 5:42 UTC (permalink / raw) To: robh+dt, jic23, lars, pmeerw Cc: srv_heupstream, hui.liu, zhiyong.tao, chun-hung.wu, yingjoe.chen, seiya.wang, ben.tseng, matthias.bgg, s.hauer, devicetree, linux-kernel, linux-arm-kernel, linux-iio, linux-mediatek This series includes one patch: 1.update case IIO_CHAN_INFO_PROCESSED: convert raw data to voltage. Changes in patch v2: 1)abandon support case IIO_CHAN_INFO_RAW. Changes in patch v1: 1)fix typo covert to convert in patch 2/2 description. Hui Liu (1): iio: mtk-auxadc: update case IIO_CHAN_INFO_PROCESSED drivers/iio/adc/mt6577_auxadc.c | 8 ++++++++ 1 file changed, 8 insertions(+) -- 2.18.0 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 1/1] iio: mtk-auxadc: update case IIO_CHAN_INFO_PROCESSED 2021-08-31 5:42 [PATCH v2 0/1] AUXADC: Mediatek auxadc driver Hui Liu @ 2021-08-31 5:42 ` Hui Liu 2021-09-05 11:20 ` Jonathan Cameron 0 siblings, 1 reply; 3+ messages in thread From: Hui Liu @ 2021-08-31 5:42 UTC (permalink / raw) To: robh+dt, jic23, lars, pmeerw Cc: srv_heupstream, hui.liu, zhiyong.tao, chun-hung.wu, yingjoe.chen, seiya.wang, ben.tseng, matthias.bgg, s.hauer, devicetree, linux-kernel, linux-arm-kernel, linux-iio, linux-mediatek Convert raw data to processed data, the processed data is input voltage. Signed-off-by: Hui Liu <hui.liu@mediatek.com> --- drivers/iio/adc/mt6577_auxadc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c index 79c1dd68b909..d4fccd52ef08 100644 --- a/drivers/iio/adc/mt6577_auxadc.c +++ b/drivers/iio/adc/mt6577_auxadc.c @@ -82,6 +82,10 @@ static const struct iio_chan_spec mt6577_auxadc_iio_channels[] = { MT6577_AUXADC_CHANNEL(15), }; +/* For Voltage calculation */ +#define VOLTAGE_FULL_RANGE 1500 /* VA voltage */ +#define AUXADC_PRECISE 4096 /* 12 bits */ + static int mt_auxadc_get_cali_data(int rawdata, bool enable_cali) { return rawdata; @@ -191,6 +195,10 @@ static int mt6577_auxadc_read_raw(struct iio_dev *indio_dev, } if (adc_dev->dev_comp->sample_data_cali) *val = mt_auxadc_get_cali_data(*val, true); + + /* Convert adc raw data to voltage: 0 - 1500 mV */ + *val = *val * VOLTAGE_FULL_RANGE / AUXADC_PRECISE; + return IIO_VAL_INT; default: -- 2.18.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 1/1] iio: mtk-auxadc: update case IIO_CHAN_INFO_PROCESSED 2021-08-31 5:42 ` [PATCH v2 1/1] iio: mtk-auxadc: update case IIO_CHAN_INFO_PROCESSED Hui Liu @ 2021-09-05 11:20 ` Jonathan Cameron 0 siblings, 0 replies; 3+ messages in thread From: Jonathan Cameron @ 2021-09-05 11:20 UTC (permalink / raw) To: Hui Liu Cc: robh+dt, lars, pmeerw, srv_heupstream, zhiyong.tao, chun-hung.wu, yingjoe.chen, seiya.wang, ben.tseng, matthias.bgg, s.hauer, devicetree, linux-kernel, linux-arm-kernel, linux-iio, linux-mediatek On Tue, 31 Aug 2021 13:42:07 +0800 Hui Liu <hui.liu@mediatek.com> wrote: > Convert raw data to processed data, the processed data is input voltage. > > Signed-off-by: Hui Liu <hui.liu@mediatek.com> Looks very much to be a fix. Please track down appropriate patch and let me know what the Fixes: tag should be. If you reply to this thread I'll add it plus a not saying it is an ABI change, but a necessary one as the driver was previously buggy. Whilst we are here, what is the cali_data() function actually there for? Seems to only set *val = *val which is rather pointless. Thanks, Jonathan > --- > drivers/iio/adc/mt6577_auxadc.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c > index 79c1dd68b909..d4fccd52ef08 100644 > --- a/drivers/iio/adc/mt6577_auxadc.c > +++ b/drivers/iio/adc/mt6577_auxadc.c > @@ -82,6 +82,10 @@ static const struct iio_chan_spec mt6577_auxadc_iio_channels[] = { > MT6577_AUXADC_CHANNEL(15), > }; > > +/* For Voltage calculation */ > +#define VOLTAGE_FULL_RANGE 1500 /* VA voltage */ > +#define AUXADC_PRECISE 4096 /* 12 bits */ > + > static int mt_auxadc_get_cali_data(int rawdata, bool enable_cali) > { > return rawdata; > @@ -191,6 +195,10 @@ static int mt6577_auxadc_read_raw(struct iio_dev *indio_dev, > } > if (adc_dev->dev_comp->sample_data_cali) > *val = mt_auxadc_get_cali_data(*val, true); > + > + /* Convert adc raw data to voltage: 0 - 1500 mV */ > + *val = *val * VOLTAGE_FULL_RANGE / AUXADC_PRECISE; > + > return IIO_VAL_INT; > > default: ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-09-05 11:17 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-08-31 5:42 [PATCH v2 0/1] AUXADC: Mediatek auxadc driver Hui Liu 2021-08-31 5:42 ` [PATCH v2 1/1] iio: mtk-auxadc: update case IIO_CHAN_INFO_PROCESSED Hui Liu 2021-09-05 11:20 ` Jonathan Cameron
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).