From patchwork Fri Oct 25 02:16:59 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shawn Guo X-Patchwork-Id: 3094101 Return-Path: X-Original-To: patchwork-linux-arm@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 954C29F2B7 for ; Fri, 25 Oct 2013 02:17:35 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 54FC22027D for ; Fri, 25 Oct 2013 02:17:34 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DBCCB20270 for ; Fri, 25 Oct 2013 02:17:32 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VZWxo-0007Aa-Oe; Fri, 25 Oct 2013 02:17:25 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VZWxm-0001F3-4r; Fri, 25 Oct 2013 02:17:22 +0000 Received: from co1ehsobe006.messaging.microsoft.com ([216.32.180.189] helo=co1outboundpool.messaging.microsoft.com) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VZWxj-0001Ej-3h for linux-arm-kernel@lists.infradead.org; Fri, 25 Oct 2013 02:17:20 +0000 Received: from mail172-co1-R.bigfish.com (10.243.78.229) by CO1EHSOBE001.bigfish.com (10.243.66.64) with Microsoft SMTP Server id 14.1.225.22; Fri, 25 Oct 2013 02:16:57 +0000 Received: from mail172-co1 (localhost [127.0.0.1]) by mail172-co1-R.bigfish.com (Postfix) with ESMTP id 272A42600FC; Fri, 25 Oct 2013 02:16:57 +0000 (UTC) X-Forefront-Antispam-Report: CIP:70.37.183.190; KIP:(null); UIP:(null); IPV:NLI; H:mail.freescale.net; RD:none; EFVD:NLI X-SpamScore: 1 X-BigFish: VS1(zcb8k551bizdb82h98dI148cI1432Izz1f42h208ch1ee6h1de0h1fdah2073h1202h1e76h1d1ah1d2ah1fc6hzz1de097hz2dh87h2a8h839h944hd25hf0ah1220h1288h12a5h12a9h12bdh137ah13b6h1441h1504h1537h153bh162dh1631h1758h18e1h1946h19b5h1ad9h1b0ah1b2fh1fb3h1d0ch1d2eh1d3fh1dfeh1dffh1fe8h1ff5h209eh1151h1155h) X-FB-DOMAIN-IP-MATCH: fail Received: from mail172-co1 (localhost.localdomain [127.0.0.1]) by mail172-co1 (MessageSwitch) id 1382667414739104_6452; Fri, 25 Oct 2013 02:16:54 +0000 (UTC) Received: from CO1EHSMHS024.bigfish.com (unknown [10.243.78.254]) by mail172-co1.bigfish.com (Postfix) with ESMTP id AF6E56603D0; Fri, 25 Oct 2013 02:16:54 +0000 (UTC) Received: from mail.freescale.net (70.37.183.190) by CO1EHSMHS024.bigfish.com (10.243.66.34) with Microsoft SMTP Server (TLS) id 14.16.227.3; Fri, 25 Oct 2013 02:16:54 +0000 Received: from az84smr01.freescale.net (10.64.34.197) by 039-SN1MMR1-005.039d.mgd.msft.net (10.84.1.17) with Microsoft SMTP Server (TLS) id 14.3.158.2; Fri, 25 Oct 2013 02:16:53 +0000 Received: from S2101-09.ap.freescale.net ([10.192.185.169]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id r9P2Gnie013159; Thu, 24 Oct 2013 19:16:49 -0700 Date: Fri, 25 Oct 2013 10:16:59 +0800 From: Shawn Guo To: Russell King - ARM Linux Subject: Re: [PATCH RFC 1/2] ARM: imx6qdl: provide pinctrl configurations for DAT3 pull-down Message-ID: <20131025021655.GJ14529@S2101-09.ap.freescale.net> References: <20131005112147.GX12758@n2100.arm.linux.org.uk> <20131007055340.GB3739@S2101-09.ap.freescale.net> <20131007180357.GS12758@n2100.arm.linux.org.uk> <20131008015426.GA7480@S2101-09.ap.freescale.net> <52537378.1020904@wwwdotorg.org> <20131008034048.GB7480@S2101-09.ap.freescale.net> <20131008090015.GC25034@n2100.arm.linux.org.uk> <20131019150556.GI25034@n2100.arm.linux.org.uk> <20131021004610.GB17165@S2101-09.ap.freescale.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20131021004610.GB17165@S2101-09.ap.freescale.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-OriginatorOrg: sigmatel.com X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn% X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20131024_221719_366165_BAA34F72 X-CRM114-Status: GOOD ( 20.19 ) X-Spam-Score: -1.9 (-) Cc: Mark Rutland , devicetree@vger.kernel.org, Pawel Moll , Ian Campbell , Stephen Warren , Rob Herring , Matt Sealey , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, 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 On Mon, Oct 21, 2013 at 08:46:12AM +0800, Shawn Guo wrote: > On Sat, Oct 19, 2013 at 04:05:56PM +0100, Russell King - ARM Linux wrote: > > I can't find what the result of this discussion was, but from what I > > remember, we decided that we weren't going to do this override thing, > > and instead we were going to separate out the configuration of DAT3. > > > > Who's going to do that? > > I'm going to do that. Thanks for reminding :) Okay, here is what I got so far. However, looking at the changes on imx6qdl.dtsi, I start being concerned by the point that Matt raises recently - the device tree blob for particular board is bloated with a lot of pinctrl setting nodes that the board does not use. The situation will become even worse when we have more pinctrl nodes to be added just for cases like this usdhc DAT3 thing. Thus, I'm considering to adopt Matt's proposal to avoid this problem. Will post a RFC patch to demonstrate the solution soon. Shawn --------8<---------------------- arch/arm/boot/dts/imx6q-arm2.dts | 3 +- arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi | 2 +- arch/arm/boot/dts/imx6q-sabrelite.dts | 2 +- arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 6 +-- arch/arm/boot/dts/imx6qdl-sabresd.dtsi | 4 +- arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 4 +- arch/arm/boot/dts/imx6qdl.dtsi | 74 +++++++++++++++++++++++++--- 7 files changed, 79 insertions(+), 16 deletions(-) diff --git a/arch/arm/boot/dts/imx6q-arm2.dts b/arch/arm/boot/dts/imx6q-arm2.dts index edf1bd9..b804cf7 100644 --- a/arch/arm/boot/dts/imx6q-arm2.dts +++ b/arch/arm/boot/dts/imx6q-arm2.dts @@ -85,6 +85,7 @@ vmmc-supply = <®_3p3v>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc3_1 + &pinctrl_usdhc3_dat3 &pinctrl_usdhc3_arm2>; status = "okay"; }; @@ -93,7 +94,7 @@ non-removable; vmmc-supply = <®_3p3v>; pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc4_1>; + pinctrl-0 = <&pinctrl_usdhc4_1 &pinctrl_usdhc4_dat3>; status = "okay"; }; diff --git a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi index 1a3b50d..01df035 100644 --- a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi +++ b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi @@ -164,7 +164,7 @@ &usdhc2 { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc2_2>; + pinctrl-0 = <&pinctrl_usdhc2_2 &pinctrl_usdhc2_dat3>; cd-gpios = <&gpio1 4 0>; wp-gpios = <&gpio1 2 0>; status = "disabled"; diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts index f004913..b1bffa8 100644 --- a/arch/arm/boot/dts/imx6q-sabrelite.dts +++ b/arch/arm/boot/dts/imx6q-sabrelite.dts @@ -192,7 +192,7 @@ &usdhc4 { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc4_2>; + pinctrl-0 = <&pinctrl_usdhc4_2 &pinctrl_usdhc4_dat3>; cd-gpios = <&gpio2 6 0>; wp-gpios = <&gpio2 7 0>; vmmc-supply = <®_3p3v>; diff --git a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi index ff6f1e8..5421c8e 100644 --- a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi @@ -76,9 +76,9 @@ &usdhc3 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; - pinctrl-0 = <&pinctrl_usdhc3_1>; - pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>; - pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>; + pinctrl-0 = <&pinctrl_usdhc3_1 &pinctrl_usdhc3_dat3>; + pinctrl-1 = <&pinctrl_usdhc3_1_100mhz &pinctrl_usdhc3_dat3_100mhz>; + pinctrl-2 = <&pinctrl_usdhc3_1_200mhz &pinctrl_usdhc3_dat3_200mhz>; cd-gpios = <&gpio6 15 0>; wp-gpios = <&gpio1 13 0>; status = "okay"; diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi index e75e11b..c4b7fda 100644 --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi @@ -244,7 +244,7 @@ &usdhc2 { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc2_1>; + pinctrl-0 = <&pinctrl_usdhc2_1 &pinctrl_usdhc2_dat3>; bus-width = <8>; cd-gpios = <&gpio2 2 0>; wp-gpios = <&gpio2 3 0>; @@ -253,7 +253,7 @@ &usdhc3 { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc3_1>; + pinctrl-0 = <&pinctrl_usdhc3_1 &pinctrl_usdhc3_dat3>; bus-width = <8>; cd-gpios = <&gpio2 0 0>; wp-gpios = <&gpio2 1 0>; diff --git a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi index 35f5479..b1b84ec 100644 --- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi +++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi @@ -140,14 +140,14 @@ &usdhc1 { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc1_2>; + pinctrl-0 = <&pinctrl_usdhc1_2 &pinctrl_usdhc1_dat3>; cd-gpios = <&gpio1 2 0>; status = "okay"; }; &usdhc2 { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usdhc2_2>; + pinctrl-0 = <&pinctrl_usdhc2_2 &pinctrl_usdhc2_dat3>; non-removable; status = "okay"; }; diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi index 59154dc..b918d5f 100644 --- a/arch/arm/boot/dts/imx6qdl.dtsi +++ b/arch/arm/boot/dts/imx6qdl.dtsi @@ -1157,7 +1157,6 @@ MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059 - MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059 MX6QDL_PAD_NANDF_D0__SD1_DATA4 0x17059 MX6QDL_PAD_NANDF_D1__SD1_DATA5 0x17059 MX6QDL_PAD_NANDF_D2__SD1_DATA6 0x17059 @@ -1172,9 +1171,20 @@ MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059 + >; + }; + + pinctrl_usdhc1_dat3: usdhc1dat3 { + fsl,pins = < MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059 >; }; + + pinctrl_usdhc1_dat3cd: usdhc1dat3cd { + fsl,pins = < + MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x13059 + >; + }; }; usdhc2 { @@ -1185,7 +1195,6 @@ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 - MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 MX6QDL_PAD_NANDF_D4__SD2_DATA4 0x17059 MX6QDL_PAD_NANDF_D5__SD2_DATA5 0x17059 MX6QDL_PAD_NANDF_D6__SD2_DATA6 0x17059 @@ -1200,9 +1209,20 @@ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 + >; + }; + + pinctrl_usdhc2_dat3: usdhc2dat3 { + fsl,pins = < MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 >; }; + + pinctrl_usdhc2_dat3cd: usdhc2dat3cd { + fsl,pins = < + MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 + >; + }; }; usdhc3 { @@ -1213,7 +1233,6 @@ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 - MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 @@ -1228,7 +1247,6 @@ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170b9 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170b9 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170b9 - MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170b9 MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x170b9 MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x170b9 MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x170b9 @@ -1243,7 +1261,6 @@ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170f9 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170f9 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170f9 - MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170f9 MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x170f9 MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x170f9 MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x170f9 @@ -1258,9 +1275,44 @@ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 + >; + }; + + pinctrl_usdhc3_dat3: usdhc3dat3 { + fsl,pins = < MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 >; }; + + pinctrl_usdhc3_dat3_100mhz: usdhc3dat3-100mhz { + fsl,pins = < + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170b9 + >; + }; + + pinctrl_usdhc3_dat3_200mhz: usdhc3dat3-200mhz { + fsl,pins = < + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170f9 + >; + }; + + pinctrl_usdhc3_dat3cd: usdhc3dat3cd { + fsl,pins = < + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x13059 + >; + }; + + pinctrl_usdhc3_dat3cd_100mhz: usdhc3dat3cd-100mhz { + fsl,pins = < + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x130b9 + >; + }; + + pinctrl_usdhc3_dat3cd_200mhz: usdhc3dat3cd-200mhz { + fsl,pins = < + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x130f9 + >; + }; }; usdhc4 { @@ -1271,7 +1323,6 @@ MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 - MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059 @@ -1286,9 +1337,20 @@ MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 + >; + }; + + pinctrl_usdhc4_dat3: usdhc4dat3 { + fsl,pins = < MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 >; }; + + pinctrl_usdhc4_dat3cd: usdhc4dat3cd { + fsl,pins = < + MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x13059 + >; + }; }; weim {