* [PATCH 0/2] Add device tree probe for i2c-mxs driver
@ 2012-05-10 7:31 Shawn Guo
2012-05-10 7:31 ` [PATCH 1/2] i2c: mxs: add device tree probe support Shawn Guo
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Shawn Guo @ 2012-05-10 7:31 UTC (permalink / raw)
To: linux-arm-kernel
The series adds device tree probe support for i2c-mxs driver. It
depends on mxs clk and pinctrl series. Since all the dependencies
will probably be solved in arm-soc tree, it will be easier to have
it go through arm-soc.
Shawn Guo (2):
i2c: mxs: add device tree probe support
ARM: dts: enable i2c device for imx28-evk
Documentation/devicetree/bindings/i2c/i2c-mxs.txt | 16 ++++++++++++++++
arch/arm/boot/dts/imx28-evk.dts | 6 ++++++
arch/arm/boot/dts/imx28.dtsi | 14 ++++++++++++++
drivers/i2c/busses/i2c-mxs.c | 13 +++++++++++++
4 files changed, 49 insertions(+), 0 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] i2c: mxs: add device tree probe support
2012-05-10 7:31 [PATCH 0/2] Add device tree probe for i2c-mxs driver Shawn Guo
@ 2012-05-10 7:31 ` Shawn Guo
2012-05-10 7:31 ` [PATCH 2/2] ARM: dts: enable i2c device for imx28-evk Shawn Guo
2012-05-12 11:07 ` [PATCH 0/2] Add device tree probe for i2c-mxs driver Wolfram Sang
2 siblings, 0 replies; 5+ messages in thread
From: Shawn Guo @ 2012-05-10 7:31 UTC (permalink / raw)
To: linux-arm-kernel
Add device tree probe support for i2c-mxs driver. So far, it's only
been tested on imx28.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
---
Documentation/devicetree/bindings/i2c/i2c-mxs.txt | 16 ++++++++++++++++
drivers/i2c/busses/i2c-mxs.c | 13 +++++++++++++
2 files changed, 29 insertions(+), 0 deletions(-)
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-mxs.txt
diff --git a/Documentation/devicetree/bindings/i2c/i2c-mxs.txt b/Documentation/devicetree/bindings/i2c/i2c-mxs.txt
new file mode 100644
index 0000000..1bfc02d
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-mxs.txt
@@ -0,0 +1,16 @@
+* Freescale MXS Inter IC (I2C) Controller
+
+Required properties:
+- compatible: Should be "fsl,<chip>-i2c"
+- reg: Should contain registers location and length
+- interrupts: Should contain ERROR and DMA interrupts
+
+Examples:
+
+i2c0: i2c at 80058000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,imx28-i2c";
+ reg = <0x80058000 2000>;
+ interrupts = <111 68>;
+};
diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
index d7b1046..cdbda7c 100644
--- a/drivers/i2c/busses/i2c-mxs.c
+++ b/drivers/i2c/busses/i2c-mxs.c
@@ -28,6 +28,9 @@
#include <linux/io.h>
#include <linux/pinctrl/consumer.h>
#include <linux/stmp_device.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/of_i2c.h>
#define DRIVER_NAME "mxs-i2c"
@@ -364,6 +367,7 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev)
adap->algo = &mxs_i2c_algo;
adap->dev.parent = dev;
adap->nr = pdev->id;
+ adap->dev.of_node = pdev->dev.of_node;
i2c_set_adapdata(adap, i2c);
err = i2c_add_numbered_adapter(adap);
if (err) {
@@ -373,6 +377,8 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev)
return err;
}
+ of_i2c_register_devices(adap);
+
return 0;
}
@@ -394,10 +400,17 @@ static int __devexit mxs_i2c_remove(struct platform_device *pdev)
return 0;
}
+static const struct of_device_id mxs_i2c_dt_ids[] = {
+ { .compatible = "fsl,imx28-i2c", },
+ { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, mxs_i2c_dt_ids);
+
static struct platform_driver mxs_i2c_driver = {
.driver = {
.name = DRIVER_NAME,
.owner = THIS_MODULE,
+ .of_match_table = mxs_i2c_dt_ids,
},
.remove = __devexit_p(mxs_i2c_remove),
};
--
1.7.5.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] ARM: dts: enable i2c device for imx28-evk
2012-05-10 7:31 [PATCH 0/2] Add device tree probe for i2c-mxs driver Shawn Guo
2012-05-10 7:31 ` [PATCH 1/2] i2c: mxs: add device tree probe support Shawn Guo
@ 2012-05-10 7:31 ` Shawn Guo
2012-05-12 11:07 ` [PATCH 0/2] Add device tree probe for i2c-mxs driver Wolfram Sang
2 siblings, 0 replies; 5+ messages in thread
From: Shawn Guo @ 2012-05-10 7:31 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
---
arch/arm/boot/dts/imx28-evk.dts | 6 ++++++
arch/arm/boot/dts/imx28.dtsi | 14 ++++++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts
index 6ca10f2..c4b717f 100644
--- a/arch/arm/boot/dts/imx28-evk.dts
+++ b/arch/arm/boot/dts/imx28-evk.dts
@@ -41,6 +41,12 @@
};
apbx at 80040000 {
+ i2c0: i2c at 80058000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_pins_a>;
+ status = "okay";
+ };
+
duart: serial at 80074000 {
pinctrl-names = "default";
pinctrl-0 = <&duart_pins_a>;
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index 8596bdf..fd73fc2 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -204,6 +204,14 @@
fsl,drive-strength = <2>;
fsl,pull-up = <0>;
};
+
+ i2c0_pins_a: i2c0 at 0 {
+ reg = <0>;
+ fsl,pinmux-ids = <0x3180 0x3190>;
+ fsl,drive-strength = <1>;
+ fsl,voltage = <1>;
+ fsl,pull-up = <1>;
+ };
};
digctl at 8001c000 {
@@ -345,12 +353,18 @@
};
i2c0: i2c at 80058000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,imx28-i2c";
reg = <0x80058000 2000>;
interrupts = <111 68>;
status = "disabled";
};
i2c1: i2c at 8005a000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "fsl,imx28-i2c";
reg = <0x8005a000 2000>;
interrupts = <110 69>;
status = "disabled";
--
1.7.5.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 0/2] Add device tree probe for i2c-mxs driver
2012-05-10 7:31 [PATCH 0/2] Add device tree probe for i2c-mxs driver Shawn Guo
2012-05-10 7:31 ` [PATCH 1/2] i2c: mxs: add device tree probe support Shawn Guo
2012-05-10 7:31 ` [PATCH 2/2] ARM: dts: enable i2c device for imx28-evk Shawn Guo
@ 2012-05-12 11:07 ` Wolfram Sang
2012-05-12 11:17 ` Shawn Guo
2 siblings, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2012-05-12 11:07 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, May 10, 2012 at 03:31:01PM +0800, Shawn Guo wrote:
> The series adds device tree probe support for i2c-mxs driver. It
> depends on mxs clk and pinctrl series. Since all the dependencies
> will probably be solved in arm-soc tree, it will be easier to have
> it go through arm-soc.
Yes.
Patch 1/2:
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120512/9acd62b7/attachment.sig>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 0/2] Add device tree probe for i2c-mxs driver
2012-05-12 11:07 ` [PATCH 0/2] Add device tree probe for i2c-mxs driver Wolfram Sang
@ 2012-05-12 11:17 ` Shawn Guo
0 siblings, 0 replies; 5+ messages in thread
From: Shawn Guo @ 2012-05-12 11:17 UTC (permalink / raw)
To: linux-arm-kernel
On 12 May 2012 19:07, Wolfram Sang <w.sang@pengutronix.de> wrote:
> Patch 1/2:
>
> Acked-by: Wolfram Sang <w.sang@pengutronix.de>
>
Thanks, Wolfram. Just updated branch mxs/dt/for-3.5 with the tag collected.
Regards,
Shawn
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-05-12 11:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-10 7:31 [PATCH 0/2] Add device tree probe for i2c-mxs driver Shawn Guo
2012-05-10 7:31 ` [PATCH 1/2] i2c: mxs: add device tree probe support Shawn Guo
2012-05-10 7:31 ` [PATCH 2/2] ARM: dts: enable i2c device for imx28-evk Shawn Guo
2012-05-12 11:07 ` [PATCH 0/2] Add device tree probe for i2c-mxs driver Wolfram Sang
2012-05-12 11:17 ` Shawn Guo
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).