diff mbox series

[v2,2/6] ARM: dts: sun8i: v40: bananapi-m2-berry: Enable GMAC ethernet controller

Message ID 1555065186-8154-3-git-send-email-pgreco@centosproject.org (mailing list archive)
State New, archived
Headers show
Series ARM: dts: sun8i: v40 Rewrite BPi M2 Berry DTS based on BPi M2 Ultra | expand

Commit Message

Pablo Sebastián Greco April 12, 2019, 10:33 a.m. UTC
Just like the Bananapi M2 Ultra, the Bananapi M2 Berry has a Realtek
RTL8211E RGMII PHY tied to the GMAC.
The PMIC's DC1SW output provides power for the PHY, while the ALDO2
output provides I/O voltages on both sides.

Signed-off-by: Pablo Greco <pgreco@centosproject.org>
---
 arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 30 +++++++++++++++++++++++
 1 file changed, 30 insertions(+)

Comments

Maxime Ripard April 15, 2019, 7:53 a.m. UTC | #1
On Fri, Apr 12, 2019 at 07:33:01AM -0300, Pablo Greco wrote:
> Just like the Bananapi M2 Ultra, the Bananapi M2 Berry has a Realtek
> RTL8211E RGMII PHY tied to the GMAC.
> The PMIC's DC1SW output provides power for the PHY, while the ALDO2
> output provides I/O voltages on both sides.
>
> Signed-off-by: Pablo Greco <pgreco@centosproject.org>
> ---
>  arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 30 +++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
> index f05cabd..0d79e91 100644
> --- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
> +++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
> @@ -50,6 +50,7 @@
>  	compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40";
>
>  	aliases {
> +		ethernet0 = &gmac;
>  		serial0 = &uart0;
>  	};
>
> @@ -92,6 +93,22 @@
>  	status = "okay";
>  };
>
> +&gmac {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&gmac_rgmii_pins>;
> +	phy-handle = <&phy1>;
> +	phy-mode = "rgmii";
> +	phy-supply = <&reg_dc1sw>;
> +	status = "okay";
> +};
> +
> +&gmac_mdio {
> +	phy1: ethernet-phy@1 {
> +		compatible = "ethernet-phy-ieee802.3-c22";
> +		reg = <1>;
> +	};
> +};
> +
>  &i2c0 {
>  	status = "okay";
>
> @@ -123,6 +140,13 @@
>  	status = "okay";
>  };
>
> +&reg_aldo2 {
> +	regulator-always-on;
> +	regulator-min-microvolt = <2500000>;
> +	regulator-max-microvolt = <2500000>;
> +	regulator-name = "vcc-pa";
> +};
> +

If this one provides power to the pins, it should be tied to the PIO
node.

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Pablo Sebastián Greco April 16, 2019, 10:47 a.m. UTC | #2
El 15/4/19 a las 04:53, Maxime Ripard escribió:
> On Fri, Apr 12, 2019 at 07:33:01AM -0300, Pablo Greco wrote:
>> Just like the Bananapi M2 Ultra, the Bananapi M2 Berry has a Realtek
>> RTL8211E RGMII PHY tied to the GMAC.
>> The PMIC's DC1SW output provides power for the PHY, while the ALDO2
>> output provides I/O voltages on both sides.
>>
>> Signed-off-by: Pablo Greco <pgreco@centosproject.org>
>> ---
>>   arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 30 +++++++++++++++++++++++
>>   1 file changed, 30 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
>> index f05cabd..0d79e91 100644
>> --- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
>> +++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
>> @@ -50,6 +50,7 @@
>>   	compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40";
>>
>>   	aliases {
>> +		ethernet0 = &gmac;
>>   		serial0 = &uart0;
>>   	};
>>
>> @@ -92,6 +93,22 @@
>>   	status = "okay";
>>   };
>>
>> +&gmac {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&gmac_rgmii_pins>;
>> +	phy-handle = <&phy1>;
>> +	phy-mode = "rgmii";
>> +	phy-supply = <&reg_dc1sw>;
>> +	status = "okay";
>> +};
>> +
>> +&gmac_mdio {
>> +	phy1: ethernet-phy@1 {
>> +		compatible = "ethernet-phy-ieee802.3-c22";
>> +		reg = <1>;
>> +	};
>> +};
>> +
>>   &i2c0 {
>>   	status = "okay";
>>
>> @@ -123,6 +140,13 @@
>>   	status = "okay";
>>   };
>>
>> +&reg_aldo2 {
>> +	regulator-always-on;
>> +	regulator-min-microvolt = <2500000>;
>> +	regulator-max-microvolt = <2500000>;
>> +	regulator-name = "vcc-pa";
>> +};
>> +
> If this one provides power to the pins, it should be tied to the PIO
> node.
In that case, I should fix the bananapi-m2-ultra the same way. Do you 
prefer me to add those fixes to this series?
Or is it better to apply this like it is, and I fix both together in a 
separated series?
> Maxime
>
> --
> Maxime Ripard, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
Pablo.
Maxime Ripard April 16, 2019, 1 p.m. UTC | #3
65;5600;1c
On Tue, Apr 16, 2019 at 07:47:09AM -0300, Pablo Sebastián Greco wrote:
>
> El 15/4/19 a las 04:53, Maxime Ripard escribió:
> > On Fri, Apr 12, 2019 at 07:33:01AM -0300, Pablo Greco wrote:
> > > Just like the Bananapi M2 Ultra, the Bananapi M2 Berry has a Realtek
> > > RTL8211E RGMII PHY tied to the GMAC.
> > > The PMIC's DC1SW output provides power for the PHY, while the ALDO2
> > > output provides I/O voltages on both sides.
> > >
> > > Signed-off-by: Pablo Greco <pgreco@centosproject.org>
> > > ---
> > >   arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 30 +++++++++++++++++++++++
> > >   1 file changed, 30 insertions(+)
> > >
> > > diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
> > > index f05cabd..0d79e91 100644
> > > --- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
> > > +++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
> > > @@ -50,6 +50,7 @@
> > >   	compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40";
> > >
> > >   	aliases {
> > > +		ethernet0 = &gmac;
> > >   		serial0 = &uart0;
> > >   	};
> > >
> > > @@ -92,6 +93,22 @@
> > >   	status = "okay";
> > >   };
> > >
> > > +&gmac {
> > > +	pinctrl-names = "default";
> > > +	pinctrl-0 = <&gmac_rgmii_pins>;
> > > +	phy-handle = <&phy1>;
> > > +	phy-mode = "rgmii";
> > > +	phy-supply = <&reg_dc1sw>;
> > > +	status = "okay";
> > > +};
> > > +
> > > +&gmac_mdio {
> > > +	phy1: ethernet-phy@1 {
> > > +		compatible = "ethernet-phy-ieee802.3-c22";
> > > +		reg = <1>;
> > > +	};
> > > +};
> > > +
> > >   &i2c0 {
> > >   	status = "okay";
> > >
> > > @@ -123,6 +140,13 @@
> > >   	status = "okay";
> > >   };
> > >
> > > +&reg_aldo2 {
> > > +	regulator-always-on;
> > > +	regulator-min-microvolt = <2500000>;
> > > +	regulator-max-microvolt = <2500000>;
> > > +	regulator-name = "vcc-pa";
> > > +};
> > > +
> > If this one provides power to the pins, it should be tied to the PIO
> > node.
>
> In that case, I should fix the bananapi-m2-ultra the same way. Do you prefer
> me to add those fixes to this series?

If you have that board, then please add that yep.

> Or is it better to apply this like it is, and I fix both together in a
> separated series?

No, please resend a new version.

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
index f05cabd..0d79e91 100644
--- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
+++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
@@ -50,6 +50,7 @@ 
 	compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40";
 
 	aliases {
+		ethernet0 = &gmac;
 		serial0 = &uart0;
 	};
 
@@ -92,6 +93,22 @@ 
 	status = "okay";
 };
 
+&gmac {
+	pinctrl-names = "default";
+	pinctrl-0 = <&gmac_rgmii_pins>;
+	phy-handle = <&phy1>;
+	phy-mode = "rgmii";
+	phy-supply = <&reg_dc1sw>;
+	status = "okay";
+};
+
+&gmac_mdio {
+	phy1: ethernet-phy@1 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <1>;
+	};
+};
+
 &i2c0 {
 	status = "okay";
 
@@ -123,6 +140,13 @@ 
 	status = "okay";
 };
 
+&reg_aldo2 {
+	regulator-always-on;
+	regulator-min-microvolt = <2500000>;
+	regulator-max-microvolt = <2500000>;
+	regulator-name = "vcc-pa";
+};
+
 &reg_aldo3 {
 	regulator-always-on;
 	regulator-min-microvolt = <2700000>;
@@ -130,6 +154,12 @@ 
 	regulator-name = "avcc";
 };
 
+&reg_dc1sw {
+	regulator-min-microvolt = <3000000>;
+	regulator-max-microvolt = <3000000>;
+	regulator-name = "vcc-gmac-phy";
+};
+
 &reg_dcdc1 {
 	regulator-always-on;
 	regulator-min-microvolt = <3000000>;