From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F0B48C83004 for ; Tue, 28 Apr 2020 10:02:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CDB1F206D9 for ; Tue, 28 Apr 2020 10:02:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588068172; bh=6EvPvDn4hfJc3RQhxMxOiskjhaR1xPJY2/XDcNYu2y0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=p3AA1RR78eF3TIxdO9EeLje1back2LW0uXZnHc1hMYz+aE7HjdsK0/H0PYbn5xckp 5p2P72WtMu5HXzR7rJut1OaoE5Gf0Q0DlF0OrdJgBqzL/veaZJCmy5qpi9UpXnzatz QM511tOwCIwQF0BJ+GCLI+2TlpqCRJlmFljqnFSM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727827AbgD1KCw (ORCPT ); Tue, 28 Apr 2020 06:02:52 -0400 Received: from mail-ej1-f67.google.com ([209.85.218.67]:45327 "EHLO mail-ej1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726932AbgD1KCv (ORCPT ); Tue, 28 Apr 2020 06:02:51 -0400 Received: by mail-ej1-f67.google.com with SMTP id rh22so16762387ejb.12; Tue, 28 Apr 2020 03:02:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=FdgTZhQz7Q5QmkJw9fgTQ4qIxRdbshIzbPzMNz/iR0Y=; b=X2JgyMsXfBDE8/GIlhbuG3Tsyi+wiUAsL8avvBVkK3Ja6w9ReUF0cZ6PZII/OVkPFZ Rlq+Jvv02hEg4V82/XrLBz3gLfzRIPawD/pso/AOxtrQAUmErrICkPpgYb9ieGuaLLNx t/KEPc2zvGeGe7EdL1KtXyIRYruFtsagEU+bHVUXTot21Vg72wJuHGM80WMExQcADbUF 716n8pyEoBHCi8BIx8IBR9zOLyc0T0AweVVydD9A6AeeSk7fSRuupZhOvW347Ahm5lUC Y+nBTYkiH+m5el/HjCz1Jv+4SmDMpZzH228fac+RqhAYLkmjavy4m2WtCjXesojmXZy2 YZow== X-Gm-Message-State: AGi0PuZvVUmrpB8BO8eTmPCmSOeS+NpHuxASKYwIKDtp9B0g3DwME4UB Wu5SaSyXBSLS/NLEhNKFJ0k= X-Google-Smtp-Source: APiQypLNHR35H8mMj7YM6wlGtmknjJpqsf8ucJzMlAVC6jgxX/rMDRMP53hjmGcXj1nX3rrXkSLHYQ== X-Received: by 2002:a17:906:a39a:: with SMTP id k26mr22838875ejz.172.1588068166900; Tue, 28 Apr 2020 03:02:46 -0700 (PDT) Received: from kozik-lap ([194.230.155.237]) by smtp.googlemail.com with ESMTPSA id ks10sm402601ejb.89.2020.04.28.03.02.45 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 28 Apr 2020 03:02:46 -0700 (PDT) Date: Tue, 28 Apr 2020 12:02:44 +0200 From: Krzysztof Kozlowski To: Jonathan Bakker Cc: kgene@kernel.org, robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 02/13] arm: dts: s5pv210: fascinate4g: Add sleep GPIO configuration Message-ID: <20200428100244.GA23963@kozik-lap> References: <20200426183604.28494-1-xc-racer2@live.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Apr 26, 2020 at 11:35:53AM -0700, Jonathan Bakker wrote: > In order to minimize leakage current during sleep, set a config > for sleep GPIOs. > > Signed-off-by: Jonathan Bakker > --- > arch/arm/boot/dts/s5pv210-fascinate4g.dts | 242 ++++++++++++++++++++++ > 1 file changed, 242 insertions(+) > > diff --git a/arch/arm/boot/dts/s5pv210-fascinate4g.dts b/arch/arm/boot/dts/s5pv210-fascinate4g.dts > index 07a8d9bbe5b8..94dcb9b64b9a 100644 > --- a/arch/arm/boot/dts/s5pv210-fascinate4g.dts > +++ b/arch/arm/boot/dts/s5pv210-fascinate4g.dts > @@ -36,3 +36,245 @@ > }; > }; > }; > + > +&pinctrl0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&sleep_cfg>; > + > + sleep_cfg: sleep-cfg { > + PIN_SLP(gpa0-0, PREV, NONE); > + PIN_SLP(gpa0-1, PREV, NONE); > + PIN_SLP(gpa0-2, PREV, NONE); > + PIN_SLP(gpa0-3, OUT1, NONE); I would be happy to see some reasoning why certain pins have disabled pull down (e.g. they are not connected or you use the same configuration as running one) and why you set them as output. > + PIN_SLP(gpa0-4, PREV, NONE); > + PIN_SLP(gpa0-5, PREV, NONE); > + PIN_SLP(gpa0-6, PREV, NONE); > + PIN_SLP(gpa0-7, PREV, NONE); > + > + PIN_SLP(gpa1-0, INPUT, DOWN); > + PIN_SLP(gpa1-1, OUT0, NONE); > + PIN_SLP(gpa1-2, INPUT, DOWN); > + PIN_SLP(gpa1-3, OUT0, NONE); > + > + PIN_SLP(gpb-0, OUT0, NONE); > + PIN_SLP(gpb-1, OUT1, NONE); > + PIN_SLP(gpb-2, OUT0, NONE); > + PIN_SLP(gpb-3, PREV, NONE); > + PIN_SLP(gpb-4, INPUT, NONE); > + PIN_SLP(gpb-5, PREV, NONE); > + PIN_SLP(gpb-6, INPUT, DOWN); > + PIN_SLP(gpb-7, OUT0, NONE); > + > + PIN_SLP(gpc0-0, OUT0, NONE); > + PIN_SLP(gpc0-1, INPUT, DOWN); > + PIN_SLP(gpc0-2, OUT0, NONE); > + PIN_SLP(gpc0-3, INPUT, DOWN); > + PIN_SLP(gpc0-4, OUT0, NONE); > + > + PIN_SLP(gpc1-0, INPUT, DOWN); > + PIN_SLP(gpc1-1, INPUT, DOWN); > + PIN_SLP(gpc1-2, INPUT, DOWN); > + PIN_SLP(gpc1-3, INPUT, DOWN); > + PIN_SLP(gpc1-4, INPUT, DOWN); > + > + PIN_SLP(gpd0-0, INPUT, DOWN); > + PIN_SLP(gpd0-1, OUT0, NONE); > + PIN_SLP(gpd0-2, INPUT, DOWN); > + PIN_SLP(gpd0-3, INPUT, DOWN); > + > + PIN_SLP(gpd1-0, INPUT, NONE); > + PIN_SLP(gpd1-1, INPUT, NONE); > + PIN_SLP(gpd1-2, INPUT, DOWN); > + PIN_SLP(gpd1-3, INPUT, DOWN); > + PIN_SLP(gpd1-4, INPUT, DOWN); > + PIN_SLP(gpd1-5, INPUT, DOWN); > + > + PIN_SLP(gpe0-0, INPUT, DOWN); > + PIN_SLP(gpe0-1, INPUT, DOWN); > + PIN_SLP(gpe0-2, INPUT, DOWN); > + PIN_SLP(gpe0-3, INPUT, DOWN); > + PIN_SLP(gpe0-4, INPUT, DOWN); > + PIN_SLP(gpe0-5, INPUT, DOWN); > + PIN_SLP(gpe0-6, INPUT, DOWN); > + PIN_SLP(gpe0-7, INPUT, DOWN); > + > + PIN_SLP(gpe1-0, INPUT, DOWN); > + PIN_SLP(gpe1-1, INPUT, DOWN); > + PIN_SLP(gpe1-2, INPUT, DOWN); > + PIN_SLP(gpe1-3, OUT0, NONE); > + PIN_SLP(gpe1-4, INPUT, DOWN); > + > + PIN_SLP(gpf0-0, OUT0, NONE); > + PIN_SLP(gpf0-1, OUT0, NONE); > + PIN_SLP(gpf0-2, OUT0, NONE); > + PIN_SLP(gpf0-3, OUT0, NONE); > + PIN_SLP(gpf0-4, OUT0, NONE); > + PIN_SLP(gpf0-5, OUT0, NONE); > + PIN_SLP(gpf0-6, OUT0, NONE); > + PIN_SLP(gpf0-7, OUT0, NONE); > + > + PIN_SLP(gpf1-0, OUT0, NONE); > + PIN_SLP(gpf1-1, OUT0, NONE); > + PIN_SLP(gpf1-2, OUT0, NONE); > + PIN_SLP(gpf1-3, OUT0, NONE); > + PIN_SLP(gpf1-4, OUT0, NONE); > + PIN_SLP(gpf1-5, OUT0, NONE); > + PIN_SLP(gpf1-6, OUT0, NONE); > + PIN_SLP(gpf1-7, OUT0, NONE); > + > + PIN_SLP(gpf2-0, OUT0, NONE); > + PIN_SLP(gpf2-1, OUT0, NONE); > + PIN_SLP(gpf2-2, OUT0, NONE); > + PIN_SLP(gpf2-3, OUT0, NONE); > + PIN_SLP(gpf2-4, OUT0, NONE); > + PIN_SLP(gpf2-5, OUT0, NONE); > + PIN_SLP(gpf2-6, OUT0, NONE); > + PIN_SLP(gpf2-7, OUT0, NONE); > + > + PIN_SLP(gpf3-0, OUT0, NONE); > + PIN_SLP(gpf3-1, OUT0, NONE); > + PIN_SLP(gpf3-2, OUT0, NONE); > + PIN_SLP(gpf3-3, OUT0, NONE); > + PIN_SLP(gpf3-4, PREV, NONE); > + PIN_SLP(gpf3-5, INPUT, DOWN); > + > + PIN_SLP(gpg0-0, INPUT, DOWN); > + PIN_SLP(gpg0-1, INPUT, DOWN); > + PIN_SLP(gpg0-2, INPUT, NONE); > + PIN_SLP(gpg0-3, INPUT, DOWN); > + PIN_SLP(gpg0-4, INPUT, DOWN); > + PIN_SLP(gpg0-5, INPUT, DOWN); > + PIN_SLP(gpg0-6, INPUT, DOWN); > + > + PIN_SLP(gpg1-0, OUT0, NONE); > + PIN_SLP(gpg1-1, OUT1, NONE); > + PIN_SLP(gpg1-2, PREV, NONE); > + PIN_SLP(gpg1-3, OUT1, NONE); > + PIN_SLP(gpg1-4, OUT1, NONE); > + PIN_SLP(gpg1-5, OUT1, NONE); > + PIN_SLP(gpg1-6, OUT1, NONE); > + > + PIN_SLP(gpg2-0, OUT0, NONE); > + PIN_SLP(gpg2-1, OUT0, NONE); > + PIN_SLP(gpg2-2, INPUT, NONE); > + PIN_SLP(gpg2-3, OUT0, NONE); > + PIN_SLP(gpg2-4, OUT0, NONE); > + PIN_SLP(gpg2-5, OUT0, NONE); > + PIN_SLP(gpg2-6, OUT0, NONE); > + > + PIN_SLP(gpg3-0, PREV, UP); > + PIN_SLP(gpg3-1, PREV, UP); > + PIN_SLP(gpg3-2, INPUT, NONE); > + PIN_SLP(gpg3-3, INPUT, DOWN); > + PIN_SLP(gpg3-4, OUT0, NONE); > + PIN_SLP(gpg3-5, OUT0, NONE); > + PIN_SLP(gpg3-6, INPUT, DOWN); > + > + PIN_SLP(gpi-0, PREV, NONE); No such name. Did you mean gpgi? > + PIN_SLP(gpi-1, INPUT, DOWN); > + PIN_SLP(gpi-2, PREV, NONE); > + PIN_SLP(gpi-3, PREV, NONE); > + PIN_SLP(gpi-4, PREV, NONE); > + PIN_SLP(gpi-5, INPUT, DOWN); > + PIN_SLP(gpi-6, INPUT, DOWN); > + > + PIN_SLP(gpj0-0, INPUT, NONE); > + PIN_SLP(gpj0-1, INPUT, NONE); > + PIN_SLP(gpj0-2, INPUT, NONE); > + PIN_SLP(gpj0-3, INPUT, NONE); > + PIN_SLP(gpj0-4, INPUT, NONE); > + PIN_SLP(gpj0-5, INPUT, DOWN); > + PIN_SLP(gpj0-6, OUT0, NONE); > + PIN_SLP(gpj0-7, INPUT, NONE); > + > + PIN_SLP(gpj1-0, OUT1, NONE); > + PIN_SLP(gpj1-1, OUT0, NONE); > + PIN_SLP(gpj1-2, INPUT, DOWN); > + PIN_SLP(gpj1-3, PREV, NONE); > + PIN_SLP(gpj1-4, PREV, NONE); > + PIN_SLP(gpj1-5, OUT0, NONE); > + > + PIN_SLP(gpj2-0, INPUT, DOWN); > + PIN_SLP(gpj2-1, INPUT, DOWN); > + PIN_SLP(gpj2-2, OUT0, NONE); > + PIN_SLP(gpj2-3, INPUT, DOWN); > + PIN_SLP(gpj2-4, INPUT, DOWN); > + PIN_SLP(gpj2-5, PREV, NONE); > + PIN_SLP(gpj2-6, PREV, NONE); > + PIN_SLP(gpj2-7, INPUT, DOWN); > + > + PIN_SLP(gpj3-0, INPUT, NONE); > + PIN_SLP(gpj3-1, INPUT, NONE); > + PIN_SLP(gpj3-2, OUT0, NONE); > + PIN_SLP(gpj3-3, INPUT, DOWN); > + PIN_SLP(gpj3-4, INPUT, NONE); > + PIN_SLP(gpj3-5, INPUT, NONE); > + PIN_SLP(gpj3-6, INPUT, NONE); > + PIN_SLP(gpj3-7, INPUT, NONE); > + > + PIN_SLP(gpj4-0, INPUT, NONE); > + PIN_SLP(gpj4-1, INPUT, DOWN); > + PIN_SLP(gpj4-2, PREV, NONE); > + PIN_SLP(gpj4-3, INPUT, NONE); > + PIN_SLP(gpj4-4, INPUT, DOWN); > + > + PIN_SLP(mp01-0, OUT1, NONE); > + PIN_SLP(mp01-1, OUT0, NONE); > + PIN_SLP(mp01-2, INPUT, DOWN); > + PIN_SLP(mp01-3, INPUT, DOWN); > + PIN_SLP(mp01-4, OUT1, NONE); > + PIN_SLP(mp01-5, INPUT, DOWN); > + PIN_SLP(mp01-6, INPUT, DOWN); > + PIN_SLP(mp01-7, INPUT, DOWN); > + > + PIN_SLP(mp02-0, INPUT, DOWN); > + PIN_SLP(mp02-1, INPUT, DOWN); > + PIN_SLP(mp02-2, INPUT, NONE); > + PIN_SLP(mp02-3, INPUT, DOWN); > + > + PIN_SLP(mp03-0, INPUT, DOWN); > + PIN_SLP(mp03-1, INPUT, DOWN); > + PIN_SLP(mp03-2, OUT1, NONE); > + PIN_SLP(mp03-3, OUT0, NONE); > + PIN_SLP(mp03-4, INPUT, NONE); > + PIN_SLP(mp03-5, OUT0, NONE); > + PIN_SLP(mp03-6, INPUT, DOWN); > + PIN_SLP(mp03-7, INPUT, DOWN); > + > + PIN_SLP(mp04-0, INPUT, DOWN); > + PIN_SLP(mp04-1, OUT0, NONE); > + PIN_SLP(mp04-2, INPUT, DOWN); > + PIN_SLP(mp04-3, OUT0, NONE); > + PIN_SLP(mp04-4, INPUT, DOWN); > + PIN_SLP(mp04-5, INPUT, DOWN); > + PIN_SLP(mp04-6, OUT0, NONE); > + PIN_SLP(mp04-7, INPUT, DOWN); > + > + PIN_SLP(mp05-0, INPUT, NONE); > + PIN_SLP(mp05-1, INPUT, NONE); > + PIN_SLP(mp05-2, INPUT, NONE); > + PIN_SLP(mp05-3, INPUT, NONE); > + PIN_SLP(mp05-4, INPUT, DOWN); > + PIN_SLP(mp05-5, OUT0, NONE); > + PIN_SLP(mp05-6, INPUT, DOWN); > + PIN_SLP(mp05-7, PREV, NONE); > + > + PIN_SLP(mp06-0, INPUT, DOWN); > + PIN_SLP(mp06-1, INPUT, DOWN); > + PIN_SLP(mp06-2, INPUT, DOWN); > + PIN_SLP(mp06-3, INPUT, DOWN); > + PIN_SLP(mp06-4, INPUT, DOWN); > + PIN_SLP(mp06-5, INPUT, DOWN); > + PIN_SLP(mp06-6, INPUT, DOWN); > + PIN_SLP(mp06-7, INPUT, DOWN); > + > + PIN_SLP(mp07-0, INPUT, DOWN); > + PIN_SLP(mp07-1, INPUT, DOWN); > + PIN_SLP(mp07-2, INPUT, DOWN); > + PIN_SLP(mp07-3, INPUT, DOWN); > + PIN_SLP(mp07-4, INPUT, DOWN); > + PIN_SLP(mp07-5, INPUT, DOWN); > + PIN_SLP(mp07-6, INPUT, DOWN); > + PIN_SLP(mp07-7, INPUT, DOWN); > + }; What about gphX? Best regards, Krzysztof > +}; > -- > 2.20.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,UPPERCASE_50_75,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D7EBC83000 for ; Tue, 28 Apr 2020 10:02:58 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D3C71206D6 for ; Tue, 28 Apr 2020 10:02:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kTcuKFUn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D3C71206D6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=SS/0lMCeYFzHJRcZ2dWsvgK2AH6l7YCliq33VVDelac=; b=kTcuKFUnDp1vPw bs8Uw3sQczVOhn/xY3o5c7N+Akc1H8SpAbymexV348qqsA8th46vWgF/JJkoGmYu6PVGNBQPa4vuJ MtsihR3e267p5nJ0/OL/SdFli0in0E2+Nwobi0VVjkFfMUtAradK00GWIWgtLdsenxqRItJHA2nK1 YB669M0Gqf4AbWcFhOMSj/eejbGkZ1HBjc5B40DO37FCBHxBg8wCw/MH03CP3syitUK1Cn0U5woXs SVUCqvD/jWrIE/Lzn7CMVKS2289nC7BWCOvddKyeArylgDL+VH88jKHT1LWxQFpMsFkhBo6/70wLt kJZMilHFT7TxmKDZyEoQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jTN4n-0007Q9-He; Tue, 28 Apr 2020 10:02:53 +0000 Received: from mail-ej1-f66.google.com ([209.85.218.66]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jTN4j-0007PO-Em for linux-arm-kernel@lists.infradead.org; Tue, 28 Apr 2020 10:02:51 +0000 Received: by mail-ej1-f66.google.com with SMTP id re23so16789136ejb.4 for ; Tue, 28 Apr 2020 03:02:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=FdgTZhQz7Q5QmkJw9fgTQ4qIxRdbshIzbPzMNz/iR0Y=; b=ueFNJkt35YShABuzfS+YVr0D9LJ9+gb02m9IdU4Plc0q4OqmVMrN0AeGHlSfetKqTU 3W5/C8CrHtoE7ZpCxjUK3RKBB8aqvmgW+81PdY4e0pbqHUhb7QbMxDHxIVandnbhQDf5 RXBUD0hZXmj1gW3cjVBshFKw6uh9Mah/TbO3DVGBl7HDYIYnM0atsQJUfknKLj/y7I9V UHHbr4LFBeYBXVkEjstnYoOUmNF/52NAnihBcX17eDl4cdNpbX3cBeAZeMRCXeA6E0zA 6x2SYHxIh0PuP1Twivo0R4Q56QknMWkd3LtIxkim978EvTjqWq0wDl9kBjyDnYhXwEoL IpPw== X-Gm-Message-State: AGi0PubeBHTXeoMagaVexfNXT3FnyFdQzs9A/FNgIFxoy0pRi83fIFxc jQV0nft9hsFcLXZoMTNmids= X-Google-Smtp-Source: APiQypLNHR35H8mMj7YM6wlGtmknjJpqsf8ucJzMlAVC6jgxX/rMDRMP53hjmGcXj1nX3rrXkSLHYQ== X-Received: by 2002:a17:906:a39a:: with SMTP id k26mr22838875ejz.172.1588068166900; Tue, 28 Apr 2020 03:02:46 -0700 (PDT) Received: from kozik-lap ([194.230.155.237]) by smtp.googlemail.com with ESMTPSA id ks10sm402601ejb.89.2020.04.28.03.02.45 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 28 Apr 2020 03:02:46 -0700 (PDT) Date: Tue, 28 Apr 2020 12:02:44 +0200 From: Krzysztof Kozlowski To: Jonathan Bakker Subject: Re: [PATCH 02/13] arm: dts: s5pv210: fascinate4g: Add sleep GPIO configuration Message-ID: <20200428100244.GA23963@kozik-lap> References: <20200426183604.28494-1-xc-racer2@live.ca> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200428_030249_502547_08E40043 X-CRM114-Status: GOOD ( 15.28 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, kgene@kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Sun, Apr 26, 2020 at 11:35:53AM -0700, Jonathan Bakker wrote: > In order to minimize leakage current during sleep, set a config > for sleep GPIOs. > > Signed-off-by: Jonathan Bakker > --- > arch/arm/boot/dts/s5pv210-fascinate4g.dts | 242 ++++++++++++++++++++++ > 1 file changed, 242 insertions(+) > > diff --git a/arch/arm/boot/dts/s5pv210-fascinate4g.dts b/arch/arm/boot/dts/s5pv210-fascinate4g.dts > index 07a8d9bbe5b8..94dcb9b64b9a 100644 > --- a/arch/arm/boot/dts/s5pv210-fascinate4g.dts > +++ b/arch/arm/boot/dts/s5pv210-fascinate4g.dts > @@ -36,3 +36,245 @@ > }; > }; > }; > + > +&pinctrl0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&sleep_cfg>; > + > + sleep_cfg: sleep-cfg { > + PIN_SLP(gpa0-0, PREV, NONE); > + PIN_SLP(gpa0-1, PREV, NONE); > + PIN_SLP(gpa0-2, PREV, NONE); > + PIN_SLP(gpa0-3, OUT1, NONE); I would be happy to see some reasoning why certain pins have disabled pull down (e.g. they are not connected or you use the same configuration as running one) and why you set them as output. > + PIN_SLP(gpa0-4, PREV, NONE); > + PIN_SLP(gpa0-5, PREV, NONE); > + PIN_SLP(gpa0-6, PREV, NONE); > + PIN_SLP(gpa0-7, PREV, NONE); > + > + PIN_SLP(gpa1-0, INPUT, DOWN); > + PIN_SLP(gpa1-1, OUT0, NONE); > + PIN_SLP(gpa1-2, INPUT, DOWN); > + PIN_SLP(gpa1-3, OUT0, NONE); > + > + PIN_SLP(gpb-0, OUT0, NONE); > + PIN_SLP(gpb-1, OUT1, NONE); > + PIN_SLP(gpb-2, OUT0, NONE); > + PIN_SLP(gpb-3, PREV, NONE); > + PIN_SLP(gpb-4, INPUT, NONE); > + PIN_SLP(gpb-5, PREV, NONE); > + PIN_SLP(gpb-6, INPUT, DOWN); > + PIN_SLP(gpb-7, OUT0, NONE); > + > + PIN_SLP(gpc0-0, OUT0, NONE); > + PIN_SLP(gpc0-1, INPUT, DOWN); > + PIN_SLP(gpc0-2, OUT0, NONE); > + PIN_SLP(gpc0-3, INPUT, DOWN); > + PIN_SLP(gpc0-4, OUT0, NONE); > + > + PIN_SLP(gpc1-0, INPUT, DOWN); > + PIN_SLP(gpc1-1, INPUT, DOWN); > + PIN_SLP(gpc1-2, INPUT, DOWN); > + PIN_SLP(gpc1-3, INPUT, DOWN); > + PIN_SLP(gpc1-4, INPUT, DOWN); > + > + PIN_SLP(gpd0-0, INPUT, DOWN); > + PIN_SLP(gpd0-1, OUT0, NONE); > + PIN_SLP(gpd0-2, INPUT, DOWN); > + PIN_SLP(gpd0-3, INPUT, DOWN); > + > + PIN_SLP(gpd1-0, INPUT, NONE); > + PIN_SLP(gpd1-1, INPUT, NONE); > + PIN_SLP(gpd1-2, INPUT, DOWN); > + PIN_SLP(gpd1-3, INPUT, DOWN); > + PIN_SLP(gpd1-4, INPUT, DOWN); > + PIN_SLP(gpd1-5, INPUT, DOWN); > + > + PIN_SLP(gpe0-0, INPUT, DOWN); > + PIN_SLP(gpe0-1, INPUT, DOWN); > + PIN_SLP(gpe0-2, INPUT, DOWN); > + PIN_SLP(gpe0-3, INPUT, DOWN); > + PIN_SLP(gpe0-4, INPUT, DOWN); > + PIN_SLP(gpe0-5, INPUT, DOWN); > + PIN_SLP(gpe0-6, INPUT, DOWN); > + PIN_SLP(gpe0-7, INPUT, DOWN); > + > + PIN_SLP(gpe1-0, INPUT, DOWN); > + PIN_SLP(gpe1-1, INPUT, DOWN); > + PIN_SLP(gpe1-2, INPUT, DOWN); > + PIN_SLP(gpe1-3, OUT0, NONE); > + PIN_SLP(gpe1-4, INPUT, DOWN); > + > + PIN_SLP(gpf0-0, OUT0, NONE); > + PIN_SLP(gpf0-1, OUT0, NONE); > + PIN_SLP(gpf0-2, OUT0, NONE); > + PIN_SLP(gpf0-3, OUT0, NONE); > + PIN_SLP(gpf0-4, OUT0, NONE); > + PIN_SLP(gpf0-5, OUT0, NONE); > + PIN_SLP(gpf0-6, OUT0, NONE); > + PIN_SLP(gpf0-7, OUT0, NONE); > + > + PIN_SLP(gpf1-0, OUT0, NONE); > + PIN_SLP(gpf1-1, OUT0, NONE); > + PIN_SLP(gpf1-2, OUT0, NONE); > + PIN_SLP(gpf1-3, OUT0, NONE); > + PIN_SLP(gpf1-4, OUT0, NONE); > + PIN_SLP(gpf1-5, OUT0, NONE); > + PIN_SLP(gpf1-6, OUT0, NONE); > + PIN_SLP(gpf1-7, OUT0, NONE); > + > + PIN_SLP(gpf2-0, OUT0, NONE); > + PIN_SLP(gpf2-1, OUT0, NONE); > + PIN_SLP(gpf2-2, OUT0, NONE); > + PIN_SLP(gpf2-3, OUT0, NONE); > + PIN_SLP(gpf2-4, OUT0, NONE); > + PIN_SLP(gpf2-5, OUT0, NONE); > + PIN_SLP(gpf2-6, OUT0, NONE); > + PIN_SLP(gpf2-7, OUT0, NONE); > + > + PIN_SLP(gpf3-0, OUT0, NONE); > + PIN_SLP(gpf3-1, OUT0, NONE); > + PIN_SLP(gpf3-2, OUT0, NONE); > + PIN_SLP(gpf3-3, OUT0, NONE); > + PIN_SLP(gpf3-4, PREV, NONE); > + PIN_SLP(gpf3-5, INPUT, DOWN); > + > + PIN_SLP(gpg0-0, INPUT, DOWN); > + PIN_SLP(gpg0-1, INPUT, DOWN); > + PIN_SLP(gpg0-2, INPUT, NONE); > + PIN_SLP(gpg0-3, INPUT, DOWN); > + PIN_SLP(gpg0-4, INPUT, DOWN); > + PIN_SLP(gpg0-5, INPUT, DOWN); > + PIN_SLP(gpg0-6, INPUT, DOWN); > + > + PIN_SLP(gpg1-0, OUT0, NONE); > + PIN_SLP(gpg1-1, OUT1, NONE); > + PIN_SLP(gpg1-2, PREV, NONE); > + PIN_SLP(gpg1-3, OUT1, NONE); > + PIN_SLP(gpg1-4, OUT1, NONE); > + PIN_SLP(gpg1-5, OUT1, NONE); > + PIN_SLP(gpg1-6, OUT1, NONE); > + > + PIN_SLP(gpg2-0, OUT0, NONE); > + PIN_SLP(gpg2-1, OUT0, NONE); > + PIN_SLP(gpg2-2, INPUT, NONE); > + PIN_SLP(gpg2-3, OUT0, NONE); > + PIN_SLP(gpg2-4, OUT0, NONE); > + PIN_SLP(gpg2-5, OUT0, NONE); > + PIN_SLP(gpg2-6, OUT0, NONE); > + > + PIN_SLP(gpg3-0, PREV, UP); > + PIN_SLP(gpg3-1, PREV, UP); > + PIN_SLP(gpg3-2, INPUT, NONE); > + PIN_SLP(gpg3-3, INPUT, DOWN); > + PIN_SLP(gpg3-4, OUT0, NONE); > + PIN_SLP(gpg3-5, OUT0, NONE); > + PIN_SLP(gpg3-6, INPUT, DOWN); > + > + PIN_SLP(gpi-0, PREV, NONE); No such name. Did you mean gpgi? > + PIN_SLP(gpi-1, INPUT, DOWN); > + PIN_SLP(gpi-2, PREV, NONE); > + PIN_SLP(gpi-3, PREV, NONE); > + PIN_SLP(gpi-4, PREV, NONE); > + PIN_SLP(gpi-5, INPUT, DOWN); > + PIN_SLP(gpi-6, INPUT, DOWN); > + > + PIN_SLP(gpj0-0, INPUT, NONE); > + PIN_SLP(gpj0-1, INPUT, NONE); > + PIN_SLP(gpj0-2, INPUT, NONE); > + PIN_SLP(gpj0-3, INPUT, NONE); > + PIN_SLP(gpj0-4, INPUT, NONE); > + PIN_SLP(gpj0-5, INPUT, DOWN); > + PIN_SLP(gpj0-6, OUT0, NONE); > + PIN_SLP(gpj0-7, INPUT, NONE); > + > + PIN_SLP(gpj1-0, OUT1, NONE); > + PIN_SLP(gpj1-1, OUT0, NONE); > + PIN_SLP(gpj1-2, INPUT, DOWN); > + PIN_SLP(gpj1-3, PREV, NONE); > + PIN_SLP(gpj1-4, PREV, NONE); > + PIN_SLP(gpj1-5, OUT0, NONE); > + > + PIN_SLP(gpj2-0, INPUT, DOWN); > + PIN_SLP(gpj2-1, INPUT, DOWN); > + PIN_SLP(gpj2-2, OUT0, NONE); > + PIN_SLP(gpj2-3, INPUT, DOWN); > + PIN_SLP(gpj2-4, INPUT, DOWN); > + PIN_SLP(gpj2-5, PREV, NONE); > + PIN_SLP(gpj2-6, PREV, NONE); > + PIN_SLP(gpj2-7, INPUT, DOWN); > + > + PIN_SLP(gpj3-0, INPUT, NONE); > + PIN_SLP(gpj3-1, INPUT, NONE); > + PIN_SLP(gpj3-2, OUT0, NONE); > + PIN_SLP(gpj3-3, INPUT, DOWN); > + PIN_SLP(gpj3-4, INPUT, NONE); > + PIN_SLP(gpj3-5, INPUT, NONE); > + PIN_SLP(gpj3-6, INPUT, NONE); > + PIN_SLP(gpj3-7, INPUT, NONE); > + > + PIN_SLP(gpj4-0, INPUT, NONE); > + PIN_SLP(gpj4-1, INPUT, DOWN); > + PIN_SLP(gpj4-2, PREV, NONE); > + PIN_SLP(gpj4-3, INPUT, NONE); > + PIN_SLP(gpj4-4, INPUT, DOWN); > + > + PIN_SLP(mp01-0, OUT1, NONE); > + PIN_SLP(mp01-1, OUT0, NONE); > + PIN_SLP(mp01-2, INPUT, DOWN); > + PIN_SLP(mp01-3, INPUT, DOWN); > + PIN_SLP(mp01-4, OUT1, NONE); > + PIN_SLP(mp01-5, INPUT, DOWN); > + PIN_SLP(mp01-6, INPUT, DOWN); > + PIN_SLP(mp01-7, INPUT, DOWN); > + > + PIN_SLP(mp02-0, INPUT, DOWN); > + PIN_SLP(mp02-1, INPUT, DOWN); > + PIN_SLP(mp02-2, INPUT, NONE); > + PIN_SLP(mp02-3, INPUT, DOWN); > + > + PIN_SLP(mp03-0, INPUT, DOWN); > + PIN_SLP(mp03-1, INPUT, DOWN); > + PIN_SLP(mp03-2, OUT1, NONE); > + PIN_SLP(mp03-3, OUT0, NONE); > + PIN_SLP(mp03-4, INPUT, NONE); > + PIN_SLP(mp03-5, OUT0, NONE); > + PIN_SLP(mp03-6, INPUT, DOWN); > + PIN_SLP(mp03-7, INPUT, DOWN); > + > + PIN_SLP(mp04-0, INPUT, DOWN); > + PIN_SLP(mp04-1, OUT0, NONE); > + PIN_SLP(mp04-2, INPUT, DOWN); > + PIN_SLP(mp04-3, OUT0, NONE); > + PIN_SLP(mp04-4, INPUT, DOWN); > + PIN_SLP(mp04-5, INPUT, DOWN); > + PIN_SLP(mp04-6, OUT0, NONE); > + PIN_SLP(mp04-7, INPUT, DOWN); > + > + PIN_SLP(mp05-0, INPUT, NONE); > + PIN_SLP(mp05-1, INPUT, NONE); > + PIN_SLP(mp05-2, INPUT, NONE); > + PIN_SLP(mp05-3, INPUT, NONE); > + PIN_SLP(mp05-4, INPUT, DOWN); > + PIN_SLP(mp05-5, OUT0, NONE); > + PIN_SLP(mp05-6, INPUT, DOWN); > + PIN_SLP(mp05-7, PREV, NONE); > + > + PIN_SLP(mp06-0, INPUT, DOWN); > + PIN_SLP(mp06-1, INPUT, DOWN); > + PIN_SLP(mp06-2, INPUT, DOWN); > + PIN_SLP(mp06-3, INPUT, DOWN); > + PIN_SLP(mp06-4, INPUT, DOWN); > + PIN_SLP(mp06-5, INPUT, DOWN); > + PIN_SLP(mp06-6, INPUT, DOWN); > + PIN_SLP(mp06-7, INPUT, DOWN); > + > + PIN_SLP(mp07-0, INPUT, DOWN); > + PIN_SLP(mp07-1, INPUT, DOWN); > + PIN_SLP(mp07-2, INPUT, DOWN); > + PIN_SLP(mp07-3, INPUT, DOWN); > + PIN_SLP(mp07-4, INPUT, DOWN); > + PIN_SLP(mp07-5, INPUT, DOWN); > + PIN_SLP(mp07-6, INPUT, DOWN); > + PIN_SLP(mp07-7, INPUT, DOWN); > + }; What about gphX? Best regards, Krzysztof > +}; > -- > 2.20.1 > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel