[PATCH 2/6] ARM: davinci: da850: add DT node for I2C0

Subsystems: the rest

STALE4944d

3 messages, 2 authors, 2013-01-28 · open the first message on its own page

[PATCH 2/6] ARM: davinci: da850: add DT node for I2C0

From: Vishwanathrao Badarkhe, Manish <hidden>
Date: 2013-01-24 11:35:00

Add I2C0 device tree node information to da850-evm.
Also, add I2C0 pin muxing information in da850-evm.

Signed-off-by: Vishwanathrao Badarkhe, Manish <redacted>
---
Depends on patch 
http://comments.gmane.org/gmane.linux.davinci/25993

 arch/arm/boot/dts/da850-evm.dts |   15 +++++++++++++++
 arch/arm/boot/dts/da850.dtsi    |   10 ++++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index 8cac9d2..3d8290a 100755
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -27,5 +27,20 @@
 		serial2: serial at 1d0d000 {
 			status = "okay";
 		};
+		i2c0 at 1c22000 {
+			status = "okay";
+		};
+	};
+};
+&pmx_core {
+	pinctrl-names = "default";
+	pinctrl-0 = <
+		&i2c0_pins
+	>;
+
+	i2c0_pins: pinmux_i2c0_pins{
+		pinctrl-single,bits = <
+			0x10 0x00002200 0x0000ff00	/* I2C0_SDA,I2C0_SCL */
+		>;
 	};
 };
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index 1e6d090..f5ee811 100755
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -66,5 +66,15 @@
 			interrupt-parent = <&intc>;
 			status = "disabled";
 		};
+		i2c0 at 1c22000 {
+			compatible = "ti,davinci-i2c";
+			reg = <0x22000 0x1000>;
+			clock-frequency = <100000>;
+			interrupts = <15>;
+			interrupt-parent = <&intc>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
 	};
 };
-- 
1.7.4.1

Re: [PATCH 2/6] ARM: davinci: da850: add DT node for I2C0

From: Sekhar Nori <hidden>
Date: 2013-01-25 10:50:45

On 1/24/2013 5:05 PM, Vishwanathrao Badarkhe, Manish wrote:
quoted hunk
Add I2C0 device tree node information to da850-evm.
Also, add I2C0 pin muxing information in da850-evm.

Signed-off-by: Vishwanathrao Badarkhe, Manish <redacted>
---
Depends on patch 
http://comments.gmane.org/gmane.linux.davinci/25993

 arch/arm/boot/dts/da850-evm.dts |   15 +++++++++++++++
 arch/arm/boot/dts/da850.dtsi    |   10 ++++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index 8cac9d2..3d8290a 100755
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -27,5 +27,20 @@
 		serial2: serial at 1d0d000 {
 			status = "okay";
 		};
+		i2c0 at 1c22000 {
This should be
		i2c0: i2c at 1c22000

to follow the convention elsewhere in file.
+			status = "okay";
+		};
+	};
+};
+&pmx_core {
+	pinctrl-names = "default";
+	pinctrl-0 = <
+		&i2c0_pins
+	>;
+
+	i2c0_pins: pinmux_i2c0_pins{
+		pinctrl-single,bits = <
+			0x10 0x00002200 0x0000ff00	/* I2C0_SDA,I2C0_SCL */
+		>;
This should go into the dtsi file. See the discussion on NAND DT support
submitted by Anil Kumar.

Thanks,
Sekhar

PS: You are using an old address for Kevin Hilman. The MAINTAINERS file
has been updated for a long time now. Liam's address is also wrong but I
don't have his updated e-mail.

RE: [PATCH 2/6] ARM: davinci: da850: add DT node for I2C0

From: Vishwanathrao Badarkhe, Manish <hidden>
Date: 2013-01-28 05:18:04

On Fri, Jan 25, 2013 at 16:20:13, Nori, Sekhar wrote:
On 1/24/2013 5:05 PM, Vishwanathrao Badarkhe, Manish wrote:
quoted
Add I2C0 device tree node information to da850-evm.
Also, add I2C0 pin muxing information in da850-evm.

Signed-off-by: Vishwanathrao Badarkhe, Manish <redacted>
---
Depends on patch
http://comments.gmane.org/gmane.linux.davinci/25993

 arch/arm/boot/dts/da850-evm.dts |   15 +++++++++++++++
 arch/arm/boot/dts/da850.dtsi    |   10 ++++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/da850-evm.dts 
b/arch/arm/boot/dts/da850-evm.dts index 8cac9d2..3d8290a 100755
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -27,5 +27,20 @@
 		serial2: serial at 1d0d000 {
 			status = "okay";
 		};
+		i2c0 at 1c22000 {
This should be
		i2c0: i2c at 1c22000

to follow the convention elsewhere in file.
Ok, I will change this in next version.
quoted
+			status = "okay";
+		};
+	};
+};
+&pmx_core {
+	pinctrl-names = "default";
+	pinctrl-0 = <
+		&i2c0_pins
+	>;
+
+	i2c0_pins: pinmux_i2c0_pins{
+		pinctrl-single,bits = <
+			0x10 0x00002200 0x0000ff00	/* I2C0_SDA,I2C0_SCL */
+		>;
This should go into the dtsi file. See the discussion on NAND DT support submitted by Anil Kumar.
I have seen Anil Kumar's discussion for pin-muxing which includes Linus patch of grab pin 
control handles from device core at following location:
http://lkml.indiana.edu/hypermail/linux/kernel/1301.2/00094.html

I have done changes accordingly for I2C0 pin muxing and seen kernel crashes giving message 
like "i2c_davinci i2c_davinci.1: could not find pctldev for node /soc/
pinmux at 1c14120/pinmux_i2c0_pins, deferring probe". This is happened because I2C0 driver 
gets probed before pin mux driver.
  
To resolve this issue, I made changes in code to ensure pin control driver gets probed before 
I2C0 driver by registering pin control driver during arch_init call.
 
Hence, in order to move I2C0 pin muxing in dtsi file above fix is required.
Thanks,
Sekhar

PS: You are using an old address for Kevin Hilman. The MAINTAINERS file has been updated for a long time now. Liam's address is also wrong but I don't have his updated e-mail.

Regards, 
Manish
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help