diff mbox

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

Message ID 1359027324-14534-1-git-send-email-manishv.b@ti.com (mailing list archive)
State Changes Requested
Headers show

Commit Message

Vishwanathrao Badarkhe, Manish Jan. 24, 2013, 11:35 a.m. UTC
Add I2C0 device tree node information to da850-evm.
Also, add I2C0 pin muxing information in da850-evm.

Signed-off-by: Vishwanathrao Badarkhe, Manish <manishv.b@ti.com>
---
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(-)

Comments

Sekhar Nori Jan. 25, 2013, 10:50 a.m. UTC | #1
On 1/24/2013 5:05 PM, Vishwanathrao Badarkhe, Manish wrote:
> Add I2C0 device tree node information to da850-evm.
> Also, add I2C0 pin muxing information in da850-evm.
> 
> Signed-off-by: Vishwanathrao Badarkhe, Manish <manishv.b@ti.com>
> ---
> 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@1d0d000 {
>  			status = "okay";
>  		};
> +		i2c0@1c22000 {

This should be
		i2c0: i2c@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.
Vishwanathrao Badarkhe, Manish Jan. 28, 2013, 5:17 a.m. UTC | #2
On Fri, Jan 25, 2013 at 16:20:13, Nori, Sekhar wrote:
> On 1/24/2013 5:05 PM, Vishwanathrao Badarkhe, Manish wrote:
> > Add I2C0 device tree node information to da850-evm.
> > Also, add I2C0 pin muxing information in da850-evm.
> > 
> > Signed-off-by: Vishwanathrao Badarkhe, Manish <manishv.b@ti.com>
> > ---
> > 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@1d0d000 {
> >  			status = "okay";
> >  		};
> > +		i2c0@1c22000 {
> 
> This should be
> 		i2c0: i2c@1c22000
> 
> to follow the convention elsewhere in file.

Ok, I will change this in next version.

> 
> > +			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@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
diff mbox

Patch

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@1d0d000 {
 			status = "okay";
 		};
+		i2c0@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@1c22000 {
+			compatible = "ti,davinci-i2c";
+			reg = <0x22000 0x1000>;
+			clock-frequency = <100000>;
+			interrupts = <15>;
+			interrupt-parent = <&intc>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
 	};
 };