2019-06-21 18:54:24

by Katsuhiro Suzuki

[permalink] [raw]
Subject: [PATCH] ARM: dts: rockchip: add ethernet phy node for tinker board

This patch adds missing mdio and ethernet PHY nodes for rk3328 ASUS
tinker board.

Signed-off-by: Katsuhiro Suzuki <[email protected]>
---
arch/arm/boot/dts/rk3288-tinker.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
index 293576869546..3190817e8d5d 100644
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
@@ -117,6 +117,7 @@
assigned-clocks = <&cru SCLK_MAC>;
assigned-clock-parents = <&ext_gmac>;
clock_in_out = "input";
+ phy-handle = <&phy0>;
phy-mode = "rgmii";
phy-supply = <&vcc33_lan>;
pinctrl-names = "default";
@@ -127,6 +128,17 @@
tx_delay = <0x30>;
rx_delay = <0x10>;
status = "ok";
+
+ mdio0 {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ phy0: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+ };
};

&gpu {
--
2.20.1


2019-06-22 08:36:15

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add ethernet phy node for tinker board

Hi,

Am Freitag, 21. Juni 2019, 20:00:17 CEST schrieb Katsuhiro Suzuki:
> This patch adds missing mdio and ethernet PHY nodes for rk3328 ASUS
> tinker board.
>
> Signed-off-by: Katsuhiro Suzuki <[email protected]>

just for my understanding, which problem does this solve?
Normally the gmac can establish connections just fine on
the rk3288 by probing the phy in the automatic way.

And I also don't see any additional properties like phy
interrupt line below.


Thanks
Heiko

> ---
> arch/arm/boot/dts/rk3288-tinker.dtsi | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
> index 293576869546..3190817e8d5d 100644
> --- a/arch/arm/boot/dts/rk3288-tinker.dtsi
> +++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
> @@ -117,6 +117,7 @@
> assigned-clocks = <&cru SCLK_MAC>;
> assigned-clock-parents = <&ext_gmac>;
> clock_in_out = "input";
> + phy-handle = <&phy0>;
> phy-mode = "rgmii";
> phy-supply = <&vcc33_lan>;
> pinctrl-names = "default";
> @@ -127,6 +128,17 @@
> tx_delay = <0x30>;
> rx_delay = <0x10>;
> status = "ok";
> +
> + mdio0 {
> + compatible = "snps,dwmac-mdio";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + phy0: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> + };
> };
>
> &gpu {
>




2019-06-22 14:52:32

by Katsuhiro Suzuki

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add ethernet phy node for tinker board

Hello,

Current linux-next on my environment, 'ifconfig eth0 up' does not
work correctly with following message...

-----
root@linaro-alip:~# ifconfig eth0 up
[ 105.028916] rk_gmac-dwmac ff290000.ethernet eth0: stmmac_open: Cannot
attach to PHY (error: -19)
SIOCSIFFLAGS: No such device
-----

I checked drivers/net/ethernet/stmicro/stmmac/stmmac_main.c and found
stmmac_init_phy() is going to fail if ethernet device node does not
have following property:
- phy-handle
- phy
- phy-device

I salvaged old version of linux-next kernel (5.2.0-rc1-20190523),
network device of my Tinker Board worked correctly if use it.

I have not bisect commit of root cause yet... Is it better to bisect
and find problem instead of sending this patch?

Best Regards,
---
Katsuhiro Suzuki


On 2019/06/22 17:33, Heiko Stuebner wrote:
> Hi,
>
> Am Freitag, 21. Juni 2019, 20:00:17 CEST schrieb Katsuhiro Suzuki:
>> This patch adds missing mdio and ethernet PHY nodes for rk3328 ASUS
>> tinker board.
>>
>> Signed-off-by: Katsuhiro Suzuki <[email protected]>
>
> just for my understanding, which problem does this solve?
> Normally the gmac can establish connections just fine on
> the rk3288 by probing the phy in the automatic way.
>
> And I also don't see any additional properties like phy
> interrupt line below.
>
>
> Thanks
> Heiko
>
>> ---
>> arch/arm/boot/dts/rk3288-tinker.dtsi | 12 ++++++++++++
>> 1 file changed, 12 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
>> index 293576869546..3190817e8d5d 100644
>> --- a/arch/arm/boot/dts/rk3288-tinker.dtsi
>> +++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
>> @@ -117,6 +117,7 @@
>> assigned-clocks = <&cru SCLK_MAC>;
>> assigned-clock-parents = <&ext_gmac>;
>> clock_in_out = "input";
>> + phy-handle = <&phy0>;
>> phy-mode = "rgmii";
>> phy-supply = <&vcc33_lan>;
>> pinctrl-names = "default";
>> @@ -127,6 +128,17 @@
>> tx_delay = <0x30>;
>> rx_delay = <0x10>;
>> status = "ok";
>> +
>> + mdio0 {
>> + compatible = "snps,dwmac-mdio";
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + phy0: ethernet-phy@0 {
>> + compatible = "ethernet-phy-ieee802.3-c22";
>> + reg = <0>;
>> + };
>> + };
>> };
>>
>> &gpu {
>>
>
>
>
>
>

2019-06-22 15:17:49

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add ethernet phy node for tinker board

Hi Katsuhiro,

Am Samstag, 22. Juni 2019, 16:50:10 CEST schrieb Katsuhiro Suzuki:
> Current linux-next on my environment, 'ifconfig eth0 up' does not
> work correctly with following message...
>
> -----
> root@linaro-alip:~# ifconfig eth0 up
> [ 105.028916] rk_gmac-dwmac ff290000.ethernet eth0: stmmac_open: Cannot
> attach to PHY (error: -19)
> SIOCSIFFLAGS: No such device
> -----
>
> I checked drivers/net/ethernet/stmicro/stmmac/stmmac_main.c and found
> stmmac_init_phy() is going to fail if ethernet device node does not
> have following property:
> - phy-handle
> - phy
> - phy-device
>
> I salvaged old version of linux-next kernel (5.2.0-rc1-20190523),
> network device of my Tinker Board worked correctly if use it.
>
> I have not bisect commit of root cause yet... Is it better to bisect
> and find problem instead of sending this patch?

That is clearly a regression (even recent) a newer kernel should
not break old devicetrees and the mdio subnode creating a
mdio bus is already marked as optional.

So this will likely affect a lot more boards than the tinker board.

So if you can find the time you could try to find the offending
commit first, so that ideally the network maintainers can fix that
up.


Thanks
Heiko

> On 2019/06/22 17:33, Heiko Stuebner wrote:
> > Hi,
> >
> > Am Freitag, 21. Juni 2019, 20:00:17 CEST schrieb Katsuhiro Suzuki:
> >> This patch adds missing mdio and ethernet PHY nodes for rk3328 ASUS
> >> tinker board.
> >>
> >> Signed-off-by: Katsuhiro Suzuki <[email protected]>
> >
> > just for my understanding, which problem does this solve?
> > Normally the gmac can establish connections just fine on
> > the rk3288 by probing the phy in the automatic way.
> >
> > And I also don't see any additional properties like phy
> > interrupt line below.
> >
> >
> > Thanks
> > Heiko
> >
> >> ---
> >> arch/arm/boot/dts/rk3288-tinker.dtsi | 12 ++++++++++++
> >> 1 file changed, 12 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
> >> index 293576869546..3190817e8d5d 100644
> >> --- a/arch/arm/boot/dts/rk3288-tinker.dtsi
> >> +++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
> >> @@ -117,6 +117,7 @@
> >> assigned-clocks = <&cru SCLK_MAC>;
> >> assigned-clock-parents = <&ext_gmac>;
> >> clock_in_out = "input";
> >> + phy-handle = <&phy0>;
> >> phy-mode = "rgmii";
> >> phy-supply = <&vcc33_lan>;
> >> pinctrl-names = "default";
> >> @@ -127,6 +128,17 @@
> >> tx_delay = <0x30>;
> >> rx_delay = <0x10>;
> >> status = "ok";
> >> +
> >> + mdio0 {
> >> + compatible = "snps,dwmac-mdio";
> >> + #address-cells = <1>;
> >> + #size-cells = <0>;
> >> +
> >> + phy0: ethernet-phy@0 {
> >> + compatible = "ethernet-phy-ieee802.3-c22";
> >> + reg = <0>;
> >> + };
> >> + };
> >> };
> >>
> >> &gpu {
> >>
> >
> >
> >
> >
> >
>
>




2019-06-22 17:57:42

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add ethernet phy node for tinker board

On Sat, Jun 22, 2019 at 11:50:10PM +0900, Katsuhiro Suzuki wrote:
> Hello,

Hi Katsuhiro

Please also report this to netdev, and the stmmac maintainers.

./scripts/get_maintainer.pl -f drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
Giuseppe Cavallaro <[email protected]> (supporter:STMMAC ETHERNET DRIVER)
Alexandre Torgue <[email protected]> (supporter:STMMAC ETHERNET DRIVER)
Jose Abreu <[email protected]> (supporter:STMMAC ETHERNET DRIVER)
"David S. Miller" <[email protected]> (odd fixer:NETWORKING DRIVERS)
Maxime Coquelin <[email protected]> (maintainer:ARM/STM32 ARCHITECTURE)
[email protected] (open list:STMMAC ETHERNET DRIVER)
[email protected] (moderated list:ARM/STM32 ARCHITECTURE)
[email protected] (moderated list:ARM/STM32 ARCHITECTURE)
[email protected] (open list)

> I have not bisect commit of root cause yet... Is it better to bisect
> and find problem instead of sending this patch?

My guess is that it is one of these three which broken it:

74371272f97f net: stmmac: Convert to phylink and remove phylib logic
eeef2f6b9f6e net: stmmac: Start adding phylink support
9ad372fc5aaf net: stmmac: Prepare to convert to phylink

Andrew

2019-06-23 13:33:01

by Katsuhiro Suzuki

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: rockchip: add ethernet phy node for tinker board

Hello Heiko, Andrew,

Thank you for comments. I found the commit that has regression:
74371272f97f net: stmmac: Convert to phylink and remove phylib logic

So I'll report it to netdev and stmmac guys.

Best Regards,
---
Katsuhiro Suzuki


On 2019/06/23 2:55, Andrew Lunn wrote:
> On Sat, Jun 22, 2019 at 11:50:10PM +0900, Katsuhiro Suzuki wrote:
>> Hello,
>
> Hi Katsuhiro
>
> Please also report this to netdev, and the stmmac maintainers.
>
> ./scripts/get_maintainer.pl -f drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> Giuseppe Cavallaro <[email protected]> (supporter:STMMAC ETHERNET DRIVER)
> Alexandre Torgue <[email protected]> (supporter:STMMAC ETHERNET DRIVER)
> Jose Abreu <[email protected]> (supporter:STMMAC ETHERNET DRIVER)
> "David S. Miller" <[email protected]> (odd fixer:NETWORKING DRIVERS)
> Maxime Coquelin <[email protected]> (maintainer:ARM/STM32 ARCHITECTURE)
> [email protected] (open list:STMMAC ETHERNET DRIVER)
> [email protected] (moderated list:ARM/STM32 ARCHITECTURE)
> [email protected] (moderated list:ARM/STM32 ARCHITECTURE)
> [email protected] (open list)
>
>> I have not bisect commit of root cause yet... Is it better to bisect
>> and find problem instead of sending this patch?
>
> My guess is that it is one of these three which broken it:
>
> 74371272f97f net: stmmac: Convert to phylink and remove phylib logic
> eeef2f6b9f6e net: stmmac: Start adding phylink support
> 9ad372fc5aaf net: stmmac: Prepare to convert to phylink
>
> Andrew
>