From ce2bf9837092be587050697a4d64ee43a1ead2f2 Mon Sep 17 00:00:00 2001 From: Zhipeng Wang Date: Mon, 20 Apr 2026 11:22:54 +0900 Subject: 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 Reviewed-by: Frank Li Signed-off-by: Ulf Hansson --- drivers/pmdomain/imx/Kconfig | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'drivers/pmdomain') 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" -- cgit v1.2.3