Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] iio: gyro: itg3200: Add DT support.

1 view
Skip to first unread message

Marek Belisko

unread,
Jan 11, 2014, 4:20:01 PM1/11/14
to
Signed-off-by: NeilBrown <ne...@suse.de>
Signed-off-by: Marek Belisko <ma...@goldelico.com>
---
.../devicetree/bindings/iio/gyro/itg3200.txt | 22 ++++++++++++++++++++++
drivers/iio/gyro/itg3200_core.c | 9 +++++++++
2 files changed, 31 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/gyro/itg3200.txt

diff --git a/Documentation/devicetree/bindings/iio/gyro/itg3200.txt b/Documentation/devicetree/bindings/iio/gyro/itg3200.txt
new file mode 100644
index 0000000..b1b18dc
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/gyro/itg3200.txt
@@ -0,0 +1,22 @@
+* InvenSense ITG-3200 gyroscope
+
+http://www.invensense.com/mems/gyro/itg3200.html
+
+Required properties:
+
+ - compatible : should be "invensense,itg3200"
+ - reg : the I2C address of the sensor
+
+Optional properties:
+
+ - interrupt-parent : should be the phandle for the interrupt controller
+ - interrupts : interrupt mapping for GPIO IRQ
+
+Example:
+
+itg3200@68 {
+ compatible = "invensense,itg3200";
+ reg = <0x68>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <29 IRQ_TYPE_EDGE_RISING>;
+};
diff --git a/drivers/iio/gyro/itg3200_core.c b/drivers/iio/gyro/itg3200_core.c
index 4d3f3b9..adbf20d 100644
--- a/drivers/iio/gyro/itg3200_core.c
+++ b/drivers/iio/gyro/itg3200_core.c
@@ -374,10 +374,19 @@ static const struct i2c_device_id itg3200_id[] = {
};
MODULE_DEVICE_TABLE(i2c, itg3200_id);

+#ifdef CONFIG_OF
+static const struct of_device_id itg3200_of_match[] = {
+ { .compatible = "invensense,itg3200", },
+ {}
+};
+MODULE_DEVICE_TABLE(of, itg3200_of_match);
+#endif
+
static struct i2c_driver itg3200_driver = {
.driver = {
.owner = THIS_MODULE,
.name = "itg3200",
+ .of_match_table = of_match_ptr(itg3200_of_match),
},
.id_table = itg3200_id,
.probe = itg3200_probe,
--
1.8.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Jonathan Cameron

unread,
Jan 18, 2014, 7:00:01 AM1/18/14
to


On 11/01/14 21:17, Marek Belisko wrote:
> Signed-off-by: NeilBrown <ne...@suse.de>
> Signed-off-by: Marek Belisko <ma...@goldelico.com>
Unless it is very recent, I don't the the invensense vendor-prefix is in
vendor-prefixes.txt. Please add that to the patch.

Otherwise, there is nothing here that isn't covered by the trivial
i2c bindings - thus perhaps it should be an entry in bindings/i2c/trivial-devices.txt?

Personally I'm not that fond of the trivial file as a single location
for the relevant info makes more sense to me. Still thought I'd bring
it up as a possibility.

Jonathan

Marek Belisko

unread,
Jan 18, 2014, 5:00:02 PM1/18/14
to
Signed-off-by: NeilBrown <ne...@suse.de>
Signed-off-by: Marek Belisko <ma...@goldelico.com>
---

V2:
Added entries to i2c/trivial-devices and also add invensense to vendor-prefixes file.

.../devicetree/bindings/i2c/trivial-devices.txt | 1 +
.../devicetree/bindings/iio/gyro/itg3200.txt | 22 ++++++++++++++++++++++
.../devicetree/bindings/vendor-prefixes.txt | 1 +
drivers/iio/gyro/itg3200_core.c | 9 +++++++++
4 files changed, 33 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/gyro/itg3200.txt

diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
index 1a1ac2e..86078de 100644
--- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
+++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
@@ -40,6 +40,7 @@ fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec
gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface
infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)
+invensense,itg3200 InvenSense ITG-3200, Gyroscope
isl,isl12057 Intersil ISL12057 I2C RTC Chip
maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator
maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index b2635c5..01bf752 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -44,6 +44,7 @@ ibm International Business Machines (IBM)
idt Integrated Device Technologies, Inc.
img Imagination Technologies Ltd.
intercontrol Inter Control Group
+invensense InvenSense
isl Intersil
karo Ka-Ro electronics GmbH
lg LG Corporation
diff --git a/drivers/iio/gyro/itg3200_core.c b/drivers/iio/gyro/itg3200_core.c
index 4d3f3b9..adbf20d 100644
--- a/drivers/iio/gyro/itg3200_core.c
+++ b/drivers/iio/gyro/itg3200_core.c
@@ -374,10 +374,19 @@ static const struct i2c_device_id itg3200_id[] = {
};
MODULE_DEVICE_TABLE(i2c, itg3200_id);

+#ifdef CONFIG_OF
+static const struct of_device_id itg3200_of_match[] = {
+ { .compatible = "invensense,itg3200", },
+ {}
+};
+MODULE_DEVICE_TABLE(of, itg3200_of_match);
+#endif
+
static struct i2c_driver itg3200_driver = {
.driver = {
.owner = THIS_MODULE,
.name = "itg3200",
+ .of_match_table = of_match_ptr(itg3200_of_match),
},
.id_table = itg3200_id,
.probe = itg3200_probe,
--
1.8.3.2
0 new messages