* [PATCH v3 0/4] iio: potentiometer: mcp4531: New parts, DT and typo
@ 2016-06-30 7:34 Florian Vaussard
2016-06-30 7:34 ` [PATCH v3 1/4] iio: potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x and MCP466x Florian Vaussard
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Florian Vaussard @ 2016-06-30 7:34 UTC (permalink / raw)
To: devicetree, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Florian Vaussard
Hello,
This series first adds support for parts missing from mcp4531 driver
(MCP454x, MCP456x, MCP464x and MCP466x). It then introduces the necessary
device tree binding to perform DT boot. Finally it fixes a typo in the
Kconfig.
Tested with MCP4561-103 and MCP4561-503 (DT boot).
Best regards,
Florian
---
Since v2:
- Fixed 7-bit/8-bit mix in the DT documentation
- Use a macro to declare compatibles in the macro, as suggested by Peter
Since v1:
- Applied Acks
- Moved the binding to i2c/trivial-devices.txt
- Fixed data pointer handling in struct of_device_id
- Renamed struct of_device_id to mcp4531_of_match
- New patch to fix typo in Kconfig
Florian Vaussard (4):
iio: potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x
and MCP466x
iio: potentiometer: mcp4531: Add device tree binding documentation
iio: potentiometer: mcp4531: Add device tree binding
iio: potentiometer: Fix typo in Kconfig
.../devicetree/bindings/i2c/trivial-devices.txt | 64 +++++++++
drivers/iio/potentiometer/Kconfig | 12 +-
drivers/iio/potentiometer/mcp4531.c | 159 ++++++++++++++++++++-
3 files changed, 229 insertions(+), 6 deletions(-)
--
2.5.5
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 1/4] iio: potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x and MCP466x
2016-06-30 7:34 [PATCH v3 0/4] iio: potentiometer: mcp4531: New parts, DT and typo Florian Vaussard
@ 2016-06-30 7:34 ` Florian Vaussard
2016-07-03 10:53 ` Jonathan Cameron
2016-06-30 7:34 ` [PATCH v3 2/4] iio: potentiometer: mcp4531: Add device tree binding documentation Florian Vaussard
` (2 subsequent siblings)
3 siblings, 1 reply; 13+ messages in thread
From: Florian Vaussard @ 2016-06-30 7:34 UTC (permalink / raw)
To: devicetree, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Florian Vaussard
This patch adds support for MCP454x, MCP456x, MCP464x and MCP466x parts.
The main difference with currently supported parts (MCP453x and alike) is
the addition of a non-volatile memory in order to recall the wiper setting
at power-on. This feature is currently not supported and only the
volatile memory is used to set the wiper.
Acked-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
---
drivers/iio/potentiometer/Kconfig | 6 ++--
drivers/iio/potentiometer/mcp4531.c | 72 +++++++++++++++++++++++++++++++++++++
2 files changed, 76 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/potentiometer/Kconfig b/drivers/iio/potentiometer/Kconfig
index 0941c8d4..55c2414 100644
--- a/drivers/iio/potentiometer/Kconfig
+++ b/drivers/iio/potentiometer/Kconfig
@@ -49,8 +49,10 @@ config MCP4531
depends on I2C
help
Say yes here to build support for the Microchip
- MCP4531, MCP4532, MCP4551, MCP4552,
- MCP4631, MCP4632, MCP4651, MCP4652
+ MCP4531, MCP4532, MCP4541, MCP4542,
+ MCP4551, MCP4552, MCP4561, MCP4562,
+ MCP4631, MCP4632, MCP4641, MCP4642,
+ MCP4651, MCP4652, MCP4661, MCP4662
digital potentiomenter chips.
To compile this driver as a module, choose M here: the
diff --git a/drivers/iio/potentiometer/mcp4531.c b/drivers/iio/potentiometer/mcp4531.c
index 3b72e1a..2251173 100644
--- a/drivers/iio/potentiometer/mcp4531.c
+++ b/drivers/iio/potentiometer/mcp4531.c
@@ -8,12 +8,20 @@
* DEVID #Wipers #Positions Resistor Opts (kOhm) i2c address
* mcp4531 1 129 5, 10, 50, 100 010111x
* mcp4532 1 129 5, 10, 50, 100 01011xx
+ * mcp4541 1 129 5, 10, 50, 100 010111x
+ * mcp4542 1 129 5, 10, 50, 100 01011xx
* mcp4551 1 257 5, 10, 50, 100 010111x
* mcp4552 1 257 5, 10, 50, 100 01011xx
+ * mcp4561 1 257 5, 10, 50, 100 010111x
+ * mcp4562 1 257 5, 10, 50, 100 01011xx
* mcp4631 2 129 5, 10, 50, 100 0101xxx
* mcp4632 2 129 5, 10, 50, 100 01011xx
+ * mcp4641 2 129 5, 10, 50, 100 0101xxx
+ * mcp4642 2 129 5, 10, 50, 100 01011xx
* mcp4651 2 257 5, 10, 50, 100 0101xxx
* mcp4652 2 257 5, 10, 50, 100 01011xx
+ * mcp4661 2 257 5, 10, 50, 100 0101xxx
+ * mcp4662 2 257 5, 10, 50, 100 01011xx
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published by
@@ -37,18 +45,34 @@ enum mcp4531_type {
MCP453x_103,
MCP453x_503,
MCP453x_104,
+ MCP454x_502,
+ MCP454x_103,
+ MCP454x_503,
+ MCP454x_104,
MCP455x_502,
MCP455x_103,
MCP455x_503,
MCP455x_104,
+ MCP456x_502,
+ MCP456x_103,
+ MCP456x_503,
+ MCP456x_104,
MCP463x_502,
MCP463x_103,
MCP463x_503,
MCP463x_104,
+ MCP464x_502,
+ MCP464x_103,
+ MCP464x_503,
+ MCP464x_104,
MCP465x_502,
MCP465x_103,
MCP465x_503,
MCP465x_104,
+ MCP466x_502,
+ MCP466x_103,
+ MCP466x_503,
+ MCP466x_104,
};
static const struct mcp4531_cfg mcp4531_cfg[] = {
@@ -56,18 +80,34 @@ static const struct mcp4531_cfg mcp4531_cfg[] = {
[MCP453x_103] = { .wipers = 1, .max_pos = 128, .kohms = 10, },
[MCP453x_503] = { .wipers = 1, .max_pos = 128, .kohms = 50, },
[MCP453x_104] = { .wipers = 1, .max_pos = 128, .kohms = 100, },
+ [MCP454x_502] = { .wipers = 1, .max_pos = 128, .kohms = 5, },
+ [MCP454x_103] = { .wipers = 1, .max_pos = 128, .kohms = 10, },
+ [MCP454x_503] = { .wipers = 1, .max_pos = 128, .kohms = 50, },
+ [MCP454x_104] = { .wipers = 1, .max_pos = 128, .kohms = 100, },
[MCP455x_502] = { .wipers = 1, .max_pos = 256, .kohms = 5, },
[MCP455x_103] = { .wipers = 1, .max_pos = 256, .kohms = 10, },
[MCP455x_503] = { .wipers = 1, .max_pos = 256, .kohms = 50, },
[MCP455x_104] = { .wipers = 1, .max_pos = 256, .kohms = 100, },
+ [MCP456x_502] = { .wipers = 1, .max_pos = 256, .kohms = 5, },
+ [MCP456x_103] = { .wipers = 1, .max_pos = 256, .kohms = 10, },
+ [MCP456x_503] = { .wipers = 1, .max_pos = 256, .kohms = 50, },
+ [MCP456x_104] = { .wipers = 1, .max_pos = 256, .kohms = 100, },
[MCP463x_502] = { .wipers = 2, .max_pos = 128, .kohms = 5, },
[MCP463x_103] = { .wipers = 2, .max_pos = 128, .kohms = 10, },
[MCP463x_503] = { .wipers = 2, .max_pos = 128, .kohms = 50, },
[MCP463x_104] = { .wipers = 2, .max_pos = 128, .kohms = 100, },
+ [MCP464x_502] = { .wipers = 2, .max_pos = 128, .kohms = 5, },
+ [MCP464x_103] = { .wipers = 2, .max_pos = 128, .kohms = 10, },
+ [MCP464x_503] = { .wipers = 2, .max_pos = 128, .kohms = 50, },
+ [MCP464x_104] = { .wipers = 2, .max_pos = 128, .kohms = 100, },
[MCP465x_502] = { .wipers = 2, .max_pos = 256, .kohms = 5, },
[MCP465x_103] = { .wipers = 2, .max_pos = 256, .kohms = 10, },
[MCP465x_503] = { .wipers = 2, .max_pos = 256, .kohms = 50, },
[MCP465x_104] = { .wipers = 2, .max_pos = 256, .kohms = 100, },
+ [MCP466x_502] = { .wipers = 2, .max_pos = 256, .kohms = 5, },
+ [MCP466x_103] = { .wipers = 2, .max_pos = 256, .kohms = 10, },
+ [MCP466x_503] = { .wipers = 2, .max_pos = 256, .kohms = 50, },
+ [MCP466x_104] = { .wipers = 2, .max_pos = 256, .kohms = 100, },
};
#define MCP4531_WRITE (0 << 2)
@@ -187,6 +227,14 @@ static const struct i2c_device_id mcp4531_id[] = {
{ "mcp4532-103", MCP453x_103 },
{ "mcp4532-503", MCP453x_503 },
{ "mcp4532-104", MCP453x_104 },
+ { "mcp4541-502", MCP454x_502 },
+ { "mcp4541-103", MCP454x_103 },
+ { "mcp4541-503", MCP454x_503 },
+ { "mcp4541-104", MCP454x_104 },
+ { "mcp4542-502", MCP454x_502 },
+ { "mcp4542-103", MCP454x_103 },
+ { "mcp4542-503", MCP454x_503 },
+ { "mcp4542-104", MCP454x_104 },
{ "mcp4551-502", MCP455x_502 },
{ "mcp4551-103", MCP455x_103 },
{ "mcp4551-503", MCP455x_503 },
@@ -195,6 +243,14 @@ static const struct i2c_device_id mcp4531_id[] = {
{ "mcp4552-103", MCP455x_103 },
{ "mcp4552-503", MCP455x_503 },
{ "mcp4552-104", MCP455x_104 },
+ { "mcp4561-502", MCP456x_502 },
+ { "mcp4561-103", MCP456x_103 },
+ { "mcp4561-503", MCP456x_503 },
+ { "mcp4561-104", MCP456x_104 },
+ { "mcp4562-502", MCP456x_502 },
+ { "mcp4562-103", MCP456x_103 },
+ { "mcp4562-503", MCP456x_503 },
+ { "mcp4562-104", MCP456x_104 },
{ "mcp4631-502", MCP463x_502 },
{ "mcp4631-103", MCP463x_103 },
{ "mcp4631-503", MCP463x_503 },
@@ -203,6 +259,14 @@ static const struct i2c_device_id mcp4531_id[] = {
{ "mcp4632-103", MCP463x_103 },
{ "mcp4632-503", MCP463x_503 },
{ "mcp4632-104", MCP463x_104 },
+ { "mcp4641-502", MCP464x_502 },
+ { "mcp4641-103", MCP464x_103 },
+ { "mcp4641-503", MCP464x_503 },
+ { "mcp4641-104", MCP464x_104 },
+ { "mcp4642-502", MCP464x_502 },
+ { "mcp4642-103", MCP464x_103 },
+ { "mcp4642-503", MCP464x_503 },
+ { "mcp4642-104", MCP464x_104 },
{ "mcp4651-502", MCP465x_502 },
{ "mcp4651-103", MCP465x_103 },
{ "mcp4651-503", MCP465x_503 },
@@ -211,6 +275,14 @@ static const struct i2c_device_id mcp4531_id[] = {
{ "mcp4652-103", MCP465x_103 },
{ "mcp4652-503", MCP465x_503 },
{ "mcp4652-104", MCP465x_104 },
+ { "mcp4661-502", MCP466x_502 },
+ { "mcp4661-103", MCP466x_103 },
+ { "mcp4661-503", MCP466x_503 },
+ { "mcp4661-104", MCP466x_104 },
+ { "mcp4662-502", MCP466x_502 },
+ { "mcp4662-103", MCP466x_103 },
+ { "mcp4662-503", MCP466x_503 },
+ { "mcp4662-104", MCP466x_104 },
{}
};
MODULE_DEVICE_TABLE(i2c, mcp4531_id);
--
2.5.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 2/4] iio: potentiometer: mcp4531: Add device tree binding documentation
2016-06-30 7:34 [PATCH v3 0/4] iio: potentiometer: mcp4531: New parts, DT and typo Florian Vaussard
2016-06-30 7:34 ` [PATCH v3 1/4] iio: potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x and MCP466x Florian Vaussard
@ 2016-06-30 7:34 ` Florian Vaussard
2016-07-01 2:19 ` Rob Herring
2016-06-30 7:34 ` [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding Florian Vaussard
2016-06-30 7:34 ` [PATCH v3 4/4] iio: potentiometer: Fix typo in Kconfig Florian Vaussard
3 siblings, 1 reply; 13+ messages in thread
From: Florian Vaussard @ 2016-06-30 7:34 UTC (permalink / raw)
To: devicetree, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Florian Vaussard
Add the device tree documentation for all the supported parts. Apart the
compatible string and standard I2C binding, no other binding is currently
needed.
Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
---
.../devicetree/bindings/i2c/trivial-devices.txt | 64 ++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
index 53987449..acc5cd6 100644
--- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
+++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
@@ -56,6 +56,70 @@ maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator
maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface
mc,rv3029c2 Real Time Clock Module with I2C-Bus
+microchip,mcp4531-502 Microchip 7-bit Single I2C Digital Potentiometer (5k)
+microchip,mcp4531-103 Microchip 7-bit Single I2C Digital Potentiometer (10k)
+microchip,mcp4531-503 Microchip 7-bit Single I2C Digital Potentiometer (50k)
+microchip,mcp4531-104 Microchip 7-bit Single I2C Digital Potentiometer (100k)
+microchip,mcp4532-502 Microchip 7-bit Single I2C Digital Potentiometer (5k)
+microchip,mcp4532-103 Microchip 7-bit Single I2C Digital Potentiometer (10k)
+microchip,mcp4532-503 Microchip 7-bit Single I2C Digital Potentiometer (50k)
+microchip,mcp4532-104 Microchip 7-bit Single I2C Digital Potentiometer (100k)
+microchip,mcp4541-502 Microchip 7-bit Single I2C Digital Potentiometer with NV Memory (5k)
+microchip,mcp4541-103 Microchip 7-bit Single I2C Digital Potentiometer with NV Memory (10k)
+microchip,mcp4541-503 Microchip 7-bit Single I2C Digital Potentiometer with NV Memory (50k)
+microchip,mcp4541-104 Microchip 7-bit Single I2C Digital Potentiometer with NV Memory (100k)
+microchip,mcp4542-502 Microchip 7-bit Single I2C Digital Potentiometer with NV Memory (5k)
+microchip,mcp4542-103 Microchip 7-bit Single I2C Digital Potentiometer with NV Memory (10k)
+microchip,mcp4542-503 Microchip 7-bit Single I2C Digital Potentiometer with NV Memory (50k)
+microchip,mcp4542-104 Microchip 7-bit Single I2C Digital Potentiometer with NV Memory (100k)
+microchip,mcp4551-502 Microchip 8-bit Single I2C Digital Potentiometer (5k)
+microchip,mcp4551-103 Microchip 8-bit Single I2C Digital Potentiometer (10k)
+microchip,mcp4551-503 Microchip 8-bit Single I2C Digital Potentiometer (50k)
+microchip,mcp4551-104 Microchip 8-bit Single I2C Digital Potentiometer (100k)
+microchip,mcp4552-502 Microchip 8-bit Single I2C Digital Potentiometer (5k)
+microchip,mcp4552-103 Microchip 8-bit Single I2C Digital Potentiometer (10k)
+microchip,mcp4552-503 Microchip 8-bit Single I2C Digital Potentiometer (50k)
+microchip,mcp4552-104 Microchip 8-bit Single I2C Digital Potentiometer (100k)
+microchip,mcp4561-502 Microchip 8-bit Single I2C Digital Potentiometer with NV Memory (5k)
+microchip,mcp4561-103 Microchip 8-bit Single I2C Digital Potentiometer with NV Memory (10k)
+microchip,mcp4561-503 Microchip 8-bit Single I2C Digital Potentiometer with NV Memory (50k)
+microchip,mcp4561-104 Microchip 8-bit Single I2C Digital Potentiometer with NV Memory (100k)
+microchip,mcp4562-502 Microchip 8-bit Single I2C Digital Potentiometer with NV Memory (5k)
+microchip,mcp4562-103 Microchip 8-bit Single I2C Digital Potentiometer with NV Memory (10k)
+microchip,mcp4562-503 Microchip 8-bit Single I2C Digital Potentiometer with NV Memory (50k)
+microchip,mcp4562-104 Microchip 8-bit Single I2C Digital Potentiometer with NV Memory (100k)
+microchip,mcp4631-502 Microchip 7-bit Dual I2C Digital Potentiometer (5k)
+microchip,mcp4631-103 Microchip 7-bit Dual I2C Digital Potentiometer (10k)
+microchip,mcp4631-503 Microchip 7-bit Dual I2C Digital Potentiometer (50k)
+microchip,mcp4631-104 Microchip 7-bit Dual I2C Digital Potentiometer (100k)
+microchip,mcp4632-502 Microchip 7-bit Dual I2C Digital Potentiometer (5k)
+microchip,mcp4632-103 Microchip 7-bit Dual I2C Digital Potentiometer (10k)
+microchip,mcp4632-503 Microchip 7-bit Dual I2C Digital Potentiometer (50k)
+microchip,mcp4632-104 Microchip 7-bit Dual I2C Digital Potentiometer (100k)
+microchip,mcp4641-502 Microchip 7-bit Dual I2C Digital Potentiometer with NV Memory (5k)
+microchip,mcp4641-103 Microchip 7-bit Dual I2C Digital Potentiometer with NV Memory (10k)
+microchip,mcp4641-503 Microchip 7-bit Dual I2C Digital Potentiometer with NV Memory (50k)
+microchip,mcp4641-104 Microchip 7-bit Dual I2C Digital Potentiometer with NV Memory (100k)
+microchip,mcp4642-502 Microchip 7-bit Dual I2C Digital Potentiometer with NV Memory (5k)
+microchip,mcp4642-103 Microchip 7-bit Dual I2C Digital Potentiometer with NV Memory (10k)
+microchip,mcp4642-503 Microchip 7-bit Dual I2C Digital Potentiometer with NV Memory (50k)
+microchip,mcp4642-104 Microchip 7-bit Dual I2C Digital Potentiometer with NV Memory (100k)
+microchip,mcp4651-502 Microchip 8-bit Dual I2C Digital Potentiometer (5k)
+microchip,mcp4651-103 Microchip 8-bit Dual I2C Digital Potentiometer (10k)
+microchip,mcp4651-503 Microchip 8-bit Dual I2C Digital Potentiometer (50k)
+microchip,mcp4651-104 Microchip 8-bit Dual I2C Digital Potentiometer (100k)
+microchip,mcp4652-502 Microchip 8-bit Dual I2C Digital Potentiometer (5k)
+microchip,mcp4652-103 Microchip 8-bit Dual I2C Digital Potentiometer (10k)
+microchip,mcp4652-503 Microchip 8-bit Dual I2C Digital Potentiometer (50k)
+microchip,mcp4652-104 Microchip 8-bit Dual I2C Digital Potentiometer (100k)
+microchip,mcp4661-502 Microchip 8-bit Dual I2C Digital Potentiometer with NV Memory (5k)
+microchip,mcp4661-103 Microchip 8-bit Dual I2C Digital Potentiometer with NV Memory (10k)
+microchip,mcp4661-503 Microchip 8-bit Dual I2C Digital Potentiometer with NV Memory (50k)
+microchip,mcp4661-104 Microchip 8-bit Dual I2C Digital Potentiometer with NV Memory (100k)
+microchip,mcp4662-502 Microchip 8-bit Dual I2C Digital Potentiometer with NV Memory (5k)
+microchip,mcp4662-103 Microchip 8-bit Dual I2C Digital Potentiometer with NV Memory (10k)
+microchip,mcp4662-503 Microchip 8-bit Dual I2C Digital Potentiometer with NV Memory (50k)
+microchip,mcp4662-104 Microchip 8-bit Dual I2C Digital Potentiometer with NV Memory (100k)
national,lm63 Temperature sensor with integrated fan control
national,lm75 I2C TEMP SENSOR
national,lm80 Serial Interface ACPI-Compatible Microprocessor System Hardware Monitor
--
2.5.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding
2016-06-30 7:34 [PATCH v3 0/4] iio: potentiometer: mcp4531: New parts, DT and typo Florian Vaussard
2016-06-30 7:34 ` [PATCH v3 1/4] iio: potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x and MCP466x Florian Vaussard
2016-06-30 7:34 ` [PATCH v3 2/4] iio: potentiometer: mcp4531: Add device tree binding documentation Florian Vaussard
@ 2016-06-30 7:34 ` Florian Vaussard
2016-06-30 7:46 ` Peter Rosin
2016-06-30 7:34 ` [PATCH v3 4/4] iio: potentiometer: Fix typo in Kconfig Florian Vaussard
3 siblings, 1 reply; 13+ messages in thread
From: Florian Vaussard @ 2016-06-30 7:34 UTC (permalink / raw)
To: devicetree, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Florian Vaussard
This patch adds the necessary device tree binding to allow DT probing of
currently supported parts.
Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
---
drivers/iio/potentiometer/mcp4531.c | 87 ++++++++++++++++++++++++++++++++++++-
1 file changed, 86 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/potentiometer/mcp4531.c b/drivers/iio/potentiometer/mcp4531.c
index 2251173..13b6ae2 100644
--- a/drivers/iio/potentiometer/mcp4531.c
+++ b/drivers/iio/potentiometer/mcp4531.c
@@ -31,6 +31,8 @@
#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/err.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/iio/iio.h>
@@ -188,12 +190,89 @@ static const struct iio_info mcp4531_info = {
.driver_module = THIS_MODULE,
};
+#ifdef CONFIG_OF
+
+#define MCP4531_COMPATIBLE(of_compatible, cfg) { \
+ .compatible = of_compatible, \
+ .data = &mcp4531_cfg[cfg], \
+}
+
+static const struct of_device_id mcp4531_of_match[] = {
+ MCP4531_COMPATIBLE("microchip,mcp4531-502", MCP453x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4531-103", MCP453x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4531-503", MCP453x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4531-104", MCP453x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4532-502", MCP453x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4532-103", MCP453x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4532-503", MCP453x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4532-104", MCP453x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4541-502", MCP454x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4541-103", MCP454x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4541-503", MCP454x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4541-104", MCP454x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4542-502", MCP454x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4542-103", MCP454x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4542-503", MCP454x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4542-104", MCP454x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4551-502", MCP455x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4551-103", MCP455x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4551-503", MCP455x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4551-104", MCP455x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4552-502", MCP455x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4552-103", MCP455x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4552-503", MCP455x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4552-104", MCP455x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4561-502", MCP456x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4561-103", MCP456x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4561-503", MCP456x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4561-104", MCP456x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4562-502", MCP456x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4562-103", MCP456x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4562-503", MCP456x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4562-104", MCP456x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4631-502", MCP463x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4631-103", MCP463x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4631-503", MCP463x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4631-104", MCP463x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4632-502", MCP463x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4632-103", MCP463x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4632-503", MCP463x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4632-104", MCP463x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4641-502", MCP464x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4641-103", MCP464x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4641-503", MCP464x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4641-104", MCP464x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4642-502", MCP464x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4642-103", MCP464x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4642-503", MCP464x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4642-104", MCP464x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4651-502", MCP465x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4651-103", MCP465x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4651-503", MCP465x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4651-104", MCP465x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4652-502", MCP465x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4652-103", MCP465x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4652-503", MCP465x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4652-104", MCP465x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4661-502", MCP466x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4661-103", MCP466x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4661-503", MCP466x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4661-104", MCP466x_104),
+ MCP4531_COMPATIBLE("microchip,mcp4662-502", MCP466x_502),
+ MCP4531_COMPATIBLE("microchip,mcp4662-103", MCP466x_103),
+ MCP4531_COMPATIBLE("microchip,mcp4662-503", MCP466x_503),
+ MCP4531_COMPATIBLE("microchip,mcp4662-104", MCP466x_104),
+ { /* sentinel */ }
+};
+#endif
+
static int mcp4531_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct device *dev = &client->dev;
struct mcp4531_data *data;
struct iio_dev *indio_dev;
+ const struct of_device_id *match;
if (!i2c_check_functionality(client->adapter,
I2C_FUNC_SMBUS_WORD_DATA)) {
@@ -207,7 +286,12 @@ static int mcp4531_probe(struct i2c_client *client,
data = iio_priv(indio_dev);
i2c_set_clientdata(client, indio_dev);
data->client = client;
- data->cfg = &mcp4531_cfg[id->driver_data];
+
+ match = of_match_device(of_match_ptr(mcp4531_of_match), dev);
+ if (match)
+ data->cfg = of_device_get_match_data(dev);
+ else
+ data->cfg = &mcp4531_cfg[id->driver_data];
indio_dev->dev.parent = dev;
indio_dev->info = &mcp4531_info;
@@ -290,6 +374,7 @@ MODULE_DEVICE_TABLE(i2c, mcp4531_id);
static struct i2c_driver mcp4531_driver = {
.driver = {
.name = "mcp4531",
+ .of_match_table = of_match_ptr(mcp4531_of_match),
},
.probe = mcp4531_probe,
.id_table = mcp4531_id,
--
2.5.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 4/4] iio: potentiometer: Fix typo in Kconfig
2016-06-30 7:34 [PATCH v3 0/4] iio: potentiometer: mcp4531: New parts, DT and typo Florian Vaussard
` (2 preceding siblings ...)
2016-06-30 7:34 ` [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding Florian Vaussard
@ 2016-06-30 7:34 ` Florian Vaussard
2016-07-03 10:56 ` Jonathan Cameron
3 siblings, 1 reply; 13+ messages in thread
From: Florian Vaussard @ 2016-06-30 7:34 UTC (permalink / raw)
To: devicetree, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Florian Vaussard
Fix s/potentiomenter/potentiometer/.
Suggested-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
---
drivers/iio/potentiometer/Kconfig | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/iio/potentiometer/Kconfig b/drivers/iio/potentiometer/Kconfig
index 55c2414..2e9da1c 100644
--- a/drivers/iio/potentiometer/Kconfig
+++ b/drivers/iio/potentiometer/Kconfig
@@ -10,7 +10,7 @@ config DS1803
depends on I2C
help
Say yes here to build support for the Maxim Integrated DS1803
- digital potentiomenter chip.
+ digital potentiometer chip.
To compile this driver as a module, choose M here: the
module will be called ds1803.
@@ -39,7 +39,7 @@ config MCP4131
MCP4241, MCP4242,
MCP4251, MCP4252,
MCP4261, MCP4262,
- digital potentiomenter chips.
+ digital potentiometer chips.
To compile this driver as a module, choose M here: the
module will be called mcp4131.
@@ -53,7 +53,7 @@ config MCP4531
MCP4551, MCP4552, MCP4561, MCP4562,
MCP4631, MCP4632, MCP4641, MCP4642,
MCP4651, MCP4652, MCP4661, MCP4662
- digital potentiomenter chips.
+ digital potentiometer chips.
To compile this driver as a module, choose M here: the
module will be called mcp4531.
--
2.5.5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding
2016-06-30 7:34 ` [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding Florian Vaussard
@ 2016-06-30 7:46 ` Peter Rosin
2016-06-30 8:09 ` Florian Vaussard
0 siblings, 1 reply; 13+ messages in thread
From: Peter Rosin @ 2016-06-30 7:46 UTC (permalink / raw)
To: Florian Vaussard, devicetree, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Florian Vaussard
On June 30, 2016 9:34:50 AM GMT+02:00, Florian Vaussard <florian.vaussard@gmail.com> wrote:
>This patch adds the necessary device tree binding to allow DT probing
>of
>currently supported parts.
>
>Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
Acked-by: Peter Rosin <peda@axentia.se>
Cheers,
Peter
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding
2016-06-30 7:46 ` Peter Rosin
@ 2016-06-30 8:09 ` Florian Vaussard
2016-07-03 10:56 ` Jonathan Cameron
0 siblings, 1 reply; 13+ messages in thread
From: Florian Vaussard @ 2016-06-30 8:09 UTC (permalink / raw)
To: Peter Rosin, Florian Vaussard, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler
Cc: devicetree, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell,
Kumar Gala, Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Vaussard Florian
Le 30. 06. 16 à 09:46, Peter Rosin a écrit :
>
>
> On June 30, 2016 9:34:50 AM GMT+02:00, Florian Vaussard <florian.vaussard@gmail.com> wrote:
>> This patch adds the necessary device tree binding to allow DT probing
>> of
>> currently supported parts.
>>
>> Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
>
> Acked-by: Peter Rosin <peda@axentia.se>
>
Thanks for your reviews Peter,
Best,
Florian
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 2/4] iio: potentiometer: mcp4531: Add device tree binding documentation
2016-06-30 7:34 ` [PATCH v3 2/4] iio: potentiometer: mcp4531: Add device tree binding documentation Florian Vaussard
@ 2016-07-01 2:19 ` Rob Herring
2016-07-03 10:54 ` Jonathan Cameron
0 siblings, 1 reply; 13+ messages in thread
From: Rob Herring @ 2016-07-01 2:19 UTC (permalink / raw)
To: Florian Vaussard
Cc: devicetree, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, Slawomir Stepien, Joachim Eastwood,
Matt Ranostay, Cristina Moraru, linux-iio, linux-kernel,
Florian Vaussard
On Thu, Jun 30, 2016 at 09:34:49AM +0200, Florian Vaussard wrote:
> Add the device tree documentation for all the supported parts. Apart the
> compatible string and standard I2C binding, no other binding is currently
> needed.
>
> Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
> ---
> .../devicetree/bindings/i2c/trivial-devices.txt | 64 ++++++++++++++++++++++
> 1 file changed, 64 insertions(+)
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/4] iio: potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x and MCP466x
2016-06-30 7:34 ` [PATCH v3 1/4] iio: potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x and MCP466x Florian Vaussard
@ 2016-07-03 10:53 ` Jonathan Cameron
0 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2016-07-03 10:53 UTC (permalink / raw)
To: Florian Vaussard, devicetree, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Florian Vaussard
On 30/06/16 08:34, Florian Vaussard wrote:
> This patch adds support for MCP454x, MCP456x, MCP464x and MCP466x parts.
> The main difference with currently supported parts (MCP453x and alike) is
> the addition of a non-volatile memory in order to recall the wiper setting
> at power-on. This feature is currently not supported and only the
> volatile memory is used to set the wiper.
>
> Acked-by: Peter Rosin <peda@axentia.se>
> Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
Applied to the togreg branch of iio.git - initially pushed out as
testing for all the usual boring reasons (like reviewers aren't
perfect ;)
Jonathan
> ---
> drivers/iio/potentiometer/Kconfig | 6 ++--
> drivers/iio/potentiometer/mcp4531.c | 72 +++++++++++++++++++++++++++++++++++++
> 2 files changed, 76 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/potentiometer/Kconfig b/drivers/iio/potentiometer/Kconfig
> index 0941c8d4..55c2414 100644
> --- a/drivers/iio/potentiometer/Kconfig
> +++ b/drivers/iio/potentiometer/Kconfig
> @@ -49,8 +49,10 @@ config MCP4531
> depends on I2C
> help
> Say yes here to build support for the Microchip
> - MCP4531, MCP4532, MCP4551, MCP4552,
> - MCP4631, MCP4632, MCP4651, MCP4652
> + MCP4531, MCP4532, MCP4541, MCP4542,
> + MCP4551, MCP4552, MCP4561, MCP4562,
> + MCP4631, MCP4632, MCP4641, MCP4642,
> + MCP4651, MCP4652, MCP4661, MCP4662
> digital potentiomenter chips.
>
> To compile this driver as a module, choose M here: the
> diff --git a/drivers/iio/potentiometer/mcp4531.c b/drivers/iio/potentiometer/mcp4531.c
> index 3b72e1a..2251173 100644
> --- a/drivers/iio/potentiometer/mcp4531.c
> +++ b/drivers/iio/potentiometer/mcp4531.c
> @@ -8,12 +8,20 @@
> * DEVID #Wipers #Positions Resistor Opts (kOhm) i2c address
> * mcp4531 1 129 5, 10, 50, 100 010111x
> * mcp4532 1 129 5, 10, 50, 100 01011xx
> + * mcp4541 1 129 5, 10, 50, 100 010111x
> + * mcp4542 1 129 5, 10, 50, 100 01011xx
> * mcp4551 1 257 5, 10, 50, 100 010111x
> * mcp4552 1 257 5, 10, 50, 100 01011xx
> + * mcp4561 1 257 5, 10, 50, 100 010111x
> + * mcp4562 1 257 5, 10, 50, 100 01011xx
> * mcp4631 2 129 5, 10, 50, 100 0101xxx
> * mcp4632 2 129 5, 10, 50, 100 01011xx
> + * mcp4641 2 129 5, 10, 50, 100 0101xxx
> + * mcp4642 2 129 5, 10, 50, 100 01011xx
> * mcp4651 2 257 5, 10, 50, 100 0101xxx
> * mcp4652 2 257 5, 10, 50, 100 01011xx
> + * mcp4661 2 257 5, 10, 50, 100 0101xxx
> + * mcp4662 2 257 5, 10, 50, 100 01011xx
> *
> * This program is free software; you can redistribute it and/or modify it
> * under the terms of the GNU General Public License version 2 as published by
> @@ -37,18 +45,34 @@ enum mcp4531_type {
> MCP453x_103,
> MCP453x_503,
> MCP453x_104,
> + MCP454x_502,
> + MCP454x_103,
> + MCP454x_503,
> + MCP454x_104,
> MCP455x_502,
> MCP455x_103,
> MCP455x_503,
> MCP455x_104,
> + MCP456x_502,
> + MCP456x_103,
> + MCP456x_503,
> + MCP456x_104,
> MCP463x_502,
> MCP463x_103,
> MCP463x_503,
> MCP463x_104,
> + MCP464x_502,
> + MCP464x_103,
> + MCP464x_503,
> + MCP464x_104,
> MCP465x_502,
> MCP465x_103,
> MCP465x_503,
> MCP465x_104,
> + MCP466x_502,
> + MCP466x_103,
> + MCP466x_503,
> + MCP466x_104,
> };
>
> static const struct mcp4531_cfg mcp4531_cfg[] = {
> @@ -56,18 +80,34 @@ static const struct mcp4531_cfg mcp4531_cfg[] = {
> [MCP453x_103] = { .wipers = 1, .max_pos = 128, .kohms = 10, },
> [MCP453x_503] = { .wipers = 1, .max_pos = 128, .kohms = 50, },
> [MCP453x_104] = { .wipers = 1, .max_pos = 128, .kohms = 100, },
> + [MCP454x_502] = { .wipers = 1, .max_pos = 128, .kohms = 5, },
> + [MCP454x_103] = { .wipers = 1, .max_pos = 128, .kohms = 10, },
> + [MCP454x_503] = { .wipers = 1, .max_pos = 128, .kohms = 50, },
> + [MCP454x_104] = { .wipers = 1, .max_pos = 128, .kohms = 100, },
> [MCP455x_502] = { .wipers = 1, .max_pos = 256, .kohms = 5, },
> [MCP455x_103] = { .wipers = 1, .max_pos = 256, .kohms = 10, },
> [MCP455x_503] = { .wipers = 1, .max_pos = 256, .kohms = 50, },
> [MCP455x_104] = { .wipers = 1, .max_pos = 256, .kohms = 100, },
> + [MCP456x_502] = { .wipers = 1, .max_pos = 256, .kohms = 5, },
> + [MCP456x_103] = { .wipers = 1, .max_pos = 256, .kohms = 10, },
> + [MCP456x_503] = { .wipers = 1, .max_pos = 256, .kohms = 50, },
> + [MCP456x_104] = { .wipers = 1, .max_pos = 256, .kohms = 100, },
> [MCP463x_502] = { .wipers = 2, .max_pos = 128, .kohms = 5, },
> [MCP463x_103] = { .wipers = 2, .max_pos = 128, .kohms = 10, },
> [MCP463x_503] = { .wipers = 2, .max_pos = 128, .kohms = 50, },
> [MCP463x_104] = { .wipers = 2, .max_pos = 128, .kohms = 100, },
> + [MCP464x_502] = { .wipers = 2, .max_pos = 128, .kohms = 5, },
> + [MCP464x_103] = { .wipers = 2, .max_pos = 128, .kohms = 10, },
> + [MCP464x_503] = { .wipers = 2, .max_pos = 128, .kohms = 50, },
> + [MCP464x_104] = { .wipers = 2, .max_pos = 128, .kohms = 100, },
> [MCP465x_502] = { .wipers = 2, .max_pos = 256, .kohms = 5, },
> [MCP465x_103] = { .wipers = 2, .max_pos = 256, .kohms = 10, },
> [MCP465x_503] = { .wipers = 2, .max_pos = 256, .kohms = 50, },
> [MCP465x_104] = { .wipers = 2, .max_pos = 256, .kohms = 100, },
> + [MCP466x_502] = { .wipers = 2, .max_pos = 256, .kohms = 5, },
> + [MCP466x_103] = { .wipers = 2, .max_pos = 256, .kohms = 10, },
> + [MCP466x_503] = { .wipers = 2, .max_pos = 256, .kohms = 50, },
> + [MCP466x_104] = { .wipers = 2, .max_pos = 256, .kohms = 100, },
> };
>
> #define MCP4531_WRITE (0 << 2)
> @@ -187,6 +227,14 @@ static const struct i2c_device_id mcp4531_id[] = {
> { "mcp4532-103", MCP453x_103 },
> { "mcp4532-503", MCP453x_503 },
> { "mcp4532-104", MCP453x_104 },
> + { "mcp4541-502", MCP454x_502 },
> + { "mcp4541-103", MCP454x_103 },
> + { "mcp4541-503", MCP454x_503 },
> + { "mcp4541-104", MCP454x_104 },
> + { "mcp4542-502", MCP454x_502 },
> + { "mcp4542-103", MCP454x_103 },
> + { "mcp4542-503", MCP454x_503 },
> + { "mcp4542-104", MCP454x_104 },
> { "mcp4551-502", MCP455x_502 },
> { "mcp4551-103", MCP455x_103 },
> { "mcp4551-503", MCP455x_503 },
> @@ -195,6 +243,14 @@ static const struct i2c_device_id mcp4531_id[] = {
> { "mcp4552-103", MCP455x_103 },
> { "mcp4552-503", MCP455x_503 },
> { "mcp4552-104", MCP455x_104 },
> + { "mcp4561-502", MCP456x_502 },
> + { "mcp4561-103", MCP456x_103 },
> + { "mcp4561-503", MCP456x_503 },
> + { "mcp4561-104", MCP456x_104 },
> + { "mcp4562-502", MCP456x_502 },
> + { "mcp4562-103", MCP456x_103 },
> + { "mcp4562-503", MCP456x_503 },
> + { "mcp4562-104", MCP456x_104 },
> { "mcp4631-502", MCP463x_502 },
> { "mcp4631-103", MCP463x_103 },
> { "mcp4631-503", MCP463x_503 },
> @@ -203,6 +259,14 @@ static const struct i2c_device_id mcp4531_id[] = {
> { "mcp4632-103", MCP463x_103 },
> { "mcp4632-503", MCP463x_503 },
> { "mcp4632-104", MCP463x_104 },
> + { "mcp4641-502", MCP464x_502 },
> + { "mcp4641-103", MCP464x_103 },
> + { "mcp4641-503", MCP464x_503 },
> + { "mcp4641-104", MCP464x_104 },
> + { "mcp4642-502", MCP464x_502 },
> + { "mcp4642-103", MCP464x_103 },
> + { "mcp4642-503", MCP464x_503 },
> + { "mcp4642-104", MCP464x_104 },
> { "mcp4651-502", MCP465x_502 },
> { "mcp4651-103", MCP465x_103 },
> { "mcp4651-503", MCP465x_503 },
> @@ -211,6 +275,14 @@ static const struct i2c_device_id mcp4531_id[] = {
> { "mcp4652-103", MCP465x_103 },
> { "mcp4652-503", MCP465x_503 },
> { "mcp4652-104", MCP465x_104 },
> + { "mcp4661-502", MCP466x_502 },
> + { "mcp4661-103", MCP466x_103 },
> + { "mcp4661-503", MCP466x_503 },
> + { "mcp4661-104", MCP466x_104 },
> + { "mcp4662-502", MCP466x_502 },
> + { "mcp4662-103", MCP466x_103 },
> + { "mcp4662-503", MCP466x_503 },
> + { "mcp4662-104", MCP466x_104 },
> {}
> };
> MODULE_DEVICE_TABLE(i2c, mcp4531_id);
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 2/4] iio: potentiometer: mcp4531: Add device tree binding documentation
2016-07-01 2:19 ` Rob Herring
@ 2016-07-03 10:54 ` Jonathan Cameron
0 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2016-07-03 10:54 UTC (permalink / raw)
To: Rob Herring, Florian Vaussard
Cc: devicetree, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, Slawomir Stepien, Joachim Eastwood,
Matt Ranostay, Cristina Moraru, linux-iio, linux-kernel,
Florian Vaussard
On 01/07/16 03:19, Rob Herring wrote:
> On Thu, Jun 30, 2016 at 09:34:49AM +0200, Florian Vaussard wrote:
>> Add the device tree documentation for all the supported parts. Apart the
>> compatible string and standard I2C binding, no other binding is currently
>> needed.
>>
>> Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
>> ---
>> .../devicetree/bindings/i2c/trivial-devices.txt | 64 ++++++++++++++++++++++
>> 1 file changed, 64 insertions(+)
>
> Acked-by: Rob Herring <robh@kernel.org>
Applied. Thanks
Jonathan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding
2016-06-30 8:09 ` Florian Vaussard
@ 2016-07-03 10:56 ` Jonathan Cameron
2016-07-04 6:57 ` Florian Vaussard
0 siblings, 1 reply; 13+ messages in thread
From: Jonathan Cameron @ 2016-07-03 10:56 UTC (permalink / raw)
To: Florian Vaussard, Peter Rosin, Florian Vaussard, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler
Cc: devicetree, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell,
Kumar Gala, Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel
On 30/06/16 09:09, Florian Vaussard wrote:
>
>
> Le 30. 06. 16 à 09:46, Peter Rosin a écrit :
>>
>>
>> On June 30, 2016 9:34:50 AM GMT+02:00, Florian Vaussard <florian.vaussard@gmail.com> wrote:
>>> This patch adds the necessary device tree binding to allow DT probing
>>> of
>>> currently supported parts.
>>>
>>> Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
>>
>> Acked-by: Peter Rosin <peda@axentia.se>
>>
>
> Thanks for your reviews Peter,
>
Applied and thanks to Peter seconded.
Good little patch set.
Thanks,
Jonathan
> Best,
> Florian
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 4/4] iio: potentiometer: Fix typo in Kconfig
2016-06-30 7:34 ` [PATCH v3 4/4] iio: potentiometer: Fix typo in Kconfig Florian Vaussard
@ 2016-07-03 10:56 ` Jonathan Cameron
0 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2016-07-03 10:56 UTC (permalink / raw)
To: Florian Vaussard, devicetree, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Peter Rosin
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Florian Vaussard
On 30/06/16 08:34, Florian Vaussard wrote:
> Fix s/potentiomenter/potentiometer/.
>
> Suggested-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
> Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
Applied.
> ---
> drivers/iio/potentiometer/Kconfig | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/potentiometer/Kconfig b/drivers/iio/potentiometer/Kconfig
> index 55c2414..2e9da1c 100644
> --- a/drivers/iio/potentiometer/Kconfig
> +++ b/drivers/iio/potentiometer/Kconfig
> @@ -10,7 +10,7 @@ config DS1803
> depends on I2C
> help
> Say yes here to build support for the Maxim Integrated DS1803
> - digital potentiomenter chip.
> + digital potentiometer chip.
>
> To compile this driver as a module, choose M here: the
> module will be called ds1803.
> @@ -39,7 +39,7 @@ config MCP4131
> MCP4241, MCP4242,
> MCP4251, MCP4252,
> MCP4261, MCP4262,
> - digital potentiomenter chips.
> + digital potentiometer chips.
>
> To compile this driver as a module, choose M here: the
> module will be called mcp4131.
> @@ -53,7 +53,7 @@ config MCP4531
> MCP4551, MCP4552, MCP4561, MCP4562,
> MCP4631, MCP4632, MCP4641, MCP4642,
> MCP4651, MCP4652, MCP4661, MCP4662
> - digital potentiomenter chips.
> + digital potentiometer chips.
>
> To compile this driver as a module, choose M here: the
> module will be called mcp4531.
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding
2016-07-03 10:56 ` Jonathan Cameron
@ 2016-07-04 6:57 ` Florian Vaussard
0 siblings, 0 replies; 13+ messages in thread
From: Florian Vaussard @ 2016-07-04 6:57 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Peter Rosin, Florian Vaussard, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, devicetree,
Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Slawomir Stepien, Joachim Eastwood, Matt Ranostay,
Cristina Moraru, linux-iio, linux-kernel, Vaussard Florian
On 07/03/2016 12:56 PM, Jonathan Cameron wrote:
> On 30/06/16 09:09, Florian Vaussard wrote:
>>
>>
>> Le 30. 06. 16 à 09:46, Peter Rosin a écrit :
>>>
>>>
>>> On June 30, 2016 9:34:50 AM GMT+02:00, Florian Vaussard <florian.vaussard@gmail.com> wrote:
>>>> This patch adds the necessary device tree binding to allow DT probing
>>>> of
>>>> currently supported parts.
>>>>
>>>> Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
>>>
>>> Acked-by: Peter Rosin <peda@axentia.se>
>>>
>>
>> Thanks for your reviews Peter,
>>
> Applied and thanks to Peter seconded.
>
Thanks,
Florian
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-07-04 6:57 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-30 7:34 [PATCH v3 0/4] iio: potentiometer: mcp4531: New parts, DT and typo Florian Vaussard
2016-06-30 7:34 ` [PATCH v3 1/4] iio: potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x and MCP466x Florian Vaussard
2016-07-03 10:53 ` Jonathan Cameron
2016-06-30 7:34 ` [PATCH v3 2/4] iio: potentiometer: mcp4531: Add device tree binding documentation Florian Vaussard
2016-07-01 2:19 ` Rob Herring
2016-07-03 10:54 ` Jonathan Cameron
2016-06-30 7:34 ` [PATCH v3 3/4] iio: potentiometer: mcp4531: Add device tree binding Florian Vaussard
2016-06-30 7:46 ` Peter Rosin
2016-06-30 8:09 ` Florian Vaussard
2016-07-03 10:56 ` Jonathan Cameron
2016-07-04 6:57 ` Florian Vaussard
2016-06-30 7:34 ` [PATCH v3 4/4] iio: potentiometer: Fix typo in Kconfig Florian Vaussard
2016-07-03 10:56 ` 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).