On 10/15/19 12:35 PM, Stefan Wahren wrote: > Hi Florian, > > Am 11.10.19 um 21:31 schrieb Florian Fainelli: >> On 10/11/19 11:48 AM, matthias.bgg@xxxxxxxxxx wrote: >>> From: Matthias Brugger <mbrugger@xxxxxxxx> >>> >>> Enable Gigabit Ethernet support on the Raspberry Pi 4 >>> Model B. >>> >>> Signed-off-by: Matthias Brugger <mbrugger@xxxxxxxx> >>> >>> --- >>> >>> arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 22 ++++++++++++++++++++++ >>> arch/arm/boot/dts/bcm2711.dtsi | 18 ++++++++++++++++++ >>> 2 files changed, 40 insertions(+) >>> >>> diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts >>> index cccc1ccd19be..958553d62670 100644 >>> --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts >>> +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts >>> @@ -97,6 +97,28 @@ >>> status = "okay"; >>> }; >>> >>> +&genet { >>> + phy-handle = <&phy1>; >>> + phy-mode = "rgmii"; >> Can you check that things still work against David Miller's net-next? >> Tree, in particular the BCM54213PE PHY might be matched by the BCM54210E >> entry in drivers/net/phy/broadcom.c and I just fixed an issue in how >> RGMII delays were configured: >> >> https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=fea7fda7f50a6059220f83251e70709e45cc8040 >> >> This might require you to change the 'phy-mode' property to what is >> appropriate. > > since i didn't get a reply from the Pi folks yet, i tried all the other > rgmii variants on top of this branch [1]. > > But none of them worked. > > In case of "rgmii-id" i'm getting: > > unknown phy mode: 9 > > and for "rgmii-rxid": > > unknown phy mode: 10 > > In those cases the PHY didn't even probe. Did i missed something? Well the GENET driver can only deal with two specific RGMII modes, so you would need something like this: diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c index 970e478a9017..a12656cccf89 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c @@ -241,6 +241,8 @@ int bcmgenet_mii_config(struct net_device *dev, bool init) id_mode_dis = BIT(16); /* fall through */ case PHY_INTERFACE_MODE_RGMII_TXID: + case PHY_INTERFACE_MODE_RGMII_RXID: + case PHY_INTERFACE_MODE_RGMII_ID: if (id_mode_dis) phy_name = "external RGMII (no delay)"; else > > [1] - https://github.com/lategoodbye/rpi-zero/commits/bcm2711-genet > -- Florian