linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Add device tree probe for i2c-mxs driver
@ 2012-05-10  7:31 Shawn Guo
       [not found] ` <1336635063-11122-1-git-send-email-shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Shawn Guo @ 2012-05-10  7:31 UTC (permalink / raw)
  To: linux-i2c-u79uwXL29TY76Z2rM5mHXA
  Cc: Wolfram Sang, Marek Vasut,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

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
       [not found] ` <1336635063-11122-1-git-send-email-shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
@ 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-i2c-u79uwXL29TY76Z2rM5mHXA
  Cc: Wolfram Sang, Marek Vasut,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Shawn Guo

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-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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@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
       [not found] ` <1336635063-11122-1-git-send-email-shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
  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-i2c-u79uwXL29TY76Z2rM5mHXA
  Cc: Wolfram Sang, Marek Vasut,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Shawn Guo

Signed-off-by: Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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@80040000 {
+			i2c0: i2c@80058000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&i2c0_pins_a>;
+				status = "okay";
+			};
+
 			duart: serial@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@0 {
+					reg = <0>;
+					fsl,pinmux-ids = <0x3180 0x3190>;
+					fsl,drive-strength = <1>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <1>;
+				};
 			};
 
 			digctl@8001c000 {
@@ -345,12 +353,18 @@
 			};
 
 			i2c0: i2c@80058000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "fsl,imx28-i2c";
 				reg = <0x80058000 2000>;
 				interrupts = <111 68>;
 				status = "disabled";
 			};
 
 			i2c1: i2c@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

* Re: [PATCH 0/2] Add device tree probe for i2c-mxs driver
       [not found] ` <1336635063-11122-1-git-send-email-shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
  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
       [not found]     ` <20120512110732.GD20673-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
  2 siblings, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2012-05-12 11:07 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA, Marek Vasut,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

[-- Attachment #1: Type: text/plain, Size: 551 bytes --]

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-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] Add device tree probe for i2c-mxs driver
       [not found]     ` <20120512110732.GD20673-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 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: Wolfram Sang
  Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA, Marek Vasut,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On 12 May 2012 19:07, Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> wrote:
> Patch 1/2:
>
> Acked-by: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
>
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
     [not found] ` <1336635063-11122-1-git-send-email-shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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
     [not found]     ` <20120512110732.GD20673-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
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).