ARM: OMAP2+: Use pdata quirks for wl12xx on the AM335x EV-MSK
authorImre Kaloz <kaloz@openwrt.org>
Mon, 3 Mar 2014 09:02:56 +0000 (10:02 +0100)
committerTony Lindgren <tony@atomide.com>
Tue, 4 Mar 2014 18:46:33 +0000 (10:46 -0800)
Enable the WiLink6 connected to mmc2.

Signed-off-by: Imre Kaloz <kaloz@openwrt.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/am335x-evmsk.dts
arch/arm/mach-omap2/pdata-quirks.c

index 413e5e133b3e91d1ed19f66223a399b84e33ec50..ac1f7597f1b1ba23541964793f3734d930d69392 100644 (file)
                regulator-boot-on;
        };
 
+       wl12xx_vmmc: fixedregulator@2 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&wl12xx_gpio>;
+               compatible = "regulator-fixed";
+               regulator-name = "vwl1271";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               gpio = <&gpio1 29 0>;
+               startup-delay-us = <70000>;
+               enable-active-high;
+       };
+
        leds {
                pinctrl-names = "default";
                pinctrl-0 = <&user_leds_s0>;
                        0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
                >;
        };
+
+       mmc2_pins: pinmux_mmc2_pins {
+               pinctrl-single,pins = <
+                       0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_31 */
+                       0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
+                       0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
+                       0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
+                       0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
+                       0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
+                       0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
+               >;
+       };
+
+       wl12xx_gpio: pinmux_wl12xx_gpio {
+               pinctrl-single,pins = <
+                       0x7c (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_csn0.gpio1_29 */
+               >;
+       };
 };
 
 &uart0 {
        ti,no-reset-on-init;
 };
 
+&mmc2 {
+       status = "okay";
+       vmmc-supply = <&wl12xx_vmmc>;
+       ti,non-removable;
+       bus-width = <4>;
+       cap-power-off-card;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_pins>;
+};
+
 &mcasp1 {
                pinctrl-names = "default";
                pinctrl-0 = <&mcasp1_pins>;
index 111b8a2923e6850ac85dadf4c2e33470647c0448..9723886c18ba43fa41549e0ae8023bbbe87929b5 100644 (file)
@@ -233,6 +233,13 @@ static void __init omap4_panda_legacy_init(void)
 }
 #endif
 
+#ifdef CONFIG_SOC_AM33XX
+static void __init am335x_evmsk_legacy_init(void)
+{
+       legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 31);
+}
+#endif
+
 #ifdef CONFIG_SOC_OMAP5
 static void __init omap5_uevm_legacy_init(void)
 {
@@ -318,6 +325,9 @@ static struct pdata_init pdata_quirks[] __initdata = {
        { "ti,omap4-sdp", omap4_sdp_legacy_init, },
        { "ti,omap4-panda", omap4_panda_legacy_init, },
 #endif
+#ifdef CONFIG_SOC_AM33XX
+       { "ti,am335x-evmsk", am335x_evmsk_legacy_init, },
+#endif
 #ifdef CONFIG_SOC_OMAP5
        { "ti,omap5-uevm", omap5_uevm_legacy_init, },
 #endif