diff options
| author | Zhipeng Wang <zhipeng.wang_1@nxp.com> | 2026-04-20 11:22:54 +0900 |
|---|---|---|
| committer | Ulf Hansson <ulfh@kernel.org> | 2026-07-14 15:21:18 +0200 |
| commit | ce2bf9837092be587050697a4d64ee43a1ead2f2 (patch) | |
| tree | cf53c805f3f6c7691aa17a8e34df229d525133e6 | |
| parent | 9956ad2afd44699933188f388e6f1cf1943987b7 (diff) | |
| download | linux-next-ce2bf9837092be587050697a4d64ee43a1ead2f2.tar.gz linux-next-ce2bf9837092be587050697a4d64ee43a1ead2f2.zip | |
pmdomain: imx: Make IMX8M/IMX9 BLK_CTRL tristate
Convert IMX8M_BLK_CTRL and IMX9_BLK_CTRL from bool to tristate
to allow building as loadable modules.
This change is required to support Android devices using Generic Kernel
Image (GKI) kernels, where SoC-specific drivers must be built as loadable
modules rather than built into the core kernel image.
For i.MX8M and i.MX9 devices running Android with GKI kernels, the
BLK_CTRL drivers therefore need to be loadable. Without tristate
support, power domains cannot be initialized correctly, making these
systems non-functional under GKI.
Add prompt strings to make these options visible and configurable
in menuconfig, keeping them enabled by default on appropriate platforms.
Also remove the IMX_GPCV2_PM_DOMAINS dependency from IMX9_BLK_CTRL.
This dependency was incorrect from the beginning because i.MX93 uses a
different power domain architecture compared to i.MX8M series:
- i.MX8M uses GPCv2 (General Power Controller v2) for power domain
management, hence IMX8M_BLK_CTRL correctly depends on it.
- i.MX93 uses BLK_CTRL directly without GPCv2. The hardware doesn't
have GPCv2 at all.
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Ulf Hansson <ulfh@kernel.org>
| -rw-r--r-- | drivers/pmdomain/imx/Kconfig | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/pmdomain/imx/Kconfig b/drivers/pmdomain/imx/Kconfig index 00203615c65e..9168d183b0c5 100644 --- a/drivers/pmdomain/imx/Kconfig +++ b/drivers/pmdomain/imx/Kconfig @@ -10,15 +10,18 @@ config IMX_GPCV2_PM_DOMAINS default y if SOC_IMX7D config IMX8M_BLK_CTRL - bool - default SOC_IMX8M && IMX_GPCV2_PM_DOMAINS + tristate "i.MX8M BLK CTRL driver" + depends on SOC_IMX8M + depends on IMX_GPCV2_PM_DOMAINS depends on PM_GENERIC_DOMAINS depends on COMMON_CLK + default y config IMX9_BLK_CTRL - bool - default SOC_IMX9 && IMX_GPCV2_PM_DOMAINS + tristate "i.MX93 BLK CTRL driver" + depends on SOC_IMX9 depends on PM_GENERIC_DOMAINS + default y config IMX_SCU_PD bool "IMX SCU Power Domain driver" |
