[PATCH] arm64: dts: allwinner: define USB3 Ethernet on NanoPi R1S H5

Chukun Pan posted 1 patch 4 years ago
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
[PATCH] arm64: dts: allwinner: define USB3 Ethernet on NanoPi R1S H5
Posted by Chukun Pan 4 years ago
The NanoPi R1S H5 has a Realtek RTL8153B USB 3.0 Ethernet chip
connected to the USB 2.0 port of the Allwinner H5 SoC.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
---
 arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
index 55b369534a08..dd655a491549 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
@@ -21,7 +21,8 @@ / {
 
 	aliases {
 		ethernet0 = &emac;
-		ethernet1 = &rtl8189etv;
+		ethernet1 = &rtl8153;
+		ethernet2 = &rtl8189etv;
 		serial0 = &uart0;
 	};
 
@@ -116,6 +117,11 @@ &cpu0 {
 
 &ehci1 {
 	status = "okay";
+
+	rtl8153: device@1 {
+		compatible = "usbbda,8153";
+		reg = <1>;
+	};
 };
 
 &ehci2 {
-- 
2.25.1
Re: [PATCH] arm64: dts: allwinner: define USB3 Ethernet on NanoPi R1S H5
Posted by Jernej Škrabec 4 years ago
Dne ponedeljek, 02. maj 2022 ob 16:40:09 CEST je Chukun Pan napisal(a):
> The NanoPi R1S H5 has a Realtek RTL8153B USB 3.0 Ethernet chip
> connected to the USB 2.0 port of the Allwinner H5 SoC.
> 
> Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts b/
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> index 55b369534a08..dd655a491549 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> @@ -21,7 +21,8 @@ / {
>  
>  	aliases {
>  		ethernet0 = &emac;
> -		ethernet1 = &rtl8189etv;
> +		ethernet1 = &rtl8153;
> +		ethernet2 = &rtl8189etv;
>  		serial0 = &uart0;
>  	};
>  
> @@ -116,6 +117,11 @@ &cpu0 {
>  
>  &ehci1 {
>  	status = "okay";

You need to add #address-cells and #size-cells properties, otherwise "make 
dtbs_check W=1" generates warnings.

Best regards,
Jernej

> +
> +	rtl8153: device@1 {
> +		compatible = "usbbda,8153";
> +		reg = <1>;
> +	};
>  };
>  
>  &ehci2 {
> -- 
> 2.25.1
> 
>
Re: Re: [PATCH] arm64: dts: allwinner: define USB3 Ethernet on NanoPi R1S H5
Posted by Chukun Pan 4 years ago
> > --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> > @@ -21,7 +21,8 @@ / {
> >  
> >  	aliases {
> >  		ethernet0 = &emac;
> > -		ethernet1 = &rtl8189etv;
> > +		ethernet1 = &rtl8153;
> > +		ethernet2 = &rtl8189etv;

> Additionally, it's not a good idea to change order of ethernet nodes. It can 
> affect mac address assigning procedure in bootloader.

There is no eth1addr in uboot, so this doesn't affect the mac address.
The network order in the kernel is eth0(emac) / eth1(rtl8153) / wlan0,
so I think it would be better to change it this way.

Thanks,
Chukun
Re: Re: [PATCH] arm64: dts: allwinner: define USB3 Ethernet on NanoPi R1S H5
Posted by Chukun Pan 4 years ago
> Really? I don't have a board at hand to double check, but the code I read
> here says otherwise:
> https://source.denx.de/u-boot/u-boot/-/blob/master/board/sunxi/board.c#L791-813
> There it checks for up to four ethernet aliases and assigns MAC addresses
> to them, using the index in the lowest byte.
> So this would change the MAC address of the WiFi adapter.
> Am I missing something?

I'm very sorry for this, the rtl8189etv driver assigns the correct
mac address to wlan0, so I didn't observe the mac address change.
Sorry for my misunderstanding.

Thanks,
Chukun
Re: [PATCH] arm64: dts: allwinner: define USB3 Ethernet on NanoPi R1S H5
Posted by Andre Przywara 4 years ago
On Sun,  8 May 2022 23:25:05 +0800
Chukun Pan <amadeus@jmu.edu.cn> wrote:

Hi,

> > > --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> > > @@ -21,7 +21,8 @@ / {
> > >  
> > >  	aliases {
> > >  		ethernet0 = &emac;
> > > -		ethernet1 = &rtl8189etv;
> > > +		ethernet1 = &rtl8153;
> > > +		ethernet2 = &rtl8189etv;  
> 
> > Additionally, it's not a good idea to change order of ethernet nodes. It can 
> > affect mac address assigning procedure in bootloader.  
> 
> There is no eth1addr in uboot, so this doesn't affect the mac address.

Really? I don't have a board at hand to double check, but the code I read
here says otherwise:
https://source.denx.de/u-boot/u-boot/-/blob/master/board/sunxi/board.c#L791-813
There it checks for up to four ethernet aliases and assigns MAC addresses
to them, using the index in the lowest byte.
So this would change the MAC address of the WiFi adapter.

Am I missing something?

> The network order in the kernel is eth0(emac) / eth1(rtl8153) / wlan0,

Regardless of the fact that you shouldn't rely on indexes in device names,
wouldn't that be that same, regardless of the order of USB and WiFi?

Cheers,
Andre

> so I think it would be better to change it this way.
> 
> Thanks,
> Chukun
> 
>
Re: Re: [PATCH] arm64: dts: allwinner: define USB3 Ethernet on NanoPi R1S H5
Posted by Jernej Škrabec 4 years ago
Dne torek, 03. maj 2022 ob 19:54:34 CEST je Jernej Škrabec napisal(a):
> Dne ponedeljek, 02. maj 2022 ob 16:40:09 CEST je Chukun Pan napisal(a):
> > The NanoPi R1S H5 has a Realtek RTL8153B USB 3.0 Ethernet chip
> > connected to the USB 2.0 port of the Allwinner H5 SoC.
> > 
> > Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
> > ---
> >  arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> > 
> > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts b/
> arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> > index 55b369534a08..dd655a491549 100644
> > --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-r1s-h5.dts
> > @@ -21,7 +21,8 @@ / {
> >  
> >  	aliases {
> >  		ethernet0 = &emac;
> > -		ethernet1 = &rtl8189etv;
> > +		ethernet1 = &rtl8153;
> > +		ethernet2 = &rtl8189etv;

Additionally, it's not a good idea to change order of ethernet nodes. It can 
affect mac address assigning procedure in bootloader.

Best regards,
Jernej

> >  		serial0 = &uart0;
> >  	};
> >  
> > @@ -116,6 +117,11 @@ &cpu0 {
> >  
> >  &ehci1 {
> >  	status = "okay";
> 
> You need to add #address-cells and #size-cells properties, otherwise "make 
> dtbs_check W=1" generates warnings.
> 
> Best regards,
> Jernej
> 
> > +
> > +	rtl8153: device@1 {
> > +		compatible = "usbbda,8153";
> > +		reg = <1>;
> > +	};
> >  };
> >  
> >  &ehci2 {
> > -- 
> > 2.25.1
> > 
> > 
> 
> 
>