Commit 17d21001 authored by Esben Haabendal's avatar Esben Haabendal Committed by Linus Walleij
Browse files

ARM: imx: Allow user to disable pinctrl



Making pinctrl drivers and subsequently the pinctrl framework
user-controllable, allows building a kernel without this.
While in many (most) cases, this could make the system unbootable, it
does allow building smaller kernels for those situations where picntrl
is not needed.

One such situation is when building a kernel for NXP LS1021A systems,
which does not have run-time controllable pinctrl, so pinctrl framework
and drivers are 100% dead-weight.

Signed-off-by: default avatarEsben Haabendal <esben@geanix.com>
Acked-by: default avatarShawn Guo <shawnguo@kernel.org>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/20240506-imx-pinctrl-optional-v2-1-bdff75085156@geanix.com


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 88dbf374
Loading
Loading
Loading
Loading
+0 −16
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@ menuconfig ARCH_MXC
	select CLKSRC_IMX_GPT
	select GENERIC_IRQ_CHIP
	select GPIOLIB
	select PINCTRL
	select PM_OPP if PM
	select SOC_BUS
	select SRAM
@@ -49,7 +48,6 @@ config SOC_IMX31
config SOC_IMX35
	bool "i.MX35 support"
	select MXC_AVIC
	select PINCTRL_IMX35
	help
	  This enables support for Freescale i.MX35 processor

@@ -61,7 +59,6 @@ config SOC_IMX1
	bool "i.MX1 support"
	select CPU_ARM920T
	select MXC_AVIC
	select PINCTRL_IMX1
	help
	  This enables support for Freescale i.MX1 processor

@@ -73,7 +70,6 @@ config SOC_IMX25
	bool "i.MX25 support"
	select CPU_ARM926T
	select MXC_AVIC
	select PINCTRL_IMX25
	help
	  This enables support for Freescale i.MX25 processor

@@ -81,7 +77,6 @@ config SOC_IMX27
	bool "i.MX27 support"
	select CPU_ARM926T
	select MXC_AVIC
	select PINCTRL_IMX27
	help
	  This enables support for Freescale i.MX27 processor

@@ -98,7 +93,6 @@ config SOC_IMX5

config SOC_IMX50
	bool "i.MX50 support"
	select PINCTRL_IMX50
	select SOC_IMX5

	help
@@ -106,14 +100,12 @@ config SOC_IMX50

config SOC_IMX51
	bool "i.MX51 support"
	select PINCTRL_IMX51
	select SOC_IMX5
	help
	  This enables support for Freescale i.MX51 processor

config SOC_IMX53
	bool "i.MX53 support"
	select PINCTRL_IMX53
	select SOC_IMX5

	help
@@ -137,7 +129,6 @@ config SOC_IMX6Q
	select ARM_ERRATA_775420
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD
	select PINCTRL_IMX6Q
	select SOC_IMX6

	help
@@ -147,7 +138,6 @@ config SOC_IMX6SL
	bool "i.MX6 SoloLite support"
	select ARM_ERRATA_754322
	select ARM_ERRATA_775420
	select PINCTRL_IMX6SL
	select SOC_IMX6

	help
@@ -157,7 +147,6 @@ config SOC_IMX6SLL
	bool "i.MX6 SoloLiteLite support"
	select ARM_ERRATA_754322
	select ARM_ERRATA_775420
	select PINCTRL_IMX6SLL
	select SOC_IMX6

	help
@@ -167,7 +156,6 @@ config SOC_IMX6SX
	bool "i.MX6 SoloX support"
	select ARM_ERRATA_754322
	select ARM_ERRATA_775420
	select PINCTRL_IMX6SX
	select SOC_IMX6

	help
@@ -175,7 +163,6 @@ config SOC_IMX6SX

config SOC_IMX6UL
	bool "i.MX6 UltraLite support"
	select PINCTRL_IMX6UL
	select SOC_IMX6
	select ARM_ERRATA_814220

@@ -211,7 +198,6 @@ config SOC_IMX7D_CM4

config SOC_IMX7D
	bool "i.MX7 Dual support"
	select PINCTRL_IMX7D
	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
	select ARM_ERRATA_814220 if ARCH_MULTI_V7
@@ -221,7 +207,6 @@ config SOC_IMX7D
config SOC_IMX7ULP
	bool "i.MX7ULP support"
	select CLKSRC_IMX_TPM
	select PINCTRL_IMX7ULP
	select SOC_IMX7D_CA7 if ARCH_MULTI_V7
	select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
	help
@@ -237,7 +222,6 @@ config SOC_IMXRT
config SOC_VF610
	bool "Vybrid Family VF610 support"
	select ARM_GIC if ARCH_MULTI_V7
	select PINCTRL_VF610

	help
	  This enables support for Freescale Vybrid VF610 processor.
+15 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ config PINCTRL_IMX1_CORE
config PINCTRL_IMX1
	bool "IMX1 pinctrl driver"
	depends on SOC_IMX1
	default SOC_IMX1
	select PINCTRL_IMX1_CORE
	help
	  Say Y here to enable the imx1 pinctrl driver
@@ -38,6 +39,7 @@ config PINCTRL_IMX1
config PINCTRL_IMX27
	bool "IMX27 pinctrl driver"
	depends on SOC_IMX27
	default SOC_IMX27
	select PINCTRL_IMX1_CORE
	help
	  Say Y here to enable the imx27 pinctrl driver
@@ -47,6 +49,7 @@ config PINCTRL_IMX25
	bool "IMX25 pinctrl driver"
	depends on OF
	depends on SOC_IMX25
	default SOC_IMX25
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx25 pinctrl driver
@@ -54,6 +57,7 @@ config PINCTRL_IMX25
config PINCTRL_IMX35
	bool "IMX35 pinctrl driver"
	depends on SOC_IMX35
	default SOC_IMX35
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx35 pinctrl driver
@@ -61,6 +65,7 @@ config PINCTRL_IMX35
config PINCTRL_IMX50
	bool "IMX50 pinctrl driver"
	depends on SOC_IMX50
	default SOC_IMX50
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx50 pinctrl driver
@@ -68,6 +73,7 @@ config PINCTRL_IMX50
config PINCTRL_IMX51
	bool "IMX51 pinctrl driver"
	depends on SOC_IMX51
	default SOC_IMX51
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx51 pinctrl driver
@@ -75,6 +81,7 @@ config PINCTRL_IMX51
config PINCTRL_IMX53
	bool "IMX53 pinctrl driver"
	depends on SOC_IMX53
	default SOC_IMX53
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx53 pinctrl driver
@@ -82,6 +89,7 @@ config PINCTRL_IMX53
config PINCTRL_IMX6Q
	bool "IMX6Q/DL pinctrl driver"
	depends on SOC_IMX6Q
	default SOC_IMX6Q
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6q/dl pinctrl driver
@@ -89,6 +97,7 @@ config PINCTRL_IMX6Q
config PINCTRL_IMX6SL
	bool "IMX6SL pinctrl driver"
	depends on SOC_IMX6SL
	default SOC_IMX6SL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sl pinctrl driver
@@ -96,6 +105,7 @@ config PINCTRL_IMX6SL
config PINCTRL_IMX6SLL
	bool "IMX6SLL pinctrl driver"
	depends on SOC_IMX6SLL
	default SOC_IMX6SLL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sll pinctrl driver
@@ -103,6 +113,7 @@ config PINCTRL_IMX6SLL
config PINCTRL_IMX6SX
	bool "IMX6SX pinctrl driver"
	depends on SOC_IMX6SX
	default SOC_IMX6SX
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sx pinctrl driver
@@ -110,6 +121,7 @@ config PINCTRL_IMX6SX
config PINCTRL_IMX6UL
	bool "IMX6UL pinctrl driver"
	depends on SOC_IMX6UL
	default SOC_IMX6UL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6ul pinctrl driver
@@ -117,6 +129,7 @@ config PINCTRL_IMX6UL
config PINCTRL_IMX7D
	bool "IMX7D pinctrl driver"
	depends on SOC_IMX7D
	default SOC_IMX7D
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx7d pinctrl driver
@@ -124,6 +137,7 @@ config PINCTRL_IMX7D
config PINCTRL_IMX7ULP
	bool "IMX7ULP pinctrl driver"
	depends on SOC_IMX7ULP
	default SOC_IMX7ULP
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx7ulp pinctrl driver
@@ -212,6 +226,7 @@ config PINCTRL_IMX93
config PINCTRL_VF610
	bool "Freescale Vybrid VF610 pinctrl driver"
	depends on SOC_VF610
	default SOC_VF610
	select PINCTRL_IMX
	help
	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver