diff mbox series

[v2] rockchip: enabled LAN port on NanoPi R2S

Message ID 20210405093423.16149-1-cnsztl@gmail.com
State New
Headers show
Series [v2] rockchip: enabled LAN port on NanoPi R2S | expand

Commit Message

Tianling Shen April 5, 2021, 9:34 a.m. UTC
From: David Bauer <mail@david-bauer.net>

Enable the USB3 port on the FriendlyARM NanoPi R2S.
This is required for the USB3 attached LAN port to work.

Signed-off-by: David Bauer <mail@david-bauer.net>
[added device node for USB Ethernet controller]
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
---
 .../boot/dts/rockchip/rk3328-nanopi-r2s.dts   | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)

Comments

Tianling Shen April 6, 2021, 12:10 p.m. UTC | #1
Hi Johan,

On 2021-04-05 19:03, Johan Jonker <jbx6244@gmail.com> wrote:
>

> Hi Tianling,

>

> On 4/5/21 11:34 AM, Tianling Shen wrote:

> > From: David Bauer <mail@david-bauer.net>

> >

> > Enable the USB3 port on the FriendlyARM NanoPi R2S.

> > This is required for the USB3 attached LAN port to work.

> >

> > Signed-off-by: David Bauer <mail@david-bauer.net>

> > [added device node for USB Ethernet controller]

> > Signed-off-by: Tianling Shen <cnsztl@gmail.com>

> > ---

> >  .../boot/dts/rockchip/rk3328-nanopi-r2s.dts   | 32 +++++++++++++++++++

> >  1 file changed, 32 insertions(+)

> >

> > diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts

> > index faf496d789cf..18936b393d9d 100644

> > --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts

> > +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts

> > @@ -13,6 +13,10 @@

> >       model = "FriendlyElec NanoPi R2S";

> >       compatible = "friendlyarm,nanopi-r2s", "rockchip,rk3328";

> >

> > +     aliases {

> > +             ethernet1 = &r8153;

> > +     };

> > +

> >       chosen {

> >               stdout-path = "serial2:1500000n8";

> >       };

> > @@ -37,6 +41,16 @@

> >               };

> >       };

> >

>

> > +     vcc_rtl8153: vcc-rtl8153-regulator {

>

> sort nodename

>

> > +             compatible = "regulator-fixed";

> > +             gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;

> > +             pinctrl-names = "default";

> > +             pinctrl-0 = <&rtl8153_en_drv>;

> > +             regulator-always-on;

>

> > +             regulator-name = "vcc_rtl8153";

>

> exception to the sort rule

> sort regulator-name above all other regulator properties

>

> > +             enable-active-high;

>

> sort

>

> ----

> Heiko's sort rules:

>

> compatible

> reg

> interrupts

> [alphabetical]

> status [if needed]

>

> ----


Thank you very much, and I will update it in v3.

>

> > +     };

> > +

> >       leds {

> >               compatible = "gpio-leds";

> >               pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;

> > @@ -265,6 +279,12 @@

> >                       };

> >               };

> >       };

> > +

> > +     usb {

> > +             rtl8153_en_drv: rtl8153-en-drv {

> > +                     rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;

> > +             };

> > +     };

> >  };

> >

> >  &io_domains {

> > @@ -364,6 +384,18 @@

> >       dr_mode = "host";

> >  };

> >

> > +&usbdrd3 {

> > +     dr_mode = "host";

> > +     status = "okay";

> > +

>

> > +     r8153: usb-eth@2 {

>

> With YAML undocumented additional properties and nodes generate

> notifications.

> We need a change in the documents below for that.

> rockchip,dwc3.yaml > usb-drd.yaml > usb.yaml

>

> Is there a standard for the usb-eth nodename?

>

> > +             compatible = "realtek,rtl8153";

>

> Since a while Rob has improved has scripts.

> There's no escape anymore.

> Add a YAML document to this serie for "realtek,rtl8153".


This is actually added by another patch[1], but doesn't go to upstream yet.
I'll ask David if he would like to submit it.

Kindly ping David.

1:
https://github.com/openwrt/openwrt/blob/master/target/linux/rockchip/patches-5.10/002-net-usb-r8152-add-LED-configuration-from-OF.patch
https://github.com/openwrt/openwrt/blob/master/target/linux/rockchip/patches-5.10/003-dt-bindings-net-add-RTL8152-binding-documentation.patch

>

> Improve checking for undocumented compatible strings

> https://github.com/devicetree-org/dt-schema/commit/93e7ada8d53af099074cb5d53f7caa12835784e0

>

> > +             reg = <2>;

>

> Why 2 ?

>


This is the device number on the USB bus.

> > +

>

> > +             local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */

>

> This is a private property.

> In a generic dts that's up to the user.


Okay I will drop this.

Thanks,
Tianling.

>

> > +     };

> > +};

> > +

> >  &usb_host0_ehci {

> >       status = "okay";

> >  };

> >

>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
index faf496d789cf..18936b393d9d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
@@ -13,6 +13,10 @@ 
 	model = "FriendlyElec NanoPi R2S";
 	compatible = "friendlyarm,nanopi-r2s", "rockchip,rk3328";
 
+	aliases {
+		ethernet1 = &r8153;
+	};
+
 	chosen {
 		stdout-path = "serial2:1500000n8";
 	};
@@ -37,6 +41,16 @@ 
 		};
 	};
 
+	vcc_rtl8153: vcc-rtl8153-regulator {
+		compatible = "regulator-fixed";
+		gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&rtl8153_en_drv>;
+		regulator-always-on;
+		regulator-name = "vcc_rtl8153";
+		enable-active-high;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
@@ -265,6 +279,12 @@ 
 			};
 		};
 	};
+
+	usb {
+		rtl8153_en_drv: rtl8153-en-drv {
+			rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
 };
 
 &io_domains {
@@ -364,6 +384,18 @@ 
 	dr_mode = "host";
 };
 
+&usbdrd3 {
+	dr_mode = "host";
+	status = "okay";
+
+	r8153: usb-eth@2 {
+		compatible = "realtek,rtl8153";
+		reg = <2>;
+
+		local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */
+	};
+};
+
 &usb_host0_ehci {
 	status = "okay";
 };