ARM: dts: omap3-igep0020: Use MMC pwrseq to init SDIO WiFi
authorJavier Martinez Canillas <javier@osg.samsung.com>
Thu, 3 Dec 2015 18:02:08 +0000 (15:02 -0300)
committerTony Lindgren <tony@atomide.com>
Tue, 8 Dec 2015 00:11:10 +0000 (16:11 -0800)
When the WiFi support was added to the IGEP0020 board, the MMC subsystem
did not provide a mechanism to define power sequence providers. So a DT
hack was used to toggle the WiFi chip reset and power down pins by using
fake fixed regulators whose enable GPIO was the GPIOs connected to these
pins.

But now the simple MMC power sequence provider can be used for this and
the workaround removed.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Acked-by: Enric Balletbo Serra <enric.balletbo@collabora.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/omap3-igep0020.dts

index 3835e1569c292a952fdc2e29e0fb27e9cebfa2ee..33d6b4ead0925025fbba5ba037283fa904a559db 100644 (file)
        model = "IGEPv2 Rev. C (TI OMAP AM/DM37x)";
        compatible = "isee,omap3-igep0020", "ti,omap36xx", "ti,omap3";
 
-       /* Regulator to trigger the WIFI_PDN signal of the Wifi module */
-       lbee1usjyc_pdn: lbee1usjyc_pdn {
+       vmmcsdio_fixed: fixedregulator-mmcsdio {
                compatible = "regulator-fixed";
-               regulator-name = "regulator-lbee1usjyc-pdn";
+               regulator-name = "vmmcsdio_fixed";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
-               gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>;    /* gpio_138 - WIFI_PDN */
-               startup-delay-us = <10000>;
-               enable-active-high;
        };
 
-       /* Regulator to trigger the RESET_N_W signal of the Wifi module */
-       lbee1usjyc_reset_n_w: lbee1usjyc_reset_n_w {
-               compatible = "regulator-fixed";
-               regulator-name = "regulator-lbee1usjyc-reset-n-w";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               gpio = <&gpio5 11 GPIO_ACTIVE_HIGH>;    /* gpio_139 - RESET_N_W */
-               enable-active-high;
+       mmc2_pwrseq: mmc2_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>,      /* gpio_139 - RESET_N_W */
+                             <&gpio5 10 GPIO_ACTIVE_LOW>;      /* gpio_138 - WIFI_PDN */
        };
 };
 
@@ -51,8 +43,8 @@
 &mmc2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_pins &lbee1usjyc_pins>;
-       vmmc-supply = <&lbee1usjyc_pdn>;
-       vmmc_aux-supply = <&lbee1usjyc_reset_n_w>;
+       vmmc-supply = <&vmmcsdio_fixed>;
+       mmc-pwrseq = <&mmc2_pwrseq>;
        bus-width = <4>;
        non-removable;
 };