On Monday, 4 March 2024 23:44:48 CET Uwe Kleine-König wrote: > > That was because it's actually a bug report (wrt Quartz64 A and B), but > > especially your remark made all the pieces I found earlier fall into > > place. > > Therefor I 'abused' this thread/patch to report it. > > > > I'm happy to test patches, but I lack the knowledge to come up with one > > myself. > > I guess that would be: > > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts > b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts index > 59843a7a199c..f4d1deba3110 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts > @@ -269,7 +269,7 @@ &gmac1 { > assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru > SCLK_GMAC1>, <&gmac1_clkin>; clock_in_out = "input"; > phy-supply = <&vcc_3v3>; > - phy-mode = "rgmii"; > + phy-mode = "rgmii-id"; > pinctrl-names = "default"; > pinctrl-0 = <&gmac1m0_miim > &gmac1m0_tx_bus2 > @@ -281,8 +281,6 @@ &gmac1m0_clkinout > snps,reset-active-low; > /* Reset time is 20ms, 100ms for rtl8211f */ > snps,reset-delays-us = <0 20000 100000>; > - tx_delay = <0x30>; > - rx_delay = <0x10>; > phy-handle = <&rgmii_phy1>; > status = "okay"; > }; > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts > b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts index > 2d92713be2a0..ec1351a171d4 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts > @@ -176,7 +176,7 @@ &gmac1 { > assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru > SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>; assigned-clock-parents = <&cru > SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>; clock_in_out = > "input"; > - phy-mode = "rgmii"; > + phy-mode = "rgmii-id"; > phy-supply = <&vcc_3v3>; > pinctrl-names = "default"; > pinctrl-0 = <&gmac1m1_miim > @@ -189,8 +189,6 @@ &gmac1m1_clkinout > snps,reset-active-low; > /* Reset time is 20ms, 100ms for rtl8211f, also works well here */ > snps,reset-delays-us = <0 20000 100000>; > - tx_delay = <0x4f>; > - rx_delay = <0x24>; > phy-handle = <&rgmii_phy1>; > status = "okay"; > }; It turns out my research was incomplete. I already felt uneasy when I realized that 'pgwipeout' had set it to rgmii and while I wasn't able to track the conversation down, I did have a vague recollection of there being a discussion wrt rgmii vs rgmii-id. IOW: he must have set it to rgmii deliberately. And then I found this: https://lore.kernel.org/all/20220606163023.3677147-1-pgwipeout@xxxxxxxxx/ For Model B it was initially set to rgmii-id, but was later changed to rgmii due to compatibility issues on the production Model B. I'm going to assume that it was (initially) set to rgmii on Model A for similar reasons. Cheers, Diederik
Attachment:
signature.asc
Description: This is a digitally signed message part.