Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1281335 > unrolled thread

[PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask

Started byTony Lindgren <tony@atomide.com>
First post2015-12-02 00:40 +0100
Last post2015-12-02 17:20 +0100
Articles 8 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Tony Lindgren <tony@atomide.com> - 2015-12-02 00:40 +0100
    Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Matthijs van Duin <matthijsvanduin@gmail.com> - 2015-12-02 01:30 +0100
      Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Tony Lindgren <tony@atomide.com> - 2015-12-02 01:50 +0100
        Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Matthijs van Duin <matthijsvanduin@gmail.com> - 2015-12-02 02:20 +0100
          Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Tony Lindgren <tony@atomide.com> - 2015-12-02 02:30 +0100
            Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Tony Lindgren <tony@atomide.com> - 2015-12-02 17:20 +0100
        Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Matthijs van Duin <matthijsvanduin@gmail.com> - 2015-12-02 02:30 +0100
          Re: [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask Tony Lindgren <tony@atomide.com> - 2015-12-02 17:20 +0100

#1281335 — [PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask

FromTony Lindgren <tony@atomide.com>
Date2015-12-02 00:40 +0100
Subject[PATCH 10/10] ARM: dts: Fix dm814x pinctrl address and mask
Message-ID<qB2GC-7Ot-5@gated-at.bofh.it>
Otherwise pinctrl won't work.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/dm814x.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/dm814x.dtsi b/arch/arm/boot/dts/dm814x.dtsi
index 68b156b..7bd1961 100644
--- a/arch/arm/boot/dts/dm814x.dtsi
+++ b/arch/arm/boot/dts/dm814x.dtsi
@@ -207,11 +207,11 @@
 
 				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 = <0x707ff>;
 				};
 			};
 
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1281372

FromMatthijs van Duin <matthijsvanduin@gmail.com>
Date2015-12-02 01:30 +0100
Message-ID<qB3t0-8kJ-15@gated-at.bofh.it>
In reply to#1281335
On 2 December 2015 at 00:38, Tony Lindgren <tony@atomide.com> wrote:
> -                                       pinctrl-single,function-mask = <0x300ff>;
> +                                       pinctrl-single,function-mask = <0x707ff>;

Reminder that silicon revision 2.1 and older require input enabled
(bit 18 set) for all 3.3V I/Os to avoid cumulative hardware damage.
(Errata advisory 2.1.87)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1281376

FromTony Lindgren <tony@atomide.com>
Date2015-12-02 01:50 +0100
Message-ID<qB3Ml-8rf-1@gated-at.bofh.it>
In reply to#1281372
* Matthijs van Duin <matthijsvanduin@gmail.com> [151201 16:26]:
> On 2 December 2015 at 00:38, Tony Lindgren <tony@atomide.com> wrote:
> > -                                       pinctrl-single,function-mask = <0x300ff>;
> > +                                       pinctrl-single,function-mask = <0x707ff>;
> 
> Reminder that silicon revision 2.1 and older require input enabled
> (bit 18 set) for all 3.3V I/Os to avoid cumulative hardware damage.
> (Errata advisory 2.1.87)

Ouch. We should probably have separate PIN_INPUT_3V3 and PIN_OUTPUT_3V3
dts macros that ensure that?

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1281390

FromMatthijs van Duin <matthijsvanduin@gmail.com>
Date2015-12-02 02:20 +0100
Message-ID<qB4fn-qG-3@gated-at.bofh.it>
In reply to#1281376
On 2 December 2015 at 01:46, Tony Lindgren <tony@atomide.com> 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.

Are the power savings from disabling unnecessary inputs significant
enough to spend any headache on it?

Matthijs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1281392

FromTony Lindgren <tony@atomide.com>
Date2015-12-02 02:30 +0100
Message-ID<qB4p4-ui-11@gated-at.bofh.it>
In reply to#1281390
* Matthijs van Duin <matthijsvanduin@gmail.com> [151201 17:15]:
> On 2 December 2015 at 01:46, Tony Lindgren <tony@atomide.com> 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.

Regards,.

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1281961

FromTony Lindgren <tony@atomide.com>
Date2015-12-02 17:20 +0100
Message-ID<qBiin-161-17@gated-at.bofh.it>
In reply to#1281392
* Tony Lindgren <tony@atomide.com> [151201 17:23]:
> * Matthijs van Duin <matthijsvanduin@gmail.com> [151201 17:15]:
> > On 2 December 2015 at 01:46, Tony Lindgren <tony@atomide.com> 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 <tony@atomide.com>
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 <matthijsvanduin@gmail.com>.

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 <tony@atomide.com>

--- 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>;
 				};
 			};
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1281393

FromMatthijs van Duin <matthijsvanduin@gmail.com>
Date2015-12-02 02:30 +0100
Message-ID<qB4p3-ui-9@gated-at.bofh.it>
In reply to#1281376
On 2 December 2015 at 01:46, Tony Lindgren <tony@atomide.com> wrote:
> We should probably have separate PIN_INPUT_3V3 and PIN_OUTPUT_3V3
> dts macros that ensure that?

I'm in general no fan of such macros: it feels really awkward to have
to make that distinction in dts when doing pin config.

Note that if you're feeling really enthausiastic about putting in
effort to allow inputs to be disabled while staying clear of the
erratum, I think you can detect at runtime which I/O supplies are 3.3V
by inspecting this register:

#define CTRL_CQDETECT_STATUS    0x48140e00

Matthijs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1281956

FromTony Lindgren <tony@atomide.com>
Date2015-12-02 17:20 +0100
Message-ID<qBiim-161-9@gated-at.bofh.it>
In reply to#1281393
* Matthijs van Duin <matthijsvanduin@gmail.com> [151201 17:23]:
> On 2 December 2015 at 01:46, Tony Lindgren <tony@atomide.com> wrote:
> > We should probably have separate PIN_INPUT_3V3 and PIN_OUTPUT_3V3
> > dts macros that ensure that?
> 
> I'm in general no fan of such macros: it feels really awkward to have
> to make that distinction in dts when doing pin config.
> 
> Note that if you're feeling really enthausiastic about putting in
> effort to allow inputs to be disabled while staying clear of the
> erratum, I think you can detect at runtime which I/O supplies are 3.3V
> by inspecting this register:
> 
> #define CTRL_CQDETECT_STATUS    0x48140e00

OK and if really needed needed the SoC revision information can be
passed to pinctrl-singl.c in it's platform_data that we already have
in addition to the dts configuration. And then pinctrl-single.c could
modify the mask based on IO voltage and SoC revision.

I think we're already covered as the boards can override the pinctrl
function-mask in the board specific dts file if really needed :)

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web