From patchwork Fri Apr 26 03:52:13 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Lindgren X-Patchwork-Id: 2490731 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) by patchwork2.kernel.org (Postfix) with ESMTP id 7F239DF230 for ; Fri, 26 Apr 2013 03:53:29 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1UVZiN-0007Th-2q; Fri, 26 Apr 2013 03:52:51 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1UVZi8-0000lP-Eu; Fri, 26 Apr 2013 03:52:36 +0000 Received: from mho-03-ewr.mailhop.org ([204.13.248.66] helo=mho-01-ewr.mailhop.org) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1UVZhp-0000jn-6d for linux-arm-kernel@lists.infradead.org; Fri, 26 Apr 2013 03:52:18 +0000 Received: from c-50-131-214-131.hsd1.ca.comcast.net ([50.131.214.131] helo=muffinssi.local) by mho-01-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from ) id 1UVZhm-0004Yb-T6; Fri, 26 Apr 2013 03:52:14 +0000 X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 50.131.214.131 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX18f6gf8/Rln4Afk/T3iWT2v Subject: [PATCH 2/3] ARM: dts: Add muxing for wl12xx on the SDIO bus for pandaboard To: linux-arm-kernel@lists.infradead.org From: Tony Lindgren Date: Thu, 25 Apr 2013 20:52:13 -0700 Message-ID: <20130426035213.26065.63243.stgit@muffinssi.local> In-Reply-To: <20130426034858.26065.65118.stgit@muffinssi.local> References: <20130426034858.26065.65118.stgit@muffinssi.local> User-Agent: StGit/0.16-1-ga54b MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130425_235217_390514_C4F492C5 X-CRM114-Status: GOOD ( 11.92 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [204.13.248.66 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: devicetree-discuss@lists.ozlabs.org, Luciano Coelho , Benoit Cousson , Rajendra Nayak , linux-omap@vger.kernel.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org This is needed to get wl12xx working with device tree based booting. Note that we claim the various GPIO inputs in the regulator as the proper muxing is needed to enable and disable the regulator. Also, we want to use non-removable instead of ti,non-removable as the ti,non-removable also sets no_regulator_off_init which is really not what we want as then wl12xx won't get powered up and down which is needed for resetting it. Cc: Luciano Coelho Cc: Benoit Cousson Cc: Rajendra Nayak Cc: devicetree-discuss@lists.ozlabs.org Signed-off-by: Tony Lindgren Tested-by: Luciano Coelho --- arch/arm/boot/dts/omap4-panda-common.dtsi | 43 ++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi index 628f744..16b23bf 100644 --- a/arch/arm/boot/dts/omap4-panda-common.dtsi +++ b/arch/arm/boot/dts/omap4-panda-common.dtsi @@ -86,6 +86,19 @@ clock-names = "main_clk"; clock-frequency = <19200000>; }; + + /* regulator for wl12xx on sdio5 */ + wl12xx_vmmc: wl12xx_vmmc { + pinctrl-names = "default"; + pinctrl-0 = <&wl12xx_gpio>; + compatible = "regulator-fixed"; + regulator-name = "vwl1271"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + gpio = <&gpio2 11 0>; + startup-delay-us = <70000>; + enable-active-high; + }; }; &omap4_pmx_core { @@ -185,6 +198,30 @@ 0xf0 0x118 /* i2c4_sda PULLUP | INPUTENABLE | MODE0 */ >; }; + + /* wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP */ + wl12xx_gpio: pinmux_wl12xx_gpio { + pinctrl-single,pins = < + 0x26 0x3 /* gpmc_a19.gpio_43 OUTPUT | MODE3 */ + 0x2c 0x3 /* gpmc_a22.gpio_46 OUTPUT | MODE3 */ + 0x30 0xb /* gpmc_a24.gpio_48 OUTPUT | MODE3 */ + 0x32 0xb /* gpmc_a25.gpio_49 OUTPUT | MODE3 */ + >; + }; + + /* wl12xx GPIO inputs and SDIO pins */ + wl12xx_pins: pinmux_wl12xx_pins { + pinctrl-single,pins = < + 0x38 0x103 /* gpmc_ncs2.gpio_52 INPUT | MODE3 */ + 0x3a 0x103 /* gpmc_ncs3.gpio_53 INPUT | MODE3 */ + 0x108 0x118 /* sdmmc5_clk.sdmmc5_clk INPUT_PULLUP | MODE0 */ + 0x10a 0x118 /* sdmmc5_cmd.sdmmc5_cmd INPUT_PULLUP | MODE0 */ + 0x10c 0x118 /* sdmmc5_dat0.sdmmc5_dat0 INPUT_PULLUP | MODE0 */ + 0x10e 0x118 /* sdmmc5_dat1.sdmmc5_dat1 INPUT_PULLUP | MODE0 */ + 0x110 0x118 /* sdmmc5_dat2.sdmmc5_dat2 INPUT_PULLUP | MODE0 */ + 0x112 0x118 /* sdmmc5_dat3.sdmmc5_dat3 INPUT_PULLUP | MODE0 */ + >; + }; }; &i2c1 { @@ -264,8 +301,12 @@ }; &mmc5 { - ti,non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&wl12xx_pins>; + vmmc-supply = <&wl12xx_vmmc>; + non-removable; bus-width = <4>; + cap-power-off-card; }; &emif1 {