[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87ikmbav16.fsf@geanix.com>
Date: Thu, 08 May 2025 19:09:57 +0200
From: Esben Haabendal <esben@...nix.com>
To: "Alexander Stein" <alexander.stein@...tq-group.com>
Cc: "Catalin Marinas" <catalin.marinas@....com>, "Will Deacon"
<will@...nel.org>, "Stefan Wahren" <wahrenst@....net>,
<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
"Shawn Guo" <shawnguo@...nel.org>
Subject: Re: [PATCH 1/1] arm64: Kconfig: Enable PINCTRL on i.MX platforms
"Alexander Stein" <alexander.stein@...tq-group.com> writes:
> Am Donnerstag, 8. Mai 2025, 14:43:09 CEST schrieb Esben Haabendal:
>> "Alexander Stein" <alexander.stein@...tq-group.com> writes:
>> > Am Donnerstag, 8. Mai 2025, 10:18:35 CEST schrieb Esben Haabendal:
>> >> "Alexander Stein" <alexander.stein@...tq-group.com> writes:
>> >> > Am Donnerstag, 8. Mai 2025, 08:44:22 CEST schrieb Esben Haabendal:
>> >> >> "Alexander Stein" <alexander.stein@...tq-group.com> writes:
>> >> >> > Am Mittwoch, 7. Mai 2025, 16:30:33 CEST schrieb Stefan Wahren:
>> >> >> >> Am 07.05.25 um 14:44 schrieb Alexander Stein:
>> >> >> > I noticed that, when using arch/arm64/defconfig and disabling all
>> >> >> > platforms despite ARCH_MXC before running make olddefconfig,
>> >> >> > CONFIG_PINCTRL gets disabled as well. No platform is enabling it. I
>> >> >> > noticed this when building in yocto and non-IMX platforms are disabled
>> >> >> > for build time reasons.
>> >> >>
>> >> >> But is that something that needs to be fixed?
>> >> >>
>> >> >> It sounds like quite a special use-case, and why not simply enable
>> >> >> CONFIG_PINCTRL in that case then?
>> >> >
>> >> > PINCTRL is crucial for any SoC to even boot, so this is an option which has
>> >> > to be set if that platform is enabled.
>> >>
>> >> Yes, but PINCTRL (framework) does not by itself do anything meaningful.
>> >> You need the correct pinctrl driver.
>> >>
>> >> Making the various SOC's select the corresponding pinctrl drivers makes
>> >> sense if it is required for booting under all circumstances. And this
>> >> should then indirectly enable/select PINCTRL and anything else needed
>> >> for that driver.
>> >
>> > If you prefer I don't mind enabling PINCTRL and the SoC-specific driver
>> > (e.g. PINCTRL_IMX8MP) depending on each SoC-support, e.g. SOC_IMX35 or
>> > SOC_IMX8M.
>>
>> For SOC_IMX35, it should be selected by default.
>>
>> config PINCTRL_IMX35
>> bool "IMX35 pinctrl driver"
>> depends on OF
>> depends on SOC_IMX35 || COMPILE_TEST
>> default SOC_IMX35
>>
>> For the IMX8M* SoC's, that is not done, as there is only a common
>> SOC_IMX8M config entry, which corresponds to multiple pinctrl drivers,
>> which we probably don't want to select all of by default.
>
> Well, is the SoC support is enabled, it makes totally sense to enable a
> crucial driver like pinctrl by default. It's still deselectable after
> all.
Yes. But now I think I figured out what I was missing here.
In order for the patch to achieve something meaningful, it is not enough
to select PINCTRL from ARCH_MXC. You should add default statements to
the various related SoC specific pinctrl drivers. For example
config PINCTRL_IMX8MP
tristate "IMX8MP pinctrl driver"
depends on OF
depends on SOC_IMX8M || COMPILE_TEST
default SOC_IMX8M
select PINCTRL_IMX
help
Say Y here to enable the imx8mp pinctrl driver
This aligns with the way it is done for the arch/arm pinctrl drivers,
and will automatically enable the relevant SoC pinctrl drivers, and
still allow completely disabling pinctrl if/when that is needed.
For SOC_IMX8M, 4 pinctrl drivers will be selected.
/Esben
Powered by blists - more mailing lists