arm64: allwinner: h6: add support for the Ethernet on Pine H64
authorIcenowy Zheng <icenowy@aosc.io>
Sat, 3 Nov 2018 12:32:38 +0000 (20:32 +0800)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Mon, 5 Nov 2018 09:00:27 +0000 (10:00 +0100)
The Pine H64 board has an Ethernet port, which is connected to a
RTL8211E PHY, then the PHY is connected to the MAC on H6 SoC.

Add support for the Ethernet port.

The PHY needs some time to start up, and the time is modelled as enable
ramp delay of the regulator.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts

index 48daec7..fcf3c1d 100644 (file)
@@ -14,6 +14,7 @@
        compatible = "pine64,pine-h64", "allwinner,sun50i-h6";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
        };
 
        };
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&ext_rgmii_pins>;
+       phy-mode = "rgmii";
+       phy-handle = <&ext_rgmii_phy>;
+       phy-supply = <&reg_aldo2>;
+       allwinner,rx-delay-ps = <200>;
+       allwinner,tx-delay-ps = <200>;
+       status = "okay";
+};
+
+&mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <1>;
+       };
+};
+
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-name = "vcc-ac200";
+                               regulator-enable-ramp-delay = <100000>;
                        };
 
                        reg_aldo3: aldo3 {