--- /dev/null
+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";
++ };
+ };