Patchwork [v5,3/3] ARM: dts: mvebu: Introduce a new compatible string for mv64xxx-i2c

login
register
mail settings
Submitter Gregory CLEMENT
Date Aug. 9, 2013, 9:05 a.m.
Message ID <1376039158-1896-4-git-send-email-gregory.clement@free-electrons.com>
Download mbox | patch
Permalink /patch/265962/
State Superseded
Headers show

Comments

Gregory CLEMENT - Aug. 9, 2013, 9:05 a.m.
The mv64xxx-i2c embedded in the Armada XP have a new feature to
offload i2c transaction. This new version of the IP come also with
some errata. This lead to the introduction to a another compatible
string.

This commit split the i2c information into armada-370.dtsi and
armada-xp.dtsi. Most of the data remains the same and stay in the
common file Armada-370-xp.dtsi. With this new feature the size of the
registers are bigger for Armada XP and the new compatible string is
used.

The Device Tree binding documentation is updated accordingly.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
---
 Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt | 13 ++++++++++++-
 arch/arm/boot/dts/armada-370-xp.dtsi                  |  2 --
 arch/arm/boot/dts/armada-370.dtsi                     |  8 ++++++++
 arch/arm/boot/dts/armada-xp.dtsi                      | 10 ++++++++++
 4 files changed, 30 insertions(+), 3 deletions(-)
Ezequiel Garcia - Aug. 9, 2013, 9:13 a.m.
(Sending to devicetree)

On Fri, Aug 09, 2013 at 11:05:58AM +0200, Gregory CLEMENT wrote:
> The mv64xxx-i2c embedded in the Armada XP have a new feature to
> offload i2c transaction. This new version of the IP come also with
> some errata. This lead to the introduction to a another compatible
> string.
> 
> This commit split the i2c information into armada-370.dtsi and
> armada-xp.dtsi. Most of the data remains the same and stay in the
> common file Armada-370-xp.dtsi. With this new feature the size of the
> registers are bigger for Armada XP and the new compatible string is
> used.
> 
> The Device Tree binding documentation is updated accordingly.
> 
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
> ---
>  Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt | 13 ++++++++++++-
>  arch/arm/boot/dts/armada-370-xp.dtsi                  |  2 --
>  arch/arm/boot/dts/armada-370.dtsi                     |  8 ++++++++
>  arch/arm/boot/dts/armada-xp.dtsi                      | 10 ++++++++++
>  4 files changed, 30 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
> index a1ee681..c5dd952 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
> @@ -4,7 +4,8 @@
>  Required properties :
>  
>   - reg             : Offset and length of the register set for the device
> - - compatible      : Should be "marvell,mv64xxx-i2c"
> + - compatible      : Should be "marvell,mv64xxx-i2c" and "marvell,mv7230-i2c"
> +for controller which support the I2C Transaction Generator
>   - interrupts      : The interrupt number
>  
>  Optional properties :
> @@ -20,3 +21,13 @@ Examples:
>  		interrupts = <29>;
>  		clock-frequency = <100000>;
>  	};
> +
> +For a controller which support the I2C Transaction Generator:
> +
> +	i2c@11000 {
> +		compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
> +		reg = <0x11000 0x100>;
> +		compatible = "marvell,mv64xxx-i2c";
> +		interrupts = <29>;
> +		clock-frequency = <100000>;
> +	};
> diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
> index 90b1176..d8b24c9 100644
> --- a/arch/arm/boot/dts/armada-370-xp.dtsi
> +++ b/arch/arm/boot/dts/armada-370-xp.dtsi
> @@ -121,7 +121,6 @@
>  
>  			i2c0: i2c@11000 {
>  				compatible = "marvell,mv64xxx-i2c";
> -				reg = <0x11000 0x20>;
>  				#address-cells = <1>;
>  				#size-cells = <0>;
>  				interrupts = <31>;
> @@ -132,7 +131,6 @@
>  
>  			i2c1: i2c@11100 {
>  				compatible = "marvell,mv64xxx-i2c";
> -				reg = <0x11100 0x20>;
>  				#address-cells = <1>;
>  				#size-cells = <0>;
>  				interrupts = <32>;
> diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
> index fa3dfc6..0e2eefa 100644
> --- a/arch/arm/boot/dts/armada-370.dtsi
> +++ b/arch/arm/boot/dts/armada-370.dtsi
> @@ -155,6 +155,14 @@
>  				};
>  			};
>  
> +			i2c0: i2c@11000 {
> +				reg = <0x11000 0x20>;
> +			};
> +
> +			i2c1: i2c@11100 {
> +				reg = <0x11100 0x20>;
> +			};
> +
>  			usb@50000 {
>  				clocks = <&coreclk 0>;
>  			};
> diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
> index 416eb94..e1f2547 100644
> --- a/arch/arm/boot/dts/armada-xp.dtsi
> +++ b/arch/arm/boot/dts/armada-xp.dtsi
> @@ -138,6 +138,16 @@
>  				};
>  			};
>  
> +			i2c0: i2c@11000 {
> +				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
> +				reg = <0x11000 0x100>;
> +			};
> +
> +			i2c1: i2c@11100 {
> +				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
> +				reg = <0x11100 0x100>;
> +			};
> +
>  			usb@50000 {
>  				clocks = <&gateclk 18>;
>  			};
> -- 
> 1.8.1.2
>
Gregory CLEMENT - Aug. 9, 2013, 9:18 a.m.
On 09/08/2013 11:13, Ezequiel Garcia wrote:
> (Sending to devicetree)

As written in the cover letter this patch was already taken,
so I am not sure you have to send it again on the devicetree
mailing list, they have enough traffic I think.

> 
> On Fri, Aug 09, 2013 at 11:05:58AM +0200, Gregory CLEMENT wrote:
>> The mv64xxx-i2c embedded in the Armada XP have a new feature to
>> offload i2c transaction. This new version of the IP come also with
>> some errata. This lead to the introduction to a another compatible
>> string.
>>
>> This commit split the i2c information into armada-370.dtsi and
>> armada-xp.dtsi. Most of the data remains the same and stay in the
>> common file Armada-370-xp.dtsi. With this new feature the size of the
>> registers are bigger for Armada XP and the new compatible string is
>> used.
>>
>> The Device Tree binding documentation is updated accordingly.
>>
>> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>> ---
>>  Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt | 13 ++++++++++++-
>>  arch/arm/boot/dts/armada-370-xp.dtsi                  |  2 --
>>  arch/arm/boot/dts/armada-370.dtsi                     |  8 ++++++++
>>  arch/arm/boot/dts/armada-xp.dtsi                      | 10 ++++++++++
>>  4 files changed, 30 insertions(+), 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> index a1ee681..c5dd952 100644
>> --- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> +++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> @@ -4,7 +4,8 @@
>>  Required properties :
>>  
>>   - reg             : Offset and length of the register set for the device
>> - - compatible      : Should be "marvell,mv64xxx-i2c"
>> + - compatible      : Should be "marvell,mv64xxx-i2c" and "marvell,mv7230-i2c"
>> +for controller which support the I2C Transaction Generator
>>   - interrupts      : The interrupt number
>>  
>>  Optional properties :
>> @@ -20,3 +21,13 @@ Examples:
>>  		interrupts = <29>;
>>  		clock-frequency = <100000>;
>>  	};
>> +
>> +For a controller which support the I2C Transaction Generator:
>> +
>> +	i2c@11000 {
>> +		compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
>> +		reg = <0x11000 0x100>;
>> +		compatible = "marvell,mv64xxx-i2c";
>> +		interrupts = <29>;
>> +		clock-frequency = <100000>;
>> +	};
>> diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
>> index 90b1176..d8b24c9 100644
>> --- a/arch/arm/boot/dts/armada-370-xp.dtsi
>> +++ b/arch/arm/boot/dts/armada-370-xp.dtsi
>> @@ -121,7 +121,6 @@
>>  
>>  			i2c0: i2c@11000 {
>>  				compatible = "marvell,mv64xxx-i2c";
>> -				reg = <0x11000 0x20>;
>>  				#address-cells = <1>;
>>  				#size-cells = <0>;
>>  				interrupts = <31>;
>> @@ -132,7 +131,6 @@
>>  
>>  			i2c1: i2c@11100 {
>>  				compatible = "marvell,mv64xxx-i2c";
>> -				reg = <0x11100 0x20>;
>>  				#address-cells = <1>;
>>  				#size-cells = <0>;
>>  				interrupts = <32>;
>> diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
>> index fa3dfc6..0e2eefa 100644
>> --- a/arch/arm/boot/dts/armada-370.dtsi
>> +++ b/arch/arm/boot/dts/armada-370.dtsi
>> @@ -155,6 +155,14 @@
>>  				};
>>  			};
>>  
>> +			i2c0: i2c@11000 {
>> +				reg = <0x11000 0x20>;
>> +			};
>> +
>> +			i2c1: i2c@11100 {
>> +				reg = <0x11100 0x20>;
>> +			};
>> +
>>  			usb@50000 {
>>  				clocks = <&coreclk 0>;
>>  			};
>> diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
>> index 416eb94..e1f2547 100644
>> --- a/arch/arm/boot/dts/armada-xp.dtsi
>> +++ b/arch/arm/boot/dts/armada-xp.dtsi
>> @@ -138,6 +138,16 @@
>>  				};
>>  			};
>>  
>> +			i2c0: i2c@11000 {
>> +				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
>> +				reg = <0x11000 0x100>;
>> +			};
>> +
>> +			i2c1: i2c@11100 {
>> +				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
>> +				reg = <0x11100 0x100>;
>> +			};
>> +
>>  			usb@50000 {
>>  				clocks = <&gateclk 18>;
>>  			};
>> -- 
>> 1.8.1.2
>>
>
Ezequiel Garcia - Aug. 9, 2013, 9:30 a.m.
On Fri, Aug 09, 2013 at 11:18:27AM +0200, Gregory CLEMENT wrote:
> On 09/08/2013 11:13, Ezequiel Garcia wrote:
> > (Sending to devicetree)
> 
> As written in the cover letter this patch was already taken,
> so I am not sure you have to send it again on the devicetree
> mailing list, they have enough traffic I think.
> 

Ooops, I missed that. Sorry for the noise.
Jason - Aug. 9, 2013, 11:32 a.m.
Ezequiel,

On Fri, Aug 09, 2013 at 06:13:37AM -0300, Ezequiel Garcia wrote:
> (Sending to devicetree)

As an FYI?  I already responded to Mark Rutland's request for the
binding doc to be updated (that it was this patch, already merged into
mvebu/dt).  I also asked him if everything looked ok to him and he said
yes.

Is there something else you're looking for with this patch?

confused,

Jason.

> On Fri, Aug 09, 2013 at 11:05:58AM +0200, Gregory CLEMENT wrote:
> > The mv64xxx-i2c embedded in the Armada XP have a new feature to
> > offload i2c transaction. This new version of the IP come also with
> > some errata. This lead to the introduction to a another compatible
> > string.
> > 
> > This commit split the i2c information into armada-370.dtsi and
> > armada-xp.dtsi. Most of the data remains the same and stay in the
> > common file Armada-370-xp.dtsi. With this new feature the size of the
> > registers are bigger for Armada XP and the new compatible string is
> > used.
> > 
> > The Device Tree binding documentation is updated accordingly.
> > 
> > Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
> > ---
> >  Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt | 13 ++++++++++++-
> >  arch/arm/boot/dts/armada-370-xp.dtsi                  |  2 --
> >  arch/arm/boot/dts/armada-370.dtsi                     |  8 ++++++++
> >  arch/arm/boot/dts/armada-xp.dtsi                      | 10 ++++++++++
> >  4 files changed, 30 insertions(+), 3 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
> > index a1ee681..c5dd952 100644
> > --- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
> > +++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
> > @@ -4,7 +4,8 @@
> >  Required properties :
> >  
> >   - reg             : Offset and length of the register set for the device
> > - - compatible      : Should be "marvell,mv64xxx-i2c"
> > + - compatible      : Should be "marvell,mv64xxx-i2c" and "marvell,mv7230-i2c"
> > +for controller which support the I2C Transaction Generator
> >   - interrupts      : The interrupt number
> >  
> >  Optional properties :
> > @@ -20,3 +21,13 @@ Examples:
> >  		interrupts = <29>;
> >  		clock-frequency = <100000>;
> >  	};
> > +
> > +For a controller which support the I2C Transaction Generator:
> > +
> > +	i2c@11000 {
> > +		compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
> > +		reg = <0x11000 0x100>;
> > +		compatible = "marvell,mv64xxx-i2c";
> > +		interrupts = <29>;
> > +		clock-frequency = <100000>;
> > +	};
> > diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
> > index 90b1176..d8b24c9 100644
> > --- a/arch/arm/boot/dts/armada-370-xp.dtsi
> > +++ b/arch/arm/boot/dts/armada-370-xp.dtsi
> > @@ -121,7 +121,6 @@
> >  
> >  			i2c0: i2c@11000 {
> >  				compatible = "marvell,mv64xxx-i2c";
> > -				reg = <0x11000 0x20>;
> >  				#address-cells = <1>;
> >  				#size-cells = <0>;
> >  				interrupts = <31>;
> > @@ -132,7 +131,6 @@
> >  
> >  			i2c1: i2c@11100 {
> >  				compatible = "marvell,mv64xxx-i2c";
> > -				reg = <0x11100 0x20>;
> >  				#address-cells = <1>;
> >  				#size-cells = <0>;
> >  				interrupts = <32>;
> > diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
> > index fa3dfc6..0e2eefa 100644
> > --- a/arch/arm/boot/dts/armada-370.dtsi
> > +++ b/arch/arm/boot/dts/armada-370.dtsi
> > @@ -155,6 +155,14 @@
> >  				};
> >  			};
> >  
> > +			i2c0: i2c@11000 {
> > +				reg = <0x11000 0x20>;
> > +			};
> > +
> > +			i2c1: i2c@11100 {
> > +				reg = <0x11100 0x20>;
> > +			};
> > +
> >  			usb@50000 {
> >  				clocks = <&coreclk 0>;
> >  			};
> > diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
> > index 416eb94..e1f2547 100644
> > --- a/arch/arm/boot/dts/armada-xp.dtsi
> > +++ b/arch/arm/boot/dts/armada-xp.dtsi
> > @@ -138,6 +138,16 @@
> >  				};
> >  			};
> >  
> > +			i2c0: i2c@11000 {
> > +				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
> > +				reg = <0x11000 0x100>;
> > +			};
> > +
> > +			i2c1: i2c@11100 {
> > +				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
> > +				reg = <0x11100 0x100>;
> > +			};
> > +
> >  			usb@50000 {
> >  				clocks = <&gateclk 18>;
> >  			};
> > -- 
> > 1.8.1.2
> > 
> 
> -- 
> Ezequiel GarcĂ­a, Free Electrons
> Embedded Linux, Kernel and Android Engineering
> http://free-electrons.com
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
index a1ee681..c5dd952 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
@@ -4,7 +4,8 @@ 
 Required properties :
 
  - reg             : Offset and length of the register set for the device
- - compatible      : Should be "marvell,mv64xxx-i2c"
+ - compatible      : Should be "marvell,mv64xxx-i2c" and "marvell,mv7230-i2c"
+for controller which support the I2C Transaction Generator
  - interrupts      : The interrupt number
 
 Optional properties :
@@ -20,3 +21,13 @@  Examples:
 		interrupts = <29>;
 		clock-frequency = <100000>;
 	};
+
+For a controller which support the I2C Transaction Generator:
+
+	i2c@11000 {
+		compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
+		reg = <0x11000 0x100>;
+		compatible = "marvell,mv64xxx-i2c";
+		interrupts = <29>;
+		clock-frequency = <100000>;
+	};
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 90b1176..d8b24c9 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -121,7 +121,6 @@ 
 
 			i2c0: i2c@11000 {
 				compatible = "marvell,mv64xxx-i2c";
-				reg = <0x11000 0x20>;
 				#address-cells = <1>;
 				#size-cells = <0>;
 				interrupts = <31>;
@@ -132,7 +131,6 @@ 
 
 			i2c1: i2c@11100 {
 				compatible = "marvell,mv64xxx-i2c";
-				reg = <0x11100 0x20>;
 				#address-cells = <1>;
 				#size-cells = <0>;
 				interrupts = <32>;
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index fa3dfc6..0e2eefa 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -155,6 +155,14 @@ 
 				};
 			};
 
+			i2c0: i2c@11000 {
+				reg = <0x11000 0x20>;
+			};
+
+			i2c1: i2c@11100 {
+				reg = <0x11100 0x20>;
+			};
+
 			usb@50000 {
 				clocks = <&coreclk 0>;
 			};
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index 416eb94..e1f2547 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -138,6 +138,16 @@ 
 				};
 			};
 
+			i2c0: i2c@11000 {
+				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
+				reg = <0x11000 0x100>;
+			};
+
+			i2c1: i2c@11100 {
+				compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
+				reg = <0x11100 0x100>;
+			};
+
 			usb@50000 {
 				clocks = <&gateclk 18>;
 			};