* [PATCH v2 0/2] tscadc: Couple of fixes
@ 2018-12-03 8:01 ` Vignesh R
0 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2018-12-03 8:01 UTC (permalink / raw)
To: Lee Jones
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Vignesh R, linux-iio, linux-omap,
linux-kernel
Couple of fixes for tscadc drivers that I found while adding support for
new SoC.
Vignesh R (2):
mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd
cells
iio: adc: ti_am335x_tscadc: Improve accuracy of measurement
drivers/iio/adc/ti_am335x_adc.c | 5 ++++-
drivers/mfd/ti_am335x_tscadc.c | 5 +++--
include/linux/mfd/ti_am335x_tscadc.h | 4 ++++
3 files changed, 11 insertions(+), 3 deletions(-)
--
2.19.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 0/2] tscadc: Couple of fixes
@ 2018-12-03 8:01 ` Vignesh R
0 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2018-12-03 8:01 UTC (permalink / raw)
To: Lee Jones
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Vignesh R, linux-iio, linux-omap,
linux-kernel
Couple of fixes for tscadc drivers that I found while adding support for
new SoC.
Vignesh R (2):
mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd
cells
iio: adc: ti_am335x_tscadc: Improve accuracy of measurement
drivers/iio/adc/ti_am335x_adc.c | 5 ++++-
drivers/mfd/ti_am335x_tscadc.c | 5 +++--
include/linux/mfd/ti_am335x_tscadc.h | 4 ++++
3 files changed, 11 insertions(+), 3 deletions(-)
--
2.19.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/2] mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd cells
2018-12-03 8:01 ` Vignesh R
@ 2018-12-03 8:01 ` Vignesh R
-1 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2018-12-03 8:01 UTC (permalink / raw)
To: Lee Jones
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Vignesh R, linux-iio, linux-omap,
linux-kernel
Use PLATFORM_DEVID_AUTO to number mfd cells while registering, so that
different instances are uniquely identified. This is required in order
to support registering of multiple instances of same ti_am335x_tscadc IP.
Signed-off-by: Vignesh R <vigneshr@ti.com>
---
v2: use PLATFORM_DEVID_AUTO as suggested by Lee Jones
drivers/mfd/ti_am335x_tscadc.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c
index c2d47d78705b..fd111296b959 100644
--- a/drivers/mfd/ti_am335x_tscadc.c
+++ b/drivers/mfd/ti_am335x_tscadc.c
@@ -264,8 +264,9 @@ static int ti_tscadc_probe(struct platform_device *pdev)
cell->pdata_size = sizeof(tscadc);
}
- err = mfd_add_devices(&pdev->dev, pdev->id, tscadc->cells,
- tscadc->used_cells, NULL, 0, NULL);
+ err = mfd_add_devices(&pdev->dev, PLATFORM_DEVID_AUTO,
+ tscadc->cells, tscadc->used_cells, NULL,
+ 0, NULL);
if (err < 0)
goto err_disable_clk;
--
2.19.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 1/2] mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd cells
@ 2018-12-03 8:01 ` Vignesh R
0 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2018-12-03 8:01 UTC (permalink / raw)
To: Lee Jones
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Vignesh R, linux-iio, linux-omap,
linux-kernel
Use PLATFORM_DEVID_AUTO to number mfd cells while registering, so that
different instances are uniquely identified. This is required in order
to support registering of multiple instances of same ti_am335x_tscadc IP.
Signed-off-by: Vignesh R <vigneshr@ti.com>
---
v2: use PLATFORM_DEVID_AUTO as suggested by Lee Jones
drivers/mfd/ti_am335x_tscadc.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c
index c2d47d78705b..fd111296b959 100644
--- a/drivers/mfd/ti_am335x_tscadc.c
+++ b/drivers/mfd/ti_am335x_tscadc.c
@@ -264,8 +264,9 @@ static int ti_tscadc_probe(struct platform_device *pdev)
cell->pdata_size = sizeof(tscadc);
}
- err = mfd_add_devices(&pdev->dev, pdev->id, tscadc->cells,
- tscadc->used_cells, NULL, 0, NULL);
+ err = mfd_add_devices(&pdev->dev, PLATFORM_DEVID_AUTO,
+ tscadc->cells, tscadc->used_cells, NULL,
+ 0, NULL);
if (err < 0)
goto err_disable_clk;
--
2.19.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/2] iio: adc: ti_am335x_tscadc: Improve accuracy of measurement
2018-12-03 8:01 ` Vignesh R
@ 2018-12-03 8:01 ` Vignesh R
-1 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2018-12-03 8:01 UTC (permalink / raw)
To: Lee Jones
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Vignesh R, linux-iio, linux-omap,
linux-kernel
When performing single ended measurements with TSCADC, its recommended
to set negative input (SEL_INM_SWC_3_0) of ADC step to ADC's VREFN in the
corresponding STEP_CONFIGx register.
Also, the positive(SEL_RFP_SWC_2_0) and negative(SEL_RFM_SWC_1_0)
reference voltage for ADC step needs to be set to VREFP and VREFN
respectively in STEP_CONFIGx register.
Without these changes, there may be variation of as much as ~2% in the
ADC's digital output which is bad for precise measurement.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
---
v2: No change
drivers/iio/adc/ti_am335x_adc.c | 5 ++++-
include/linux/mfd/ti_am335x_tscadc.h | 4 ++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
index cafb1dcadc48..9d984f2a8ba7 100644
--- a/drivers/iio/adc/ti_am335x_adc.c
+++ b/drivers/iio/adc/ti_am335x_adc.c
@@ -142,7 +142,10 @@ static void tiadc_step_config(struct iio_dev *indio_dev)
stepconfig |= STEPCONFIG_MODE_SWCNT;
tiadc_writel(adc_dev, REG_STEPCONFIG(steps),
- stepconfig | STEPCONFIG_INP(chan));
+ stepconfig | STEPCONFIG_INP(chan) |
+ STEPCONFIG_INM_ADCREFM |
+ STEPCONFIG_RFP_VREFP |
+ STEPCONFIG_RFM_VREFN);
if (adc_dev->open_delay[i] > STEPDELAY_OPEN_MASK) {
dev_warn(dev, "chan %d open delay truncating to 0x3FFFF\n",
diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h
index b9a53e013bff..483168403ae5 100644
--- a/include/linux/mfd/ti_am335x_tscadc.h
+++ b/include/linux/mfd/ti_am335x_tscadc.h
@@ -78,6 +78,8 @@
#define STEPCONFIG_YNN BIT(8)
#define STEPCONFIG_XNP BIT(9)
#define STEPCONFIG_YPN BIT(10)
+#define STEPCONFIG_RFP(val) ((val) << 12)
+#define STEPCONFIG_RFP_VREFP (0x3 << 12)
#define STEPCONFIG_INM_MASK (0xF << 15)
#define STEPCONFIG_INM(val) ((val) << 15)
#define STEPCONFIG_INM_ADCREFM STEPCONFIG_INM(8)
@@ -86,6 +88,8 @@
#define STEPCONFIG_INP_AN4 STEPCONFIG_INP(4)
#define STEPCONFIG_INP_ADCREFM STEPCONFIG_INP(8)
#define STEPCONFIG_FIFO1 BIT(26)
+#define STEPCONFIG_RFM(val) ((val) << 23)
+#define STEPCONFIG_RFM_VREFN (0x3 << 23)
/* Delay register */
#define STEPDELAY_OPEN_MASK (0x3FFFF << 0)
--
2.19.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/2] iio: adc: ti_am335x_tscadc: Improve accuracy of measurement
@ 2018-12-03 8:01 ` Vignesh R
0 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2018-12-03 8:01 UTC (permalink / raw)
To: Lee Jones
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Vignesh R, linux-iio, linux-omap,
linux-kernel
When performing single ended measurements with TSCADC, its recommended
to set negative input (SEL_INM_SWC_3_0) of ADC step to ADC's VREFN in the
corresponding STEP_CONFIGx register.
Also, the positive(SEL_RFP_SWC_2_0) and negative(SEL_RFM_SWC_1_0)
reference voltage for ADC step needs to be set to VREFP and VREFN
respectively in STEP_CONFIGx register.
Without these changes, there may be variation of as much as ~2% in the
ADC's digital output which is bad for precise measurement.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
---
v2: No change
drivers/iio/adc/ti_am335x_adc.c | 5 ++++-
include/linux/mfd/ti_am335x_tscadc.h | 4 ++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
index cafb1dcadc48..9d984f2a8ba7 100644
--- a/drivers/iio/adc/ti_am335x_adc.c
+++ b/drivers/iio/adc/ti_am335x_adc.c
@@ -142,7 +142,10 @@ static void tiadc_step_config(struct iio_dev *indio_dev)
stepconfig |= STEPCONFIG_MODE_SWCNT;
tiadc_writel(adc_dev, REG_STEPCONFIG(steps),
- stepconfig | STEPCONFIG_INP(chan));
+ stepconfig | STEPCONFIG_INP(chan) |
+ STEPCONFIG_INM_ADCREFM |
+ STEPCONFIG_RFP_VREFP |
+ STEPCONFIG_RFM_VREFN);
if (adc_dev->open_delay[i] > STEPDELAY_OPEN_MASK) {
dev_warn(dev, "chan %d open delay truncating to 0x3FFFF\n",
diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h
index b9a53e013bff..483168403ae5 100644
--- a/include/linux/mfd/ti_am335x_tscadc.h
+++ b/include/linux/mfd/ti_am335x_tscadc.h
@@ -78,6 +78,8 @@
#define STEPCONFIG_YNN BIT(8)
#define STEPCONFIG_XNP BIT(9)
#define STEPCONFIG_YPN BIT(10)
+#define STEPCONFIG_RFP(val) ((val) << 12)
+#define STEPCONFIG_RFP_VREFP (0x3 << 12)
#define STEPCONFIG_INM_MASK (0xF << 15)
#define STEPCONFIG_INM(val) ((val) << 15)
#define STEPCONFIG_INM_ADCREFM STEPCONFIG_INM(8)
@@ -86,6 +88,8 @@
#define STEPCONFIG_INP_AN4 STEPCONFIG_INP(4)
#define STEPCONFIG_INP_ADCREFM STEPCONFIG_INP(8)
#define STEPCONFIG_FIFO1 BIT(26)
+#define STEPCONFIG_RFM(val) ((val) << 23)
+#define STEPCONFIG_RFM_VREFN (0x3 << 23)
/* Delay register */
#define STEPDELAY_OPEN_MASK (0x3FFFF << 0)
--
2.19.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [GIT PULL] Immutable branch between MFD and IIO due for the v4.21 merge window
2018-12-03 8:01 ` Vignesh R
` (2 preceding siblings ...)
(?)
@ 2018-12-03 11:34 ` Lee Jones
-1 siblings, 0 replies; 8+ messages in thread
From: Lee Jones @ 2018-12-03 11:34 UTC (permalink / raw)
To: Vignesh R
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, linux-iio, linux-omap, linux-kernel
Enjoy!
The following changes since commit 651022382c7f8da46cb4872a545ee1da6d097d2a:
Linux 4.20-rc1 (2018-11-04 15:37:52 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-iio-v4.21
for you to fetch changes up to 4b3ab9372ffa569827c8f7b7ffc7b69ba544a3bd:
iio: adc: ti_am335x_tscadc: Improve accuracy of measurement (2018-12-03 11:33:20 +0000)
----------------------------------------------------------------
Immutable branch between MFD and IIO due for the v4.21 merge window
----------------------------------------------------------------
Vignesh R (2):
mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd cells
iio: adc: ti_am335x_tscadc: Improve accuracy of measurement
drivers/iio/adc/ti_am335x_adc.c | 5 ++++-
drivers/mfd/ti_am335x_tscadc.c | 5 +++--
include/linux/mfd/ti_am335x_tscadc.h | 4 ++++
3 files changed, 11 insertions(+), 3 deletions(-)
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd cells
2018-12-03 8:01 ` Vignesh R
(?)
@ 2018-12-03 11:35 ` Lee Jones
-1 siblings, 0 replies; 8+ messages in thread
From: Lee Jones @ 2018-12-03 11:35 UTC (permalink / raw)
To: Vignesh R
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, linux-iio, linux-omap, linux-kernel
On Mon, 03 Dec 2018, Vignesh R wrote:
> Use PLATFORM_DEVID_AUTO to number mfd cells while registering, so that
> different instances are uniquely identified. This is required in order
> to support registering of multiple instances of same ti_am335x_tscadc IP.
>
> Signed-off-by: Vignesh R <vigneshr@ti.com>
> ---
> v2: use PLATFORM_DEVID_AUTO as suggested by Lee Jones
>
> drivers/mfd/ti_am335x_tscadc.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
Applied, thanks.
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-12-03 11:35 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-03 8:01 [PATCH v2 0/2] tscadc: Couple of fixes Vignesh R
2018-12-03 8:01 ` Vignesh R
2018-12-03 8:01 ` [PATCH v2 1/2] mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd cells Vignesh R
2018-12-03 8:01 ` Vignesh R
2018-12-03 11:35 ` Lee Jones
2018-12-03 8:01 ` [PATCH v2 2/2] iio: adc: ti_am335x_tscadc: Improve accuracy of measurement Vignesh R
2018-12-03 8:01 ` Vignesh R
2018-12-03 11:34 ` [GIT PULL] Immutable branch between MFD and IIO due for the v4.21 merge window Lee Jones
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.