From patchwork Thu Jan 17 14:38:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 10768361 X-Patchwork-Delegate: horms@verge.net.au Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 60C97746 for ; Thu, 17 Jan 2019 14:38:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4F0CF30218 for ; Thu, 17 Jan 2019 14:38:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4C70B30232; Thu, 17 Jan 2019 14:38:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8ADEB3022A for ; Thu, 17 Jan 2019 14:38:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727098AbfAQOif (ORCPT ); Thu, 17 Jan 2019 09:38:35 -0500 Received: from kirsty.vergenet.net ([202.4.237.240]:35333 "EHLO kirsty.vergenet.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726824AbfAQOif (ORCPT ); Thu, 17 Jan 2019 09:38:35 -0500 Received: from reginn.horms.nl (watermunt.horms.nl [80.127.179.77]) by kirsty.vergenet.net (Postfix) with ESMTPA id 8560125B7E8; Fri, 18 Jan 2019 01:38:31 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verge.net.au; s=mail; t=1547735911; bh=FxAHpZO285pAtdQhVDb5RNUMhcFP75cslqvQgWzyGEA=; h=Date:From:To:Cc:Subject:From; b=E63wGUlZLiVp2bspwBbnJF1RigUecyeX3jIqWu+2Zxfn2yH/E6TGdvzFXjQ2DEB1n +q7Xi3TWFfFWKdEwk3cNju1ks2OFnjoknkS/gCfLMkWhGP83qc3yTQqmCNr0/ZvqvH NeCf8bgU9++IiWecxbG4eoijT2EY+1vHCxQt/UmQ= Received: by reginn.horms.nl (Postfix, from userid 7100) id 94173940459; Thu, 17 Jan 2019 15:38:29 +0100 (CET) Date: Thu, 17 Jan 2019 15:38:29 +0100 From: Simon Horman To: linux-renesas-soc@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, Magnus Damm , Wolfram Sang , Niklas =?utf-8?q?S=C3=B6de?= =?utf-8?q?rlund?= , Simon Horman Subject: [PATCH repost] arm64: dts: renesas: r8a77990: ebisu: Enable HS400 of SDHI3 Message-ID: <20190117143829.6ubwnj5cyh74mjq3@verge.net.au> MIME-Version: 1.0 Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add SDHI3 UHS pin control and use it when enabling HS200 support for SDHI3. Based on work by Takeshi Kihara. Signed-off-by: Simon Horman --- Tested on top of renesas-devel-20190110-v5.0-rc1 [ 2.967136] renesas_sdhi_internal_dmac ee160000.sd: mmc0 base at 0xee160000 max clock rate 200 MHz [ 3.055659] mmc0: new HS400 MMC card at address 0001 [ 3.061726] mmcblk0: mmc0:0001 BGSD3R 29.1 GiB [ 3.070827] mmcblk0boot0: mmc0:0001 BGSD3R partition 1 16.0 MiB [ 3.077508] mmcblk0boot1: mmc0:0001 BGSD3R partition 2 16.0 MiB [ 3.084132] mmcblk0rpmb: mmc0:0001 BGSD3R partition 3 4.00 MiB, chardev (243:0) [ 2.967136] renesas_sdhi_internal_dmac ee160000.sd: mmc0 base at 0xee160000 max clock rate 200 MHz [ 3.055659] mmc0: new HS400 MMC card at address 0001 [ 3.061726] mmcblk0: mmc0:0001 BGSD3R 29.1 GiB [ 3.070827] mmcblk0boot0: mmc0:0001 BGSD3R partition 1 16.0 MiB [ 3.077508] mmcblk0boot1: mmc0:0001 BGSD3R partition 2 16.0 MiB [ 3.084132] mmcblk0rpmb: mmc0:0001 BGSD3R partition 3 4.00 MiB, chardev (243:0) [ 2.901527] renesas_sdhi_internal_dmac ee160000.sd: Linked as a consumer to regulator.2 [ 2.909824] renesas_sdhi_internal_dmac ee160000.sd: Linked as a consumer to regulator.1 [ 2.967136] renesas_sdhi_internal_dmac ee160000.sd: mmc0 base at 0xee160000 max clock rate 200 MHz [ 3.055659] mmc0: new HS400 MMC card at address 0001 [ 3.061726] mmcblk0: mmc0:0001 BGSD3R 29.1 GiB [ 3.070827] mmcblk0boot0: mmc0:0001 BGSD3R partition 1 16.0 MiB [ 3.077508] mmcblk0boot1: mmc0:0001 BGSD3R partition 2 16.0 MiB [ 3.084132] mmcblk0rpmb: mmc0:0001 BGSD3R partition 3 4.00 MiB, chardev (243:0) # dd if=/dev/mmcblk0 of=/dev/null bs=1M count=512 iflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 9.02486 s, 59.5 MB/s # dd if=/dev/mmcblk0 of=/dev/null bs=1M count=512 iflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 7.36003 s, 72.9 MB/s # dd if=/dev/mmcblk0 of=/dev/null bs=1M count=512 iflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 11.0156 s, 48.7 MB/s # dd of=/dev/mmcblk0 if=/dev/zero bs=1M count=512 oflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 7.15907 s, 75.0 MB/s # dd of=/dev/mmcblk0 if=/dev/zero bs=1M count=512 oflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 8.78869 s, 61.1 MB/s # dd of=/dev/mmcblk0 if=/dev/zero bs=1M count=512 oflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 10.3861 s, 51.7 MB/s The above test results seem favourable when compared to testing against renesas-devel-20190110-v5.0-rc1 where the eMMC device uses HS200 mode. # dd if=/dev/mmcblk0 of=/dev/null bs=1M count=512 iflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 14.7343 s, 36.4 MB/s # dd if=/dev/mmcblk0 of=/dev/null bs=1M count=512 iflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 8.46809 s, 63.4 MB/s # dd if=/dev/mmcblk0 of=/dev/null bs=1M count=512 iflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 14.6945 s, 36.5 MB/s # dd of=/dev/mmcblk0 if=/dev/zero bs=1M count=512 oflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 19.1677 s, 28.0 MB/s # dd of=/dev/mmcblk0 if=/dev/zero bs=1M count=512 oflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 21.3139 s, 25.2 MB/s # dd of=/dev/mmcblk0 if=/dev/zero bs=1M count=512 oflag=direct 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 19.9205 s, 27.0 MB/s diff --git a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts index 89383aa35d65..f2846c9eb83f 100644 --- a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts +++ b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts @@ -535,6 +535,12 @@ power-source = <1800>; }; + sdhi3_pins_uhs: sd3_uhs { + groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds"; + function = "sdhi3"; + power-source = <1800>; + }; + sound_pins: sound { groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data"; function = "ssi"; @@ -689,12 +695,13 @@ &sdhi3 { /* used for on-board 8bit eMMC */ pinctrl-0 = <&sdhi3_pins>; - pinctrl-1 = <&sdhi3_pins>; + pinctrl-1 = <&sdhi3_pins_uhs>; pinctrl-names = "default", "state_uhs"; vmmc-supply = <®_3p3v>; vqmmc-supply = <®_1p8v>; mmc-hs200-1_8v; + mmc-hs400-1_8v; bus-width = <8>; non-removable; status = "okay";