From patchwork Wed Dec 10 20:55:29 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Anderson X-Patchwork-Id: 5472251 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id BD436BEEA8 for ; Wed, 10 Dec 2014 20:59:11 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id DCEBD2017D for ; Wed, 10 Dec 2014 20:59:10 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1501C20172 for ; Wed, 10 Dec 2014 20:59:10 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XyoIr-0004F1-Kj; Wed, 10 Dec 2014 20:56:09 +0000 Received: from mail-ig0-x236.google.com ([2607:f8b0:4001:c05::236]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XyoIo-0004Cz-1O for linux-arm-kernel@lists.infradead.org; Wed, 10 Dec 2014 20:56:06 +0000 Received: by mail-ig0-f182.google.com with SMTP id hn15so3664455igb.3 for ; Wed, 10 Dec 2014 12:55:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id; bh=3+R9OOm1HKPDT7y0JORCDVTACsmeYZfeklLv/Ob72Ww=; b=dLCiGBaExf4MV1QstA6arb8YTuI+aNeMi7J4iJTrBSKKWoBtUWIeVCs7a1xD0ERImq paIg2OIovNrfFAZXRmtkwCI0LVqO48pZrEmpwLMFD8DV+Z/HfaL+cGxyiCbEXIkXi5c1 BX7sBsS0/EAHCGHgMMQxcOs3uUmaIIs6oGErI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=3+R9OOm1HKPDT7y0JORCDVTACsmeYZfeklLv/Ob72Ww=; b=ixmmNNkLEjmEBH9xtCnx8x2ZI3fTcsCFp2SIW6GVFWMrrddKSKHzFt5DP4X+SPwvgW YY8jGnNPc2kmmID8vAEcfdn8q9mrYqapP4bUAV8G3GJX9NEHSzGNUArCyl6Aao+k0xx4 3DBmN1I0gKP7bnTmQchuymQK73eoNrfFiTJW5aaE5pc11XRQJfQA8gleK8OUmOoVaoeL 4blsHDq0ZxlFjEVNnx/p8jOs+BogBnKI2Mn/+b/oHBXWJP+kSSYqSURawFqDcIRDiWpE ALIUyIGFndPRGujORS0O7l7NK6XEZxZAkSuL7cfPGRl1Qp8ri3CR2Q605h9FLjnAchbQ WFLw== X-Gm-Message-State: ALoCoQm6qoBID/euwiN+6lJtpOKOv1W5m+LPXP6LBkDU2m9UM/0m3q1gNzIXLdFLXKowjWikQb13 X-Received: by 10.107.169.15 with SMTP id s15mr6049268ioe.34.1418244943805; Wed, 10 Dec 2014 12:55:43 -0800 (PST) Received: from tictac.mtv.corp.google.com ([172.22.65.76]) by mx.google.com with ESMTPSA id b7sm85112igx.15.2014.12.10.12.55.42 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 10 Dec 2014 12:55:43 -0800 (PST) From: Doug Anderson To: Heiko Stuebner Subject: [PATCH] ARM: dts: Bump SD card pin drive strength up on rk3288-evb Date: Wed, 10 Dec 2014 12:55:29 -0800 Message-Id: <1418244929-8254-1-git-send-email-dianders@chromium.org> X-Mailer: git-send-email 2.2.0.rc0.207.ga3a616c X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20141210_125606_147620_DA938349 X-CRM114-Status: GOOD ( 10.59 ) X-Spam-Score: -0.8 (/) Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, Addy Ke , linux@arm.linux.org.uk, pawel.moll@arm.com, linux-rockchip@lists.infradead.org, Seungwon Jeon , linux-kernel@vger.kernel.org, ijc+devicetree@hellion.org.uk, Ulf Hansson , Doug Anderson , Jaehoon Chung , Andrew Bresticker , robh+dt@kernel.org, Alim Akhtar , galak@codeaurora.org, Sonny Rao , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, 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 It seems that ever since (536f6b9 mmc: dw_mmc: Reset DMA before enabling IDMAC) landed upstream that SD cards have been very unhappy on rk3288-evb. They were a little unhappy before that change, but after that change they're REALLY unhappy. It turns out that the above fix happens to fix a corruption when reading card information during probe time. Without the fix we didn't detect that high speed SD cards could actually support high speed. With the fix we suddenly detect that they're high speed and we try to use them at 50MHz. That doesn't work so well on EVB with the default drive strength (maybe because there are two physical SD card slots hooked up to the same pin?). Fix the problem by bumping up the drive strength of the sdmmc lines. Signed-off-by: Doug Anderson Fixes: 536f6b91d21b ("mmc: dw_mmc: Reset DMA before enabling IDMAC") --- arch/arm/boot/dts/rk3288-evb.dtsi | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi index 3e067dd..6194d67 100644 --- a/arch/arm/boot/dts/rk3288-evb.dtsi +++ b/arch/arm/boot/dts/rk3288-evb.dtsi @@ -155,6 +155,15 @@ }; &pinctrl { + pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { + drive-strength = <8>; + }; + + pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { + bias-pull-up; + drive-strength = <8>; + }; + backlight { bl_en: bl-en { rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; @@ -173,6 +182,27 @@ }; }; + sdmmc { + /* + * Default drive strength isn't enough to achieve even + * high-speed mode on EVB board so bump up to 8ma. + */ + sdmmc_bus4: sdmmc-bus4 { + rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, + <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, + <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, + <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; + }; + + sdmmc_clk: sdmmc-clk { + rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>; + }; + + sdmmc_cmd: sdmmc-cmd { + rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; + }; + }; + usb { host_vbus_drv: host-vbus-drv { rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;