diff mbox

[06/18] ARM: dts: omap3-overo: Enable MMC2

Message ID 1389286092-27087-7-git-send-email-florian.vaussard@epfl.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Florian Vaussard Jan. 9, 2014, 4:48 p.m. UTC
MMC2 is used by the on-board WiFi module populated on some boards
(based on Marvell Libertas 8688 SDIO).

Note: currently WiFi only works on cold boot, as the module is not
properly reset (missing binding for the GPIO reset).

Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch>
---
 arch/arm/boot/dts/omap3-overo.dtsi | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

Comments

Javier Martinez Canillas Jan. 9, 2014, 8:43 p.m. UTC | #1
[adding Enric Balletbo to cc]

Hello Florian,

On Thu, Jan 9, 2014 at 1:48 PM, Florian Vaussard
<florian.vaussard@epfl.ch> wrote:
> MMC2 is used by the on-board WiFi module populated on some boards
> (based on Marvell Libertas 8688 SDIO).
>
> Note: currently WiFi only works on cold boot, as the module is not
> properly reset (missing binding for the GPIO reset).
>

Have you looked at commit 0e9fd777 ("ARM: dts: omap3-igep: Add support
for LBEE1USJYC WiFi connected to SDIO") ?

If I remember correctly the LBEE1USJYC Wifi/BT combo module is
basically a Marvell Libertas 8688 Wlan and Enric got soft reset
working too by adding a GPIO property to the regulator for the reset
GPIO.

Hope it helps,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Florian Vaussard Jan. 10, 2014, 7:38 a.m. UTC | #2
Hello Javier,

On 01/09/2014 09:43 PM, Javier Martinez Canillas wrote:
> [adding Enric Balletbo to cc]
> 
> Hello Florian,
> 
> On Thu, Jan 9, 2014 at 1:48 PM, Florian Vaussard
> <florian.vaussard@epfl.ch> wrote:
>> MMC2 is used by the on-board WiFi module populated on some boards
>> (based on Marvell Libertas 8688 SDIO).
>>
>> Note: currently WiFi only works on cold boot, as the module is not
>> properly reset (missing binding for the GPIO reset).
>>
> 
> Have you looked at commit 0e9fd777 ("ARM: dts: omap3-igep: Add support
> for LBEE1USJYC WiFi connected to SDIO") ?
> 
> If I remember correctly the LBEE1USJYC Wifi/BT combo module is
> basically a Marvell Libertas 8688 Wlan and Enric got soft reset
> working too by adding a GPIO property to the regulator for the reset
> GPIO.
> 

Many thanks for the pointer. In the initial version, I had a regulator
like you. But now I doubt if it was correctly added to the MMC node,
which could be why it was not working... I will try again.

Thanks for your help!

Florian
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Florian Vaussard Jan. 17, 2014, 1:22 p.m. UTC | #3
Hello Javier

On 01/09/2014 09:43 PM, Javier Martinez Canillas wrote:
> [adding Enric Balletbo to cc]
> 
> Hello Florian,
> 
> On Thu, Jan 9, 2014 at 1:48 PM, Florian Vaussard
> <florian.vaussard@epfl.ch> wrote:
>> MMC2 is used by the on-board WiFi module populated on some boards
>> (based on Marvell Libertas 8688 SDIO).
>>
>> Note: currently WiFi only works on cold boot, as the module is not
>> properly reset (missing binding for the GPIO reset).
>>
> 
> Have you looked at commit 0e9fd777 ("ARM: dts: omap3-igep: Add support
> for LBEE1USJYC WiFi connected to SDIO") ?
> 
> If I remember correctly the LBEE1USJYC Wifi/BT combo module is
> basically a Marvell Libertas 8688 Wlan and Enric got soft reset
> working too by adding a GPIO property to the regulator for the reset
> GPIO.
> 
> Hope it helps,

Thank you, I got it working. It is a bit messy, as I have 3 GPIOs
(poweron, wifi-reset and bt-reset). As a regulator can control only one
GPIO, I had to define 3 regulators, and assigning them to the vmmc,
vqmmc, and vmmc_aux. I hope that a better solution will pop-up in this
thread [1]. It is a pity that the previous version of the GPIO-reset
controller was not merged.

Florian

[1] http://thread.gmane.org/gmane.linux.ports.arm.kernel/294907
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Javier Martinez Canillas Jan. 17, 2014, 3:48 p.m. UTC | #4
Hello Florian,

On Fri, Jan 17, 2014 at 10:22 AM, Florian Vaussard
<florian.vaussard@epfl.ch> wrote:
> Hello Javier
>
> On 01/09/2014 09:43 PM, Javier Martinez Canillas wrote:
>> [adding Enric Balletbo to cc]
>>
>> Hello Florian,
>>
>> On Thu, Jan 9, 2014 at 1:48 PM, Florian Vaussard
>> <florian.vaussard@epfl.ch> wrote:
>>> MMC2 is used by the on-board WiFi module populated on some boards
>>> (based on Marvell Libertas 8688 SDIO).
>>>
>>> Note: currently WiFi only works on cold boot, as the module is not
>>> properly reset (missing binding for the GPIO reset).
>>>
>>
>> Have you looked at commit 0e9fd777 ("ARM: dts: omap3-igep: Add support
>> for LBEE1USJYC WiFi connected to SDIO") ?
>>
>> If I remember correctly the LBEE1USJYC Wifi/BT combo module is
>> basically a Marvell Libertas 8688 Wlan and Enric got soft reset
>> working too by adding a GPIO property to the regulator for the reset
>> GPIO.
>>
>> Hope it helps,
>
> Thank you, I got it working. It is a bit messy, as I have 3 GPIOs
> (poweron, wifi-reset and bt-reset). As a regulator can control only one
> GPIO, I had to define 3 regulators, and assigning them to the vmmc,
> vqmmc, and vmmc_aux. I hope that a better solution will pop-up in this
> thread [1]. It is a pity that the previous version of the GPIO-reset
> controller was not merged.
>

Glad to know that you got it working and yes it is a bit messy so
let's hope that a cleaner solution will be the result of the current
discussion on that thread.

> Florian
>
> [1] http://thread.gmane.org/gmane.linux.ports.arm.kernel/294907

Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/omap3-overo.dtsi b/arch/arm/boot/dts/omap3-overo.dtsi
index d48f25c..9ce9591 100644
--- a/arch/arm/boot/dts/omap3-overo.dtsi
+++ b/arch/arm/boot/dts/omap3-overo.dtsi
@@ -32,6 +32,12 @@ 
 		ti,mcbsp = <&mcbsp2>;
 		ti,codec = <&twl_audio>;
 	};
+
+	vlibertas: regulator-vlibertas {
+		compatible = "regulator-fixed";
+		regulator-name = "vlibertas";
+		regulator-always-on;
+	};
 };
 
 &omap3_pmx_core {
@@ -59,6 +65,17 @@ 
 			OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc1_dat3.sdmmc1_dat3 */
 		>;
 	};
+
+	mmc2_pins: pinmux_mmc2_pins {
+		pinctrl-single,pins = <
+			OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_clk.sdmmc2_clk */
+			OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_cmd.sdmmc2_cmd */
+			OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_dat0.sdmmc2_dat0 */
+			OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_dat1.sdmmc2_dat1 */
+			OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_dat2.sdmmc2_dat2 */
+			OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_dat3.sdmmc2_dat3 */
+		>;
+	};
 };
 
 &i2c1 {
@@ -102,7 +119,11 @@ 
 
 /* optional on board WiFi */
 &mmc2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc2_pins>;
+	vmmc-supply = <&vlibertas>;
 	bus-width = <4>;
+	non-removable;
 };
 
 &twl_gpio {