Message ID | 1572702093-18261-7-git-send-email-wahrenst@gmx.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: Enable GENET support for RPi 4 | expand |
On 11/2/2019 6:41 AM, Stefan Wahren wrote: > This enables the Gigabit Ethernet support on the Raspberry Pi 4. > The defined PHY mode is equivalent to the default register settings > in the downstream tree. > > Signed-off-by: Stefan Wahren <wahrenst@gmx.net> > Signed-off-by: Matthias Brugger <mbrugger@suse.com> > --- > arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 23 +++++++++++++++++++++++ > arch/arm/boot/dts/bcm2711.dtsi | 19 +++++++++++++++++++ > 2 files changed, 42 insertions(+) > > diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts > index cccc1cc..904efe1 100644 > --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts > +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts > @@ -19,6 +19,10 @@ > reg = <0 0 0>; > }; > > + aliases { > + ethernet0 = &genet; > + }; > + > leds { > act { > gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; > @@ -97,6 +101,25 @@ > status = "okay"; > }; > > +&genet { > + phy-handle = <&phy1>; > + phy-mode = "rgmii-rxid"; > + status = "okay"; > + > + mdio@e14 { > + compatible = "brcm,genet-mdio-v5"; > + reg = <0xe14 0x8>; > + reg-names = "mdio"; > + #address-cells = <0x0>; > + #size-cells = <0x1>; The MDIO controller is always present, therefore its node definition would be better placed in bcm2711.dtsi. Other than that: Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts index cccc1cc..904efe1 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts @@ -19,6 +19,10 @@ reg = <0 0 0>; }; + aliases { + ethernet0 = &genet; + }; + leds { act { gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; @@ -97,6 +101,25 @@ status = "okay"; }; +&genet { + phy-handle = <&phy1>; + phy-mode = "rgmii-rxid"; + status = "okay"; + + mdio@e14 { + compatible = "brcm,genet-mdio-v5"; + reg = <0xe14 0x8>; + reg-names = "mdio"; + #address-cells = <0x0>; + #size-cells = <0x1>; + + phy1: ethernet-phy@1 { + /* No PHY interrupt */ + reg = <0x1>; + }; + }; +}; + /* uart0 communicates with the BT module */ &uart0 { pinctrl-names = "default"; diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi index ac83dac..ff24396 100644 --- a/arch/arm/boot/dts/bcm2711.dtsi +++ b/arch/arm/boot/dts/bcm2711.dtsi @@ -305,6 +305,25 @@ cpu-release-addr = <0x0 0x000000f0>; }; }; + + scb { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <1>; + + ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>; + + genet: ethernet@7d580000 { + compatible = "brcm,genet-v5"; + reg = <0x0 0x7d580000 0x10000>; + #address-cells = <0x1>; + #size-cells = <0x1>; + interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; + dma-burst-sz = <0x08>; + status = "disabled"; + }; + }; }; &clk_osc {