[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251120-unguarded-stony-a58ea2401605@spud>
Date: Thu, 20 Nov 2025 00:25:46 +0000
From: Conor Dooley <conor@...nel.org>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: Conor Dooley <conor.dooley@...rochip.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org,
devicetree@...r.kernel.org, Valentina.FernandezAlanis@...rochip.com
Subject: Re: [RFC v1 0/4] Microchip mpfs/pic64gx pinctrl part 2
On Wed, Nov 19, 2025 at 10:31:47PM +0100, Linus Walleij wrote:
> On Wed, Nov 19, 2025 at 7:06 PM Conor Dooley <conor@...nel.org> wrote:
> > On Wed, Nov 19, 2025 at 01:16:16PM +0100, Linus Walleij wrote:
> > > On Wed, Nov 12, 2025 at 3:33 PM Conor Dooley <conor@...nel.org> wrote:
>
> > > > and b) how the bank voltage
> > > > interacts with the schmitt trigger setting.
> > >
> > > Please check if "bank voltage" is somewhat analogous to
> > > this generic config:
> > >
> > > * @PIN_CONFIG_POWER_SOURCE: if the pin can select between different power
> > > * supplies, the argument to this parameter (on a custom format) tells
> > > * the driver which alternative power source to use.
> >
> > It's not pin based, the whole bank it is connected to has to be changed.
>
> So there *is* such a thing as a group pin config setting for a
> whole group of pins. Groups are not just for functions...
>
> And I don't know what is meant by a bank here, but it seems
> to be exactly a group of pins.
Yeah, it's a whole group of pins. There's two banks that the IOs this
driver controls are split between, they don't really neatly correspond
to a particular function (although the configurator doesn't permit a
function belong to two banks, but it is technically possible for them
to).
>
> From arch/arm/boot/dts/gemini/gemini-sq201.dts:
>
> /* Set up drive strength on GMAC0 and GMAC1 to 16 mA */
> conf9 {
> groups = "gmii_gmac0_grp", "gmii_gmac1_grp";
> drive-strength = <16>;
> };
>
> If you look in driver/pinctrl/pinctrl-gemini.c you find:
> gemini_pinconf_group_set()
>
> static const struct pinconf_ops gemini_pinconf_ops = {
> .pin_config_get = gemini_pinconf_get,
> .pin_config_set = gemini_pinconf_set,
> .pin_config_group_set = gemini_pinconf_group_set,
> .is_generic = true,
> };
>
> OTOMH it's actually *fine* to *just* use groups for pin config like this
> and *not* use it for muxing, i.e. have this group correspond to
> a bank and not use that group for anything else than to set this
> or any other per-bank property. But have a look!
I could just put it in as a per-pin thing, even if the control isn't
actually that granular. The bank lockdown has a per-pin bit, but is
actually a bank wide toggle in the configurator, it wouldn't be too
different.
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists