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: 5472191 Return-Path: X-Original-To: patchwork-linux-rockchip@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 433A19F444 for ; Wed, 10 Dec 2014 20:56:20 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6AAD22017D for ; Wed, 10 Dec 2014 20:56:19 +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 8C91520172 for ; Wed, 10 Dec 2014 20:56:18 +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 1XyoIz-0004G5-9n; Wed, 10 Dec 2014 20:56:17 +0000 Received: from mail-ig0-x22a.google.com ([2607:f8b0:4001:c05::22a]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XyoIo-0004Cw-0K for linux-rockchip@lists.infradead.org; Wed, 10 Dec 2014 20:56:06 +0000 Received: by mail-ig0-f170.google.com with SMTP id r2so8402719igi.1 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=gN5c3qj4+HohmYFFXeIwmSMonOyJWnU2xroFm438gWjKCL/0EXDWwWKYLOeWoc/uiy oPtLURNoLd+2jkk2A6N2L7MuWXStACxzEhAjniqVQkjZTlGDGy6N1BK2WiDa0zf+rOTm okBK4k/GW+y248jcLuRXoXl/doGwjtOkycaTEKUPeXg/qXJIrofMgiMCo+phsuZs2JkH QdFs4xYnT53nhEuD1lVE/xqwqWxKQPGkXrcJnrA9n43Zyh2HxgBP1CWxRrzlqp0x/5rp Yv7vd2MBHttWk9pzEtnCaO/86R+LO59OcJYiUiSD6SVqLGCiTSsIFWA3ZqUUlA8LKCAJ uiSA== X-Gm-Message-State: ALoCoQle6ScuVZYprDd9cnoHW2G5p3OarVNkTcwAGt8VXnNQUHq2ZRxZYfZRX4rv5pJbpT6vuVjo 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_091328_2B68F775 X-CRM114-Status: UNSURE ( 8.88 ) X-CRM114-Notice: Please train this message. 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-rockchip@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+patchwork-linux-rockchip=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>;