diff mbox series

rockchip: enabled LAN port on NanoPi R2S

Message ID 20210405074459.4217-1-cnsztl@gmail.com (mailing list archive)
State New, archived
Headers show
Series rockchip: enabled LAN port on NanoPi R2S | expand

Commit Message

Tianling Shen April 5, 2021, 7:44 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>
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
---
 .../boot/dts/rockchip/rk3328-nanopi-r2s.dts   | 23 +++++++++++++++++++
 1 file changed, 23 insertions(+)

Comments

Chen-Yu Tsai April 5, 2021, 8:13 a.m. UTC | #1
Hi,

On Mon, Apr 5, 2021 at 3:46 PM Tianling Shen <cnsztl@gmail.com> 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>
> Signed-off-by: Tianling Shen <cnsztl@gmail.com>
> ---
>  .../boot/dts/rockchip/rk3328-nanopi-r2s.dts   | 23 +++++++++++++++++++
>  1 file changed, 23 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..6ba9799a95c5 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
> @@ -37,6 +37,18 @@
>                 };
>         };
>
> +       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";
> +               regulator-min-microvolt = <5000000>;
> +               regulator-max-microvolt = <5000000>;

This is just a simple switch, not an actual regulator.
It would make more sense to drop the voltage range and
instead have the implementation pass-through voltage
constraints from its parent.

> +               enable-active-high;
> +       };
> +
>         leds {
>                 compatible = "gpio-leds";
>                 pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
> @@ -265,6 +277,12 @@
>                         };
>                 };
>         };
> +
> +       usb {
> +               rtl8153_en_drv: rtl8153-en-drv {
> +                       rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
> +               };
> +       };
>  };
>
>  &io_domains {
> @@ -364,6 +382,11 @@
>         dr_mode = "host";
>  };
>
> +&usbdrd3 {
> +       dr_mode = "host";
> +       status = "okay";

Please also add a device node for the actual Ethernet controller, and
set up an aliases node for it, so that the bootloader has some place
to fill in a MAC address.


ChenYu

> +};
> +
>  &usb_host0_ehci {
>         status = "okay";
>  };
> --
> 2.17.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Tianling Shen April 5, 2021, 8:52 a.m. UTC | #2
Hi Chen-Yu,

On 2021-04-05 16:14, Chen-Yu Tsai <wens@kernel.org> wrote:
>
> Hi,
>
> On Mon, Apr 5, 2021 at 3:46 PM Tianling Shen <cnsztl@gmail.com> 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>
> > Signed-off-by: Tianling Shen <cnsztl@gmail.com>
> > ---
> >  .../boot/dts/rockchip/rk3328-nanopi-r2s.dts   | 23 +++++++++++++++++++
> >  1 file changed, 23 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..6ba9799a95c5 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
> > @@ -37,6 +37,18 @@
> >                 };
> >         };
> >
> > +       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";
> > +               regulator-min-microvolt = <5000000>;
> > +               regulator-max-microvolt = <5000000>;
>
> This is just a simple switch, not an actual regulator.
> It would make more sense to drop the voltage range and
> instead have the implementation pass-through voltage
> constraints from its parent.

Thanks, I'll remove them in v2.

>
> > +               enable-active-high;
> > +       };
> > +
> >         leds {
> >                 compatible = "gpio-leds";
> >                 pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
> > @@ -265,6 +277,12 @@
> >                         };
> >                 };
> >         };
> > +
> > +       usb {
> > +               rtl8153_en_drv: rtl8153-en-drv {
> > +                       rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
> > +               };
> > +       };
> >  };
> >
> >  &io_domains {
> > @@ -364,6 +382,11 @@
> >         dr_mode = "host";
> >  };
> >
> > +&usbdrd3 {
> > +       dr_mode = "host";
> > +       status = "okay";
>
> Please also add a device node for the actual Ethernet controller, and
> set up an aliases node for it, so that the bootloader has some place
> to fill in a MAC address.

But there's no valid (unique) MAC address for both this or on-board ethernet...
They're non-existent in design.

Thanks,
Tianling.

>
>
> ChenYu
>
> > +};
> > +
> >  &usb_host0_ehci {
> >         status = "okay";
> >  };
> > --
> > 2.17.1
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Chen-Yu Tsai April 5, 2021, 8:56 a.m. UTC | #3
On Mon, Apr 5, 2021 at 4:53 PM Tianling Shen <cnsztl@gmail.com> wrote:
>
> Hi Chen-Yu,
>
> On 2021-04-05 16:14, Chen-Yu Tsai <wens@kernel.org> wrote:
> >
> > Hi,
> >
> > On Mon, Apr 5, 2021 at 3:46 PM Tianling Shen <cnsztl@gmail.com> 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>
> > > Signed-off-by: Tianling Shen <cnsztl@gmail.com>
> > > ---
> > >  .../boot/dts/rockchip/rk3328-nanopi-r2s.dts   | 23 +++++++++++++++++++
> > >  1 file changed, 23 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..6ba9799a95c5 100644
> > > --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
> > > +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
> > > @@ -37,6 +37,18 @@
> > >                 };
> > >         };
> > >
> > > +       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";
> > > +               regulator-min-microvolt = <5000000>;
> > > +               regulator-max-microvolt = <5000000>;
> >
> > This is just a simple switch, not an actual regulator.
> > It would make more sense to drop the voltage range and
> > instead have the implementation pass-through voltage
> > constraints from its parent.
>
> Thanks, I'll remove them in v2.
>
> >
> > > +               enable-active-high;
> > > +       };
> > > +
> > >         leds {
> > >                 compatible = "gpio-leds";
> > >                 pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
> > > @@ -265,6 +277,12 @@
> > >                         };
> > >                 };
> > >         };
> > > +
> > > +       usb {
> > > +               rtl8153_en_drv: rtl8153-en-drv {
> > > +                       rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
> > > +               };
> > > +       };
> > >  };
> > >
> > >  &io_domains {
> > > @@ -364,6 +382,11 @@
> > >         dr_mode = "host";
> > >  };
> > >
> > > +&usbdrd3 {
> > > +       dr_mode = "host";
> > > +       status = "okay";
> >
> > Please also add a device node for the actual Ethernet controller, and
> > set up an aliases node for it, so that the bootloader has some place
> > to fill in a MAC address.
>
> But there's no valid (unique) MAC address for both this or on-board ethernet...
> They're non-existent in design.

Correct. And thanks for confirming that it's not just me and Robin that
got boards without the MAC address EEPROM...

If the user sets some MAC address in the bootloader environment by hand,
the bootloader could still potentially pass that MAC address to Linux
through the device tree. Whether the board has a valid address or not
is beside the point.


ChenYu


> Thanks,
> Tianling.
>
> >
> >
> > ChenYu
> >
> > > +};
> > > +
> > >  &usb_host0_ehci {
> > >         status = "okay";
> > >  };
> > > --
> > > 2.17.1
> > >
> > >
> > > _______________________________________________
> > > linux-arm-kernel mailing list
> > > linux-arm-kernel@lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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..6ba9799a95c5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
@@ -37,6 +37,18 @@ 
 		};
 	};
 
+	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";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		enable-active-high;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
@@ -265,6 +277,12 @@ 
 			};
 		};
 	};
+
+	usb {
+		rtl8153_en_drv: rtl8153-en-drv {
+			rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
 };
 
 &io_domains {
@@ -364,6 +382,11 @@ 
 	dr_mode = "host";
 };
 
+&usbdrd3 {
+	dr_mode = "host";
+	status = "okay";
+};
+
 &usb_host0_ehci {
 	status = "okay";
 };