From patchwork Wed Jan 28 18:15:52 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 5731151 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id F3D8CBF440 for ; Wed, 28 Jan 2015 21:37:41 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0AF21201FA for ; Wed, 28 Jan 2015 21:37:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0674A2018E for ; Wed, 28 Jan 2015 21:37:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934171AbbA1Umq (ORCPT ); Wed, 28 Jan 2015 15:42:46 -0500 Received: from bhuna.collabora.co.uk ([93.93.135.160]:46210 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934104AbbA1Uml (ORCPT ); Wed, 28 Jan 2015 15:42:41 -0500 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: javier) with ESMTPSA id 1E874600EF4 From: Javier Martinez Canillas To: Ulf Hansson Cc: Kukjin Kim , Doug Anderson , Olof Johansson , Arend van Spriel , Srinivas Kandagatla , linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Javier Martinez Canillas Subject: [PATCH v2 5/6] ARM: dts: exynos5250-snow: Enable wifi power-on Date: Wed, 28 Jan 2015 19:15:52 +0100 Message-Id: <1422468953-7594-6-git-send-email-javier.martinez@collabora.co.uk> X-Mailer: git-send-email 2.1.3 In-Reply-To: <1422468953-7594-1-git-send-email-javier.martinez@collabora.co.uk> References: <1422468953-7594-1-git-send-email-javier.martinez@collabora.co.uk> Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The Snow board has a MMC/SDIO wifi chip that is always powered but it needs a power sequence involving a reset (active low) and an enable (active high) pins. Both pins are marked as active low since the MMC simple power sequence driver asserts the pins prior to the card power up procedure and de-asserts the pins after the card has been powered. So the reset line will be left de-asserted and the enable pin will be left asserted. The chip also needs an external 32kHz reference clock to be operational that is by the MAX77686 PMIC clock. Add a simple MMC power sequence provider for the wifi MMC/SDIO slot. Signed-off-by: Javier Martinez Canillas --- Changes since v1: - Remove cap-sdio-irq from mmc3 dev node since is a separate change. Suggested by Arend van Spriel. --- arch/arm/boot/dts/exynos5250-snow.dts | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts index b9aeec430527..b78712058903 100644 --- a/arch/arm/boot/dts/exynos5250-snow.dts +++ b/arch/arm/boot/dts/exynos5250-snow.dts @@ -229,6 +229,14 @@ power-supply = <&fet6>; backlight = <&backlight>; }; + + mmc3_pwrseq: mmc3_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */ + <&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */ + clocks = <&max77686 MAX77686_CLK_PMIC>; + clock-names = "ext_clock"; + }; }; &dp { @@ -536,12 +544,27 @@ samsung,dw-mshc-sdr-timing = <2 3>; samsung,dw-mshc-ddr-timing = <1 2>; pinctrl-names = "default"; - pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>; + pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>; bus-width = <4>; cap-sd-highspeed; + mmc-pwrseq = <&mmc3_pwrseq>; }; &pinctrl_0 { + wifi_en: wifi-en { + samsung,pins = "gpx0-1"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + + wifi_rst: wifi-rst { + samsung,pins = "gpx0-2"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + power_key_irq: power-key-irq { samsung,pins = "gpx1-3"; samsung,pin-function = <0xf>;