From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758837AbbLBQKG (ORCPT ); Wed, 2 Dec 2015 11:10:06 -0500 Received: from muru.com ([72.249.23.125]:50209 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757514AbbLBQKD (ORCPT ); Wed, 2 Dec 2015 11:10:03 -0500 Date: Wed, 2 Dec 2015 08:09:56 -0800 From: Tony Lindgren To: Matthijs van Duin Cc: lkml , "linux-omap@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Brian Hutchinson , Delio Brignoli , Neil Armstrong , Philipp Rosenberger Subject: Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Message-ID: <20151202160955.GD23396@atomide.com> References: <1449013103-23238-1-git-send-email-tony@atomide.com> <1449013103-23238-11-git-send-email-tony@atomide.com> <20151202004623.GX23396@atomide.com> <20151202012200.GZ23396@atomide.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151202012200.GZ23396@atomide.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Tony Lindgren [151201 17:23]: > * Matthijs van Duin [151201 17:15]: > > On 2 December 2015 at 01:46, Tony Lindgren wrote: > > > Ouch. We should probably have separate PIN_INPUT_3V3 and PIN_OUTPUT_3V3 > > > dts macros that ensure that? > > > > Can't we just keep bit 18 out of the function mask? The bootloader > > should already have made sure all pins have bit 18 set (and bit 19 set > > to correct values after ROM mucked them up, see advisory 2.1.88), so > > all that needs to be done is avoid touching them. > > Sounds good to me. And people who really want to override the mask can > do it in the board specifc dts file. > > > Are the power savings from disabling unnecessary inputs significant > > enough to spend any headache on it? > > Only for some battery powered devices, not in this case for sure. And here's an updated version of this patch. Regards, Tony 8< ---------------------------- From: Tony Lindgren Date: Tue, 1 Dec 2015 15:04:38 -0800 Subject: [PATCH] ARM: dts: Fix dm814x pinctrl address and mask Otherwise pinctrl won't work. Because of silicon errata for some dm814x versions, let's also keep bit 18 out of the function-mask and rely on the bootloader configuration for bit 18 as suggested by Matthijs van Duin . Devices with that need to use bit 18 can override the function-mask in the board specific dts file if really needed. Signed-off-by: Tony Lindgren --- a/arch/arm/boot/dts/dm814x.dtsi +++ b/arch/arm/boot/dts/dm814x.dtsi @@ -205,13 +205,21 @@ }; }; + /* + * Note that silicon revision 2.1 and older + * require input enabled (bit 18 set) for all + * 3.3V I/Os to avoid cumulative hardware damage. + * For more info, see errata advisory 2.1.87. + * We leave bit 18 out of function-mask and rely + * on the bootloader for it. + */ pincntl: pinmux@800 { compatible = "pinctrl-single"; - reg = <0x800 0xc38>; + reg = <0x800 0x438>; #address-cells = <1>; #size-cells = <0>; pinctrl-single,register-width = <32>; - pinctrl-single,function-mask = <0x300ff>; + pinctrl-single,function-mask = <0x307ff>; }; }; From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lindgren Subject: Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Date: Wed, 2 Dec 2015 08:09:56 -0800 Message-ID: <20151202160955.GD23396@atomide.com> References: <1449013103-23238-1-git-send-email-tony@atomide.com> <1449013103-23238-11-git-send-email-tony@atomide.com> <20151202004623.GX23396@atomide.com> <20151202012200.GZ23396@atomide.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20151202012200.GZ23396@atomide.com> Sender: linux-kernel-owner@vger.kernel.org To: Matthijs van Duin Cc: lkml , "linux-omap@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Brian Hutchinson , Delio Brignoli , Neil Armstrong , Philipp Rosenberger List-Id: linux-omap@vger.kernel.org * Tony Lindgren [151201 17:23]: > * Matthijs van Duin [151201 17:15]: > > On 2 December 2015 at 01:46, Tony Lindgren wrote: > > > Ouch. We should probably have separate PIN_INPUT_3V3 and PIN_OUTPUT_3V3 > > > dts macros that ensure that? > > > > Can't we just keep bit 18 out of the function mask? The bootloader > > should already have made sure all pins have bit 18 set (and bit 19 set > > to correct values after ROM mucked them up, see advisory 2.1.88), so > > all that needs to be done is avoid touching them. > > Sounds good to me. And people who really want to override the mask can > do it in the board specifc dts file. > > > Are the power savings from disabling unnecessary inputs significant > > enough to spend any headache on it? > > Only for some battery powered devices, not in this case for sure. And here's an updated version of this patch. Regards, Tony 8< ---------------------------- From: Tony Lindgren Date: Tue, 1 Dec 2015 15:04:38 -0800 Subject: [PATCH] ARM: dts: Fix dm814x pinctrl address and mask Otherwise pinctrl won't work. Because of silicon errata for some dm814x versions, let's also keep bit 18 out of the function-mask and rely on the bootloader configuration for bit 18 as suggested by Matthijs van Duin . Devices with that need to use bit 18 can override the function-mask in the board specific dts file if really needed. Signed-off-by: Tony Lindgren --- a/arch/arm/boot/dts/dm814x.dtsi +++ b/arch/arm/boot/dts/dm814x.dtsi @@ -205,13 +205,21 @@ }; }; + /* + * Note that silicon revision 2.1 and older + * require input enabled (bit 18 set) for all + * 3.3V I/Os to avoid cumulative hardware damage. + * For more info, see errata advisory 2.1.87. + * We leave bit 18 out of function-mask and rely + * on the bootloader for it. + */ pincntl: pinmux@800 { compatible = "pinctrl-single"; - reg = <0x800 0xc38>; + reg = <0x800 0x438>; #address-cells = <1>; #size-cells = <0>; pinctrl-single,register-width = <32>; - pinctrl-single,function-mask = <0x300ff>; + pinctrl-single,function-mask = <0x307ff>; }; }; From mboxrd@z Thu Jan 1 00:00:00 1970 From: tony@atomide.com (Tony Lindgren) Date: Wed, 2 Dec 2015 08:09:56 -0800 Subject: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask In-Reply-To: <20151202012200.GZ23396@atomide.com> References: <1449013103-23238-1-git-send-email-tony@atomide.com> <1449013103-23238-11-git-send-email-tony@atomide.com> <20151202004623.GX23396@atomide.com> <20151202012200.GZ23396@atomide.com> Message-ID: <20151202160955.GD23396@atomide.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org * Tony Lindgren [151201 17:23]: > * Matthijs van Duin [151201 17:15]: > > On 2 December 2015 at 01:46, Tony Lindgren wrote: > > > Ouch. We should probably have separate PIN_INPUT_3V3 and PIN_OUTPUT_3V3 > > > dts macros that ensure that? > > > > Can't we just keep bit 18 out of the function mask? The bootloader > > should already have made sure all pins have bit 18 set (and bit 19 set > > to correct values after ROM mucked them up, see advisory 2.1.88), so > > all that needs to be done is avoid touching them. > > Sounds good to me. And people who really want to override the mask can > do it in the board specifc dts file. > > > Are the power savings from disabling unnecessary inputs significant > > enough to spend any headache on it? > > Only for some battery powered devices, not in this case for sure. And here's an updated version of this patch. Regards, Tony 8< ---------------------------- From: Tony Lindgren Date: Tue, 1 Dec 2015 15:04:38 -0800 Subject: [PATCH] ARM: dts: Fix dm814x pinctrl address and mask Otherwise pinctrl won't work. Because of silicon errata for some dm814x versions, let's also keep bit 18 out of the function-mask and rely on the bootloader configuration for bit 18 as suggested by Matthijs van Duin . Devices with that need to use bit 18 can override the function-mask in the board specific dts file if really needed. Signed-off-by: Tony Lindgren --- a/arch/arm/boot/dts/dm814x.dtsi +++ b/arch/arm/boot/dts/dm814x.dtsi @@ -205,13 +205,21 @@ }; }; + /* + * Note that silicon revision 2.1 and older + * require input enabled (bit 18 set) for all + * 3.3V I/Os to avoid cumulative hardware damage. + * For more info, see errata advisory 2.1.87. + * We leave bit 18 out of function-mask and rely + * on the bootloader for it. + */ pincntl: pinmux at 800 { compatible = "pinctrl-single"; - reg = <0x800 0xc38>; + reg = <0x800 0x438>; #address-cells = <1>; #size-cells = <0>; pinctrl-single,register-width = <32>; - pinctrl-single,function-mask = <0x300ff>; + pinctrl-single,function-mask = <0x307ff>; }; };