Hi,

unless i failed w/grep, only 4 boards with dts in u-boot/linux need this,
but i've got one of those, so this would be much appreciated:)

-Artturi


diff --git a/sys/arch/armv7/sunxi/sxie.c b/sys/arch/armv7/sunxi/sxie.c
index 116fda5f8d7..b5edab31a09 100644
--- a/sys/arch/armv7/sunxi/sxie.c
+++ b/sys/arch/armv7/sunxi/sxie.c
@@ -51,6 +51,7 @@
 #include <dev/ofw/openfirm.h>
 #include <dev/ofw/ofw_clock.h>
 #include <dev/ofw/ofw_pinctrl.h>
+#include <dev/ofw/ofw_regulator.h>
 #include <dev/ofw/fdt.h>
 
 /* configuration registers */
@@ -212,6 +213,7 @@ sxie_attach(struct device *parent, struct device *self, 
void *aux)
        struct fdt_attach_args *faa = aux;
        struct mii_data *mii;
        struct ifnet *ifp;
+       int physupply;
        int s;
 
        if (faa->fa_nreg < 1)
@@ -233,6 +235,11 @@ sxie_attach(struct device *parent, struct device *self, 
void *aux)
        sxie_socware_init(sc);
        sc->txf_inuse = 0;
 
+       /* Power up PHY. */
+       physupply = OF_getpropint(faa->fa_node, "phy-supply", 0);
+       if (physupply)
+               regulator_enable(physupply);
+
        sc->sc_ih = arm_intr_establish_fdt(faa->fa_node, IPL_NET,
            sxie_intr, sc, sc->sc_dev.dv_xname);
 

Reply via email to