[PATCH 2/2] ARM: dts: omap3-igep0030: Use MMC pwrseq to init SDIO WiFi

Enric Balletbo Serra eballetbo at gmail.com
Fri Dec 4 06:37:12 PST 2015


2015-12-03 19:02 GMT+01:00 Javier Martinez Canillas <javier at osg.samsung.com>:
> When the WiFi support was added to the IGEP0030 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 at osg.samsung.com>
>
> ---
>
>  arch/arm/boot/dts/omap3-igep0030.dts | 24 ++++++++----------------
>  1 file changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/arch/arm/boot/dts/omap3-igep0030.dts b/arch/arm/boot/dts/omap3-igep0030.dts
> index 468608dab30a..55b0cc4f5ee5 100644
> --- a/arch/arm/boot/dts/omap3-igep0030.dts
> +++ b/arch/arm/boot/dts/omap3-igep0030.dts
> @@ -15,25 +15,17 @@
>         model = "IGEP COM MODULE Rev. E (TI OMAP AM/DM37x)";
>         compatible = "isee,omap3-igep0030", "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 */
>         };
>  };
>
> @@ -62,8 +54,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;
>  };
> --
> 2.4.3
>

Acked-by: Enric Balletbo Serra <enric.balletbo at collabora.com>



More information about the linux-arm-kernel mailing list