diff mbox

ARM: dts: sun7i: Add BCM53125 Device Tree nodes

Message ID 1465690459-30751-2-git-send-email-f.fainelli@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Florian Fainelli June 12, 2016, 12:14 a.m. UTC
Now that we have a proper binding for Ethernet switches hanging off
different buses, and a driver for the BCM53125 switch, add its Device
Tree as a child MDIO node, at MDIO address 30 (Broadcom pseudo-PHY
address) and describe the ports layout of the Lamobo R1 board.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts | 60 +++++++++++++++++++++++++++++--
 1 file changed, 57 insertions(+), 3 deletions(-)

Comments

Chen-Yu Tsai June 24, 2016, 5:48 a.m. UTC | #1
Hi,

On Sun, Jun 12, 2016 at 8:14 AM, Florian Fainelli <f.fainelli@gmail.com> wrote:
> Now that we have a proper binding for Ethernet switches hanging off
> different buses, and a driver for the BCM53125 switch, add its Device
> Tree as a child MDIO node, at MDIO address 30 (Broadcom pseudo-PHY
> address) and describe the ports layout of the Lamobo R1 board.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts | 60 +++++++++++++++++++++++++++++--
>  1 file changed, 57 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> index 5ee43d8bf174..697582397dcf 100644
> --- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> +++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> @@ -110,13 +110,67 @@
>  &gmac {
>         pinctrl-names = "default";
>         pinctrl-0 = <&gmac_pins_rgmii_a>;
> -       phy = <&phy1>;
>         phy-mode = "rgmii";
>         phy-supply = <&reg_gmac_3v3>;
>         status = "okay";
>
> -       phy1: ethernet-phy@1 {
> -               reg = <1>;
> +       fixed-link {
> +               speed = <1000>;
> +               full-duplex;
> +       };
> +
> +       mdio1 {

mdio will suffice.

> +               compatible = "snps,dwmac-mdio";
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +
> +               switch: ethernet-switch@30 {

30 decimal or 0x30 hex? We typically use hex values here.

Otherwise this patch looks good. You should send it to Maxime though.

ChenYu

> +                       compatible = "brcm,bcm53125";
> +                       reg = <30>;
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +
> +                               port@0 {
> +                                       reg = <0>;
> +                                       label = "lan2";
> +                               };
> +
> +                               port@1 {
> +                                       reg = <1>;
> +                                       label = "lan3";
> +                               };
> +
> +                               port@2 {
> +                                       reg = <2>;
> +                                       label = "lan4";
> +                               };
> +
> +                               port@3 {
> +                                       reg = <3>;
> +                                       label = "wan";
> +                               };
> +
> +                               port@4 {
> +                                       reg = <4>;
> +                                       label = "lan1";
> +                               };
> +
> +                               port@8 {
> +                                       reg = <8>;
> +                                       label = "cpu";
> +                                       ethernet = <&gmac>;
> +                                       phy-mode = "rgmii";
> +                                       fixed-link {
> +                                               speed = <1000>;
> +                                               full-duplex;
> +                                       };
> +                               };
> +                       };
> +               };
>         };
>  };
>
> --
> 2.7.4
>
Chen-Yu Tsai June 24, 2016, 5:51 a.m. UTC | #2
On Fri, Jun 24, 2016 at 1:48 PM, Chen-Yu Tsai <wens@csie.org> wrote:
> Hi,
>
> On Sun, Jun 12, 2016 at 8:14 AM, Florian Fainelli <f.fainelli@gmail.com> wrote:
>> Now that we have a proper binding for Ethernet switches hanging off
>> different buses, and a driver for the BCM53125 switch, add its Device
>> Tree as a child MDIO node, at MDIO address 30 (Broadcom pseudo-PHY
>> address) and describe the ports layout of the Lamobo R1 board.

You should also mention the board in the commit subject line.

ChenYu

>>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>>  arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts | 60 +++++++++++++++++++++++++++++--
>>  1 file changed, 57 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>> index 5ee43d8bf174..697582397dcf 100644
>> --- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>> +++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>> @@ -110,13 +110,67 @@
>>  &gmac {
>>         pinctrl-names = "default";
>>         pinctrl-0 = <&gmac_pins_rgmii_a>;
>> -       phy = <&phy1>;
>>         phy-mode = "rgmii";
>>         phy-supply = <&reg_gmac_3v3>;
>>         status = "okay";
>>
>> -       phy1: ethernet-phy@1 {
>> -               reg = <1>;
>> +       fixed-link {
>> +               speed = <1000>;
>> +               full-duplex;
>> +       };
>> +
>> +       mdio1 {
>
> mdio will suffice.
>
>> +               compatible = "snps,dwmac-mdio";
>> +               #address-cells = <1>;
>> +               #size-cells = <0>;
>> +
>> +               switch: ethernet-switch@30 {
>
> 30 decimal or 0x30 hex? We typically use hex values here.
>
> Otherwise this patch looks good. You should send it to Maxime though.
>
> ChenYu
>
>> +                       compatible = "brcm,bcm53125";
>> +                       reg = <30>;
>> +                       #address-cells = <1>;
>> +                       #size-cells = <0>;
>> +
>> +                       ports {
>> +                               #address-cells = <1>;
>> +                               #size-cells = <0>;
>> +
>> +                               port@0 {
>> +                                       reg = <0>;
>> +                                       label = "lan2";
>> +                               };
>> +
>> +                               port@1 {
>> +                                       reg = <1>;
>> +                                       label = "lan3";
>> +                               };
>> +
>> +                               port@2 {
>> +                                       reg = <2>;
>> +                                       label = "lan4";
>> +                               };
>> +
>> +                               port@3 {
>> +                                       reg = <3>;
>> +                                       label = "wan";
>> +                               };
>> +
>> +                               port@4 {
>> +                                       reg = <4>;
>> +                                       label = "lan1";
>> +                               };
>> +
>> +                               port@8 {
>> +                                       reg = <8>;
>> +                                       label = "cpu";
>> +                                       ethernet = <&gmac>;
>> +                                       phy-mode = "rgmii";
>> +                                       fixed-link {
>> +                                               speed = <1000>;
>> +                                               full-duplex;
>> +                                       };
>> +                               };
>> +                       };
>> +               };
>>         };
>>  };
>>
>> --
>> 2.7.4
>>
Florian Fainelli June 26, 2016, 2:59 a.m. UTC | #3
Le 23/06/2016 22:48, Chen-Yu Tsai a écrit :
>> diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>> index 5ee43d8bf174..697582397dcf 100644
>> --- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>> +++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>> @@ -110,13 +110,67 @@
>>  &gmac {
>>         pinctrl-names = "default";
>>         pinctrl-0 = <&gmac_pins_rgmii_a>;
>> -       phy = <&phy1>;
>>         phy-mode = "rgmii";
>>         phy-supply = <&reg_gmac_3v3>;
>>         status = "okay";
>>
>> -       phy1: ethernet-phy@1 {
>> -               reg = <1>;
>> +       fixed-link {
>> +               speed = <1000>;
>> +               full-duplex;
>> +       };
>> +
>> +       mdio1 {
> 
> mdio will suffice.

There is another label in sun7i-a20.dtsi named mdio which is for the
MDIO controller node matching allwinner,sun4i-a10-mdio, which is not the
one we want here, we want the MDIO controller associated with the
Synopsys GMAC.

> 
>> +               compatible = "snps,dwmac-mdio";
>> +               #address-cells = <1>;
>> +               #size-cells = <0>;
>> +
>> +               switch: ethernet-switch@30 {
> 
> 30 decimal or 0x30 hex? We typically use hex values here.

30 decimal, will fix that.
Maxime Ripard June 26, 2016, 8:05 a.m. UTC | #4
Hi Florian,

On Sat, Jun 25, 2016 at 07:59:23PM -0700, Florian Fainelli wrote:
> Le 23/06/2016 22:48, Chen-Yu Tsai a écrit :
> >> diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> >> index 5ee43d8bf174..697582397dcf 100644
> >> --- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> >> +++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> >> @@ -110,13 +110,67 @@
> >>  &gmac {
> >>         pinctrl-names = "default";
> >>         pinctrl-0 = <&gmac_pins_rgmii_a>;
> >> -       phy = <&phy1>;
> >>         phy-mode = "rgmii";
> >>         phy-supply = <&reg_gmac_3v3>;
> >>         status = "okay";
> >>
> >> -       phy1: ethernet-phy@1 {
> >> -               reg = <1>;
> >> +       fixed-link {
> >> +               speed = <1000>;
> >> +               full-duplex;
> >> +       };
> >> +
> >> +       mdio1 {
> > 
> > mdio will suffice.
> 
> There is another label in sun7i-a20.dtsi named mdio which is for the
> MDIO controller node matching allwinner,sun4i-a10-mdio, which is not the
> one we want here, we want the MDIO controller associated with the
> Synopsys GMAC.

Yes, but it's in a different node, and you're not using any labels, so
I don't really see how that would conflict.

Maxime
Florian Fainelli June 26, 2016, 5:26 p.m. UTC | #5
Le 26/06/2016 01:05, Maxime Ripard a écrit :
> Hi Florian,
> 
> On Sat, Jun 25, 2016 at 07:59:23PM -0700, Florian Fainelli wrote:
>> Le 23/06/2016 22:48, Chen-Yu Tsai a écrit :
>>>> diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>>>> index 5ee43d8bf174..697582397dcf 100644
>>>> --- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>>>> +++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
>>>> @@ -110,13 +110,67 @@
>>>>  &gmac {
>>>>         pinctrl-names = "default";
>>>>         pinctrl-0 = <&gmac_pins_rgmii_a>;
>>>> -       phy = <&phy1>;
>>>>         phy-mode = "rgmii";
>>>>         phy-supply = <&reg_gmac_3v3>;
>>>>         status = "okay";
>>>>
>>>> -       phy1: ethernet-phy@1 {
>>>> -               reg = <1>;
>>>> +       fixed-link {
>>>> +               speed = <1000>;
>>>> +               full-duplex;
>>>> +       };
>>>> +
>>>> +       mdio1 {
>>>
>>> mdio will suffice.
>>
>> There is another label in sun7i-a20.dtsi named mdio which is for the
>> MDIO controller node matching allwinner,sun4i-a10-mdio, which is not the
>> one we want here, we want the MDIO controller associated with the
>> Synopsys GMAC.
> 
> Yes, but it's in a different node, and you're not using any labels, so
> I don't really see how that would conflict.

Fair enough, I sent a v2 which uses "mdio-gmac" as a label, should I
respin a v3 which just uses "mdio"?

v2 is here;
http://www.spinics.net/lists/arm-kernel/msg514007.html
Maxime Ripard June 27, 2016, 8:09 a.m. UTC | #6
On Sun, Jun 26, 2016 at 10:26:43AM -0700, Florian Fainelli wrote:
> Le 26/06/2016 01:05, Maxime Ripard a écrit :
> > Hi Florian,
> > 
> > On Sat, Jun 25, 2016 at 07:59:23PM -0700, Florian Fainelli wrote:
> >> Le 23/06/2016 22:48, Chen-Yu Tsai a écrit :
> >>>> diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> >>>> index 5ee43d8bf174..697582397dcf 100644
> >>>> --- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> >>>> +++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
> >>>> @@ -110,13 +110,67 @@
> >>>>  &gmac {
> >>>>         pinctrl-names = "default";
> >>>>         pinctrl-0 = <&gmac_pins_rgmii_a>;
> >>>> -       phy = <&phy1>;
> >>>>         phy-mode = "rgmii";
> >>>>         phy-supply = <&reg_gmac_3v3>;
> >>>>         status = "okay";
> >>>>
> >>>> -       phy1: ethernet-phy@1 {
> >>>> -               reg = <1>;
> >>>> +       fixed-link {
> >>>> +               speed = <1000>;
> >>>> +               full-duplex;
> >>>> +       };
> >>>> +
> >>>> +       mdio1 {
> >>>
> >>> mdio will suffice.
> >>
> >> There is another label in sun7i-a20.dtsi named mdio which is for the
> >> MDIO controller node matching allwinner,sun4i-a10-mdio, which is not the
> >> one we want here, we want the MDIO controller associated with the
> >> Synopsys GMAC.
> > 
> > Yes, but it's in a different node, and you're not using any labels, so
> > I don't really see how that would conflict.
> 
> Fair enough, I sent a v2 which uses "mdio-gmac" as a label, should I
> respin a v3 which just uses "mdio"?

Yes, please do, thanks!

Maxime
diff mbox

Patch

diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
index 5ee43d8bf174..697582397dcf 100644
--- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
+++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
@@ -110,13 +110,67 @@ 
 &gmac {
 	pinctrl-names = "default";
 	pinctrl-0 = <&gmac_pins_rgmii_a>;
-	phy = <&phy1>;
 	phy-mode = "rgmii";
 	phy-supply = <&reg_gmac_3v3>;
 	status = "okay";
 
-	phy1: ethernet-phy@1 {
-		reg = <1>;
+	fixed-link {
+		speed = <1000>;
+		full-duplex;
+	};
+
+	mdio1 {
+		compatible = "snps,dwmac-mdio";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		switch: ethernet-switch@30 {
+			compatible = "brcm,bcm53125";
+			reg = <30>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+					label = "lan2";
+				};
+
+				port@1 {
+					reg = <1>;
+					label = "lan3";
+				};
+
+				port@2 {
+					reg = <2>;
+					label = "lan4";
+				};
+
+				port@3 {
+					reg = <3>;
+					label = "wan";
+				};
+
+				port@4 {
+					reg = <4>;
+					label = "lan1";
+				};
+
+				port@8 {
+					reg = <8>;
+					label = "cpu";
+					ethernet = <&gmac>;
+					phy-mode = "rgmii";
+					fixed-link {
+						speed = <1000>;
+						full-duplex;
+					};
+				};
+			};
+		};
 	};
 };