Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1273915 > unrolled thread

[PATCH 0/2] Add I2C support for Marvell Berlin BG4CT

Started byJisheng Zhang <jszhang@marvell.com>
First post2015-11-20 11:00 +0100
Last post2015-11-23 09:30 +0100
Articles 6 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/2] Add I2C support for Marvell Berlin BG4CT Jisheng Zhang <jszhang@marvell.com> - 2015-11-20 11:00 +0100
    [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board Jisheng Zhang <jszhang@marvell.com> - 2015-11-20 11:00 +0100
      Re: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the  STB board Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> - 2015-11-20 22:20 +0100
        Re: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the  STB board Jisheng Zhang <jszhang@marvell.com> - 2015-11-23 04:00 +0100
          Re: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the  STB board Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> - 2015-11-23 09:20 +0100
            Re: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the  STB board Jisheng Zhang <jszhang@marvell.com> - 2015-11-23 09:30 +0100

#1273915 — [PATCH 0/2] Add I2C support for Marvell Berlin BG4CT

FromJisheng Zhang <jszhang@marvell.com>
Date2015-11-20 11:00 +0100
Subject[PATCH 0/2] Add I2C support for Marvell Berlin BG4CT
Message-ID<qwQE2-5uX-3@gated-at.bofh.it>
The first patch adds i2c nodes in the soc's dtsi, the second patch
enables all i2c nodes for BG4CT STB board.

NOTE: this series depends on the missed-in-v4.4rc1 patches:

http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/378634.html
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/378635.html
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/378638.html

Jisheng Zhang (2):
  arm64: dts: berlin4ct: add I2C nodes for BG4CT
  arm64: dts: berlin4ct: enable all i2c nodes for the STB board

 arch/arm64/boot/dts/marvell/berlin4ct-stb.dts | 50 ++++++++++++++++++++++++++
 arch/arm64/boot/dts/marvell/berlin4ct.dtsi    | 52 +++++++++++++++++++++++++++
 2 files changed, 102 insertions(+)

-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1273917 — [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board

FromJisheng Zhang <jszhang@marvell.com>
Date2015-11-20 11:00 +0100
Subject[PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board
Message-ID<qwQE2-5uX-21@gated-at.bofh.it>
In reply to#1273915
Enable all i2c nodes for the Marvell berlin BG4CT STB board.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
---
 arch/arm64/boot/dts/marvell/berlin4ct-stb.dts | 50 +++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
index 348c37e..9e8e2e0 100644
--- a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
+++ b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
@@ -61,6 +61,56 @@
 	};
 };
 
+&avio_pinctrl {
+	twsi1_pmux: twsi1-pmux {
+		groups = "TX_EDDC_SCL", "TX_EDDC_SDA";
+		function = "tx_eddc";
+	};
+};
+
+&i2c0 {
+	status = "okay";
+	pinctrl-0 = <&twsi0_pmux>;
+	pinctrl-names = "default";
+};
+
+&i2c1 {
+	status = "okay";
+	pinctrl-0 = <&twsi1_pmux>;
+	pinctrl-names = "default";
+};
+
+&i2c2 {
+	status = "okay";
+	pinctrl-0 = <&twsi2_pmux>;
+	pinctrl-names = "default";
+};
+
+&i2c3 {
+	status = "okay";
+	pinctrl-0 = <&twsi3_pmux>;
+	pinctrl-names = "default";
+};
+
+&soc_pinctrl {
+	twsi0_pmux: twsi0-pmux {
+		groups = "TW0_SCL", "TW0_SDA";
+		function = "tw0";
+	};
+};
+
+&system_pinctrl {
+	twsi2_pmux: twsi2-pmux {
+		groups = "SM_TW2_SCL", "SM_TW2_SDA";
+		function = "tw2";
+	};
+
+	twsi3_pmux: twsi3-pmux {
+		groups = "SM_TW3_SCL", "SM_TW3_SDA";
+		function = "tw3";
+	};
+};
+
 &uart0 {
 	status = "okay";
 };
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1274437 — Re: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board

FromSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Date2015-11-20 22:20 +0100
SubjectRe: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board
Message-ID<qx1g5-4dN-9@gated-at.bofh.it>
In reply to#1273917
On 20.11.2015 10:47, Jisheng Zhang wrote:
> Enable all i2c nodes for the Marvell berlin BG4CT STB board.
> 
> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> ---
>  arch/arm64/boot/dts/marvell/berlin4ct-stb.dts | 50 +++++++++++++++++++++++++++
>  1 file changed, 50 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> index 348c37e..9e8e2e0 100644
> --- a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> +++ b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> @@ -61,6 +61,56 @@
>  	};
>  };
>  
> +&avio_pinctrl {
> +	twsi1_pmux: twsi1-pmux {
> +		groups = "TX_EDDC_SCL", "TX_EDDC_SDA";
> +		function = "tx_eddc";
> +	};

Please keep the pinmux sub-nodes in the SoC dtsi as long
as they are not strictly board specific, i.e. gpios.

> +};
> +
> +&i2c0 {
> +	status = "okay";
> +	pinctrl-0 = <&twsi0_pmux>;
> +	pinctrl-names = "default";

If there is only one (or a default) pinctrl-0 option for i2c0,
you can also move it to the SoC dtsi.

> +};
> +
> +&i2c1 {
> +	status = "okay";
> +	pinctrl-0 = <&twsi1_pmux>;
> +	pinctrl-names = "default";

ditto.

> +};
> +
> +&i2c2 {
> +	status = "okay";
> +	pinctrl-0 = <&twsi2_pmux>;
> +	pinctrl-names = "default";

ditto.

> +};
> +
> +&i2c3 {
> +	status = "okay";
> +	pinctrl-0 = <&twsi3_pmux>;
> +	pinctrl-names = "default";

ditto.

> +};
> +
> +&soc_pinctrl {
> +	twsi0_pmux: twsi0-pmux {
> +		groups = "TW0_SCL", "TW0_SDA";
> +		function = "tw0";
> +	};

Same comment about moving pinmux nodes to SoC dtsi.

> +};
> +
> +&system_pinctrl {
> +	twsi2_pmux: twsi2-pmux {
> +		groups = "SM_TW2_SCL", "SM_TW2_SDA";
> +		function = "tw2";
> +	};
> +
> +	twsi3_pmux: twsi3-pmux {
> +		groups = "SM_TW3_SCL", "SM_TW3_SDA";
> +		function = "tw3";
> +	};

ditto.

Sebastian

> +};
> +
>  &uart0 {
>  	status = "okay";
>  };
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1275021 — Re: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board

FromJisheng Zhang <jszhang@marvell.com>
Date2015-11-23 04:00 +0100
SubjectRe: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board
Message-ID<qxPwe-47I-1@gated-at.bofh.it>
In reply to#1274437
Dear Sebastian,

On Fri, 20 Nov 2015 22:19:32 +0100
Sebastian Hesselbarth wrote:

> On 20.11.2015 10:47, Jisheng Zhang wrote:
> > Enable all i2c nodes for the Marvell berlin BG4CT STB board.
> > 
> > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> > ---
> >  arch/arm64/boot/dts/marvell/berlin4ct-stb.dts | 50 +++++++++++++++++++++++++++
> >  1 file changed, 50 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> > index 348c37e..9e8e2e0 100644
> > --- a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> > +++ b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> > @@ -61,6 +61,56 @@
> >  	};
> >  };
> >  
> > +&avio_pinctrl {
> > +	twsi1_pmux: twsi1-pmux {
> > +		groups = "TX_EDDC_SCL", "TX_EDDC_SDA";
> > +		function = "tx_eddc";
> > +	};  
> 
> Please keep the pinmux sub-nodes in the SoC dtsi as long
> as they are not strictly board specific, i.e. gpios.

Hmm, seems all boards configure this pin for EDDC usage, so it's fine
to move to soc

> 
> > +};
> > +
> > +&i2c0 {
> > +	status = "okay";
> > +	pinctrl-0 = <&twsi0_pmux>;
> > +	pinctrl-names = "default";  
> 
> If there is only one (or a default) pinctrl-0 option for i2c0,
> you can also move it to the SoC dtsi.

Some board may not use i2c0, i2c2, i2c3 host and use the pin as gpio for other
purpose. Considering the above twsi1_pmux usage, what's the better solution?
move twsi1_pmux to soc's dtsi and leave i2c0, i2c2, i2c3 pinctrl in board dts?

> 
> > +};
> > +
> > +&i2c1 {
> > +	status = "okay";
> > +	pinctrl-0 = <&twsi1_pmux>;
> > +	pinctrl-names = "default";  
> 
> ditto.
> 
> > +};
> > +
> > +&i2c2 {
> > +	status = "okay";
> > +	pinctrl-0 = <&twsi2_pmux>;
> > +	pinctrl-names = "default";  
> 
> ditto.
> 
> > +};
> > +
> > +&i2c3 {
> > +	status = "okay";
> > +	pinctrl-0 = <&twsi3_pmux>;
> > +	pinctrl-names = "default";  
> 
> ditto.
> 
> > +};
> > +
> > +&soc_pinctrl {
> > +	twsi0_pmux: twsi0-pmux {
> > +		groups = "TW0_SCL", "TW0_SDA";
> > +		function = "tw0";
> > +	};  
> 
> Same comment about moving pinmux nodes to SoC dtsi.
> 
> > +};
> > +
> > +&system_pinctrl {
> > +	twsi2_pmux: twsi2-pmux {
> > +		groups = "SM_TW2_SCL", "SM_TW2_SDA";
> > +		function = "tw2";
> > +	};
> > +
> > +	twsi3_pmux: twsi3-pmux {
> > +		groups = "SM_TW3_SCL", "SM_TW3_SDA";
> > +		function = "tw3";
> > +	};  
> 
> ditto.
> 
> Sebastian
> 
> > +};
> > +
> >  &uart0 {
> >  	status = "okay";
> >  };
> >   
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1275100 — Re: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board

FromSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Date2015-11-23 09:20 +0100
SubjectRe: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board
Message-ID<qxUvU-7DO-3@gated-at.bofh.it>
In reply to#1275021
On 23.11.2015 03:49, Jisheng Zhang wrote:
> On Fri, 20 Nov 2015 22:19:32 +0100
> Sebastian Hesselbarth wrote:
>> On 20.11.2015 10:47, Jisheng Zhang wrote:
>>> Enable all i2c nodes for the Marvell berlin BG4CT STB board.
>>>
>>> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
>>> ---
>>>   arch/arm64/boot/dts/marvell/berlin4ct-stb.dts | 50 +++++++++++++++++++++++++++
>>>   1 file changed, 50 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
>>> index 348c37e..9e8e2e0 100644
>>> --- a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
>>> +++ b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
>>> @@ -61,6 +61,56 @@
>>>   	};
>>>   };
>>>
>>> +&avio_pinctrl {
>>> +	twsi1_pmux: twsi1-pmux {
>>> +		groups = "TX_EDDC_SCL", "TX_EDDC_SDA";
>>> +		function = "tx_eddc";
>>> +	};
>>
>> Please keep the pinmux sub-nodes in the SoC dtsi as long
>> as they are not strictly board specific, i.e. gpios.
>
> Hmm, seems all boards configure this pin for EDDC usage, so it's fine
> to move to soc
>
>>
>>> +};
>>> +
>>> +&i2c0 {
>>> +	status = "okay";
>>> +	pinctrl-0 = <&twsi0_pmux>;
>>> +	pinctrl-names = "default";
>>
>> If there is only one (or a default) pinctrl-0 option for i2c0,
>> you can also move it to the SoC dtsi.
>
> Some board may not use i2c0, i2c2, i2c3 host and use the pin as gpio for other
> purpose. Considering the above twsi1_pmux usage, what's the better solution?
> move twsi1_pmux to soc's dtsi and leave i2c0, i2c2, i2c3 pinctrl in board dts?

If some boards don't use i2cN, they do not enable the node in their
board dts. That is sufficient to not configure the pinmux as it will
only be set if a driver is loaded for that node.

If there is only one or two different pinmux settings for a specific
function _always_ move the pinmux setting into SoC dtsi. If there is
a well known default out of two or more possible settings, we may also
have that pinmux as a default in the i2c node and only overwrite it
when we have a board that uses a different setting.

So, for i2c: Move all pinctrl/pinctrl-names properties to the SoC
dtsi.

Sebastian

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1275120 — Re: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board

FromJisheng Zhang <jszhang@marvell.com>
Date2015-11-23 09:30 +0100
SubjectRe: [PATCH 2/2] arm64: dts: berlin4ct: enable all i2c nodes for the STB board
Message-ID<qxUFB-7Ir-31@gated-at.bofh.it>
In reply to#1275100
On Mon, 23 Nov 2015 09:12:18 +0100
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> wrote:

> On 23.11.2015 03:49, Jisheng Zhang wrote:
> > On Fri, 20 Nov 2015 22:19:32 +0100
> > Sebastian Hesselbarth wrote:  
> >> On 20.11.2015 10:47, Jisheng Zhang wrote:  
> >>> Enable all i2c nodes for the Marvell berlin BG4CT STB board.
> >>>
> >>> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> >>> ---
> >>>   arch/arm64/boot/dts/marvell/berlin4ct-stb.dts | 50 +++++++++++++++++++++++++++
> >>>   1 file changed, 50 insertions(+)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> >>> index 348c37e..9e8e2e0 100644
> >>> --- a/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> >>> +++ b/arch/arm64/boot/dts/marvell/berlin4ct-stb.dts
> >>> @@ -61,6 +61,56 @@
> >>>   	};
> >>>   };
> >>>
> >>> +&avio_pinctrl {
> >>> +	twsi1_pmux: twsi1-pmux {
> >>> +		groups = "TX_EDDC_SCL", "TX_EDDC_SDA";
> >>> +		function = "tx_eddc";
> >>> +	};  
> >>
> >> Please keep the pinmux sub-nodes in the SoC dtsi as long
> >> as they are not strictly board specific, i.e. gpios.  
> >
> > Hmm, seems all boards configure this pin for EDDC usage, so it's fine
> > to move to soc
> >  
> >>  
> >>> +};
> >>> +
> >>> +&i2c0 {
> >>> +	status = "okay";
> >>> +	pinctrl-0 = <&twsi0_pmux>;
> >>> +	pinctrl-names = "default";  
> >>
> >> If there is only one (or a default) pinctrl-0 option for i2c0,
> >> you can also move it to the SoC dtsi.  
> >
> > Some board may not use i2c0, i2c2, i2c3 host and use the pin as gpio for other
> > purpose. Considering the above twsi1_pmux usage, what's the better solution?
> > move twsi1_pmux to soc's dtsi and leave i2c0, i2c2, i2c3 pinctrl in board dts?  
> 
> If some boards don't use i2cN, they do not enable the node in their
> board dts. That is sufficient to not configure the pinmux as it will
> only be set if a driver is loaded for that node.
> 
> If there is only one or two different pinmux settings for a specific
> function _always_ move the pinmux setting into SoC dtsi. If there is
> a well known default out of two or more possible settings, we may also
> have that pinmux as a default in the i2c node and only overwrite it
> when we have a board that uses a different setting.

Got it. Thanks for the detailed explanations.

> 
> So, for i2c: Move all pinctrl/pinctrl-names properties to the SoC
> dtsi.

Will do in v2 when clk stuff is accepted.

Thanks,
Jisheng
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web