diff -ruN old/arch/arm/boot/dts/sun7i-a20-bananapi.dts new/arch/arm/boot/dts/sun7i-a20-bananapi.dts --- old/arch/arm/boot/dts/sun7i-a20-bananapi.dts 2014-09-19 01:08:58.000000000 +0200 +++ new/arch/arm/boot/dts/sun7i-a20-bananapi.dts 2014-09-19 01:05:02.000000000 +0200 @@ -86,6 +86,13 @@ allwinner,drive = <0>; allwinner,pull = <1>; }; + + gmac_power_pin_bananapi: gmac_power_pin@0 { + allwinner,pins = "PH23"; + allwinner,function = "gpio_out"; + allwinner,drive = <0>; + allwinner,pull = <0>; + }; }; lradc: lradc@01c22800 { @@ -134,9 +141,10 @@ gmac: ethernet@01c50000 { pinctrl-names = "default"; - pinctrl-0 = <&gmac_pins_mii_a>; + pinctrl-0 = <&gmac_pins_rgmii_a>; phy = <&phy1>; - phy-mode = "mii"; + phy-mode = "rgmii"; + phy-supply = <®_gmac_3v3>; status = "okay"; phy1: ethernet-phy@1 { @@ -169,4 +177,16 @@ status = "okay"; }; + reg_gmac_3v3: gmac-3v3 { + compatible = "regulator-fixed"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac_power_pin_bananapi>; + regulator-name = "gmac-3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + startup-delay-us = <50000>; + enable-active-high; + gpio = <&pio 7 23 0>; + status = "okay"; + }; };