[PATCH v2 12/14] pinctrl: qcom: add SPL support for Qualcomm pinctrl drivers
Balaji Selvanathan
balaji.selvanathan at oss.qualcomm.com
Sat Jun 6 12:18:43 CEST 2026
Add SPL_PINCTRL_QCOM and SPL_PINCTRL_QCOM_GENERIC Kconfig symbols,
along with per-SoC SPL_PINCTRL_QCOM_<SOC> entries for all existing
Qualcomm pinctrl drivers. Update the Makefile to use the $(PHASE_)
macro so pinctrl objects build for both SPL and non-SPL phases.
Signed-off-by: Balaji Selvanathan <balaji.selvanathan at oss.qualcomm.com>
---
Changes in v2:
- Newly added in v2
---
---
drivers/pinctrl/qcom/Kconfig | 201 ++++++++++++++++++++++++++++++++++++++++--
drivers/pinctrl/qcom/Makefile | 46 +++++-----
2 files changed, 219 insertions(+), 28 deletions(-)
diff --git a/drivers/pinctrl/qcom/Kconfig b/drivers/pinctrl/qcom/Kconfig
index 11e6763b5f3..24618b21b7e 100644
--- a/drivers/pinctrl/qcom/Kconfig
+++ b/drivers/pinctrl/qcom/Kconfig
@@ -4,6 +4,10 @@ config PINCTRL_QCOM
depends on PINCTRL_GENERIC
def_bool n
+config SPL_PINCTRL_QCOM
+ depends on SPL_PINCTRL_GENERIC
+ def_bool n
+
menu "Qualcomm pinctrl drivers"
config PINCTRL_QCOM_GENERIC
@@ -14,6 +18,16 @@ config PINCTRL_QCOM_GENERIC
This is useful for generic Qualcomm defconfigs that support
multiple SoCs. Individual drivers can still be disabled if needed.
+config SPL_PINCTRL_QCOM_GENERIC
+ bool "Enable all Qualcomm pinctrl drivers in SPL by default"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_GENERIC.
+ Say Y here to enable all Qualcomm pinctrl drivers in SPL by default.
+ This is useful for generic Qualcomm SPL defconfigs that support
+ multiple SoCs. Individual SPL drivers can still be disabled if needed.
+
config PINCTRL_QCOM_APQ8016
bool "Qualcomm APQ8016 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -22,6 +36,14 @@ config PINCTRL_QCOM_APQ8016
Say Y here to enable support for pinctrl on the MSM8916 / APQ8016
Snapdragon 410 SoC, as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_APQ8016
+ bool "Qualcomm APQ8016 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_APQ8016.
+ See the help of PINCTRL_QCOM_APQ8016 for details.
+
config PINCTRL_QCOM_APQ8096
bool "Qualcomm APQ8096 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -30,6 +52,14 @@ config PINCTRL_QCOM_APQ8096
Say Y here to enable support for pinctrl on the MSM8996 / APQ8096
Snapdragon 820 SoC, as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_APQ8096
+ bool "Qualcomm APQ8096 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_APQ8096.
+ See the help of PINCTRL_QCOM_APQ8096 for details.
+
config PINCTRL_QCOM_IPQ4019
bool "Qualcomm IPQ4019 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -38,6 +68,14 @@ config PINCTRL_QCOM_IPQ4019
Say Y here to enable support for pinctrl on the IPQ4019 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_IPQ4019
+ bool "Qualcomm IPQ4019 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_IPQ4019.
+ See the help of PINCTRL_QCOM_IPQ4019 for details.
+
config PINCTRL_QCOM_IPQ5424
bool "Qualcomm IPQ5424 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -46,6 +84,14 @@ config PINCTRL_QCOM_IPQ5424
Say Y here to enable support for pinctrl on the IPQ5424 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_IPQ5424
+ bool "Qualcomm IPQ5424 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_IPQ5424.
+ See the help of PINCTRL_QCOM_IPQ5424 for details.
+
config PINCTRL_QCOM_IPQ9574
bool "Qualcomm IPQ9574 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -54,6 +100,14 @@ config PINCTRL_QCOM_IPQ9574
Say Y here to enable support for pinctrl on the IPQ9574 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_IPQ9574
+ bool "Qualcomm IPQ9574 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_IPQ9574.
+ See the help of PINCTRL_QCOM_IPQ9574 for details.
+
config PINCTRL_QCOM_MILOS
bool "Qualcomm Milos Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -62,6 +116,14 @@ config PINCTRL_QCOM_MILOS
Say Y here to enable support for pinctrl on the Snapdragon Milos SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_MILOS
+ bool "Qualcomm Milos Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_MILOS.
+ See the help of PINCTRL_QCOM_MILOS for details.
+
config PINCTRL_QCOM_QCM2290
bool "Qualcomm QCM2290 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -70,6 +132,14 @@ config PINCTRL_QCOM_QCM2290
Say Y here to enable support for pinctrl on the Snapdragon QCM2290 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_QCM2290
+ bool "Qualcomm QCM2290 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_QCM2290.
+ See the help of PINCTRL_QCOM_QCM2290 for details.
+
config PINCTRL_QCOM_QCS404
bool "Qualcomm QCS404 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -78,13 +148,29 @@ config PINCTRL_QCOM_QCS404
Say Y here to enable support for pinctrl on the Snapdragon QCS404 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_QCS404
+ bool "Qualcomm QCS404 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_QCS404.
+ See the help of PINCTRL_QCOM_QCS404 for details.
+
config PINCTRL_QCOM_QCS615
- bool "Qualcomm QCS615 Pinctrl"
+ bool "Qualcomm QCS615 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
- select PINCTRL_QCOM
- help
- Say Y here to enable support for pinctrl on the Snapdragon QCS615 SoC,
- as well as the associated GPIO driver.
+ select PINCTRL_QCOM
+ help
+ Say Y here to enable support for pinctrl on the Snapdragon QCS615 SoC,
+ as well as the associated GPIO driver.
+
+config SPL_PINCTRL_QCOM_QCS615
+ bool "Qualcomm QCS615 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_QCS615.
+ See the help of PINCTRL_QCOM_QCS615 for details.
config PINCTRL_QCOM_SA8775P
bool "Qualcomm SA8775P Pinctrl"
@@ -94,6 +180,14 @@ config PINCTRL_QCOM_SA8775P
Say Y here to enable support for pinctrl on the Snapdragon SA8775P SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SA8775P
+ bool "Qualcomm SA8775P Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SA8775P.
+ See the help of PINCTRL_QCOM_SA8775P for details.
+
config PINCTRL_QCOM_SC7280
bool "Qualcomm SC7280/QCM6490 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -101,6 +195,14 @@ config PINCTRL_QCOM_SC7280
help
Say Y here to enable support for pinctrl on the Snapdragon SC7280 SoC,
+config SPL_PINCTRL_QCOM_SC7280
+ bool "Qualcomm SC7280/QCM6490 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SC7280.
+ See the help of PINCTRL_QCOM_SC7280 for details.
+
config PINCTRL_QCOM_SDM670
bool "Qualcomm SDM670 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -109,6 +211,14 @@ config PINCTRL_QCOM_SDM670
Say Y here to enable support for pinctrl on the Snapdragon SDM670 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SDM670
+ bool "Qualcomm SDM670 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SDM670.
+ See the help of PINCTRL_QCOM_SDM670 for details.
+
config PINCTRL_QCOM_SDM660
bool "Qualcomm SDM630/660 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -117,6 +227,14 @@ config PINCTRL_QCOM_SDM660
Say Y here to enable support for pinctrl on the Snapdragon 630/636/660
SoCs, as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SDM660
+ bool "Qualcomm SDM630/660 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SDM660.
+ See the help of PINCTRL_QCOM_SDM660 for details.
+
config PINCTRL_QCOM_SDM845
bool "Qualcomm SDM845 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -125,6 +243,14 @@ config PINCTRL_QCOM_SDM845
Say Y here to enable support for pinctrl on the Snapdragon 845 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SDM845
+ bool "Qualcomm SDM845 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SDM845.
+ See the help of PINCTRL_QCOM_SDM845 for details.
+
config PINCTRL_QCOM_SM6115
bool "Qualcomm SM6115 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -133,6 +259,14 @@ config PINCTRL_QCOM_SM6115
Say Y here to enable support for pinctrl on the Snapdragon SM6115 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SM6115
+ bool "Qualcomm SM6115 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SM6115.
+ See the help of PINCTRL_QCOM_SM6115 for details.
+
config PINCTRL_QCOM_SM6350
bool "Qualcomm SM6350 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -140,6 +274,14 @@ config PINCTRL_QCOM_SM6350
help
Say Y here to enable support for pinctrl on the Snapdragon SM6350 SoC,
+config SPL_PINCTRL_QCOM_SM6350
+ bool "Qualcomm SM6350 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SM6350.
+ See the help of PINCTRL_QCOM_SM6350 for details.
+
config PINCTRL_QCOM_SM7150
bool "Qualcomm SM7150 GCC"
default y if PINCTRL_QCOM_GENERIC
@@ -148,6 +290,14 @@ config PINCTRL_QCOM_SM7150
Say Y here to enable support for pinctrl on the Snapdragon SM7150 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SM7150
+ bool "Qualcomm SM7150 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SM7150.
+ See the help of PINCTRL_QCOM_SM7150 for details.
+
config PINCTRL_QCOM_SM8150
bool "Qualcomm SM8150 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -156,6 +306,14 @@ config PINCTRL_QCOM_SM8150
Say Y here to enable support for pinctrl on the Snapdragon SM8150 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SM8150
+ bool "Qualcomm SM8150 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SM8150.
+ See the help of PINCTRL_QCOM_SM8150 for details.
+
config PINCTRL_QCOM_SM8250
bool "Qualcomm SM8250 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -164,6 +322,14 @@ config PINCTRL_QCOM_SM8250
Say Y here to enable support for pinctrl on the Snapdragon SM8250 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SM8250
+ bool "Qualcomm SM8250 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SM8250.
+ See the help of PINCTRL_QCOM_SM8250 for details.
+
config PINCTRL_QCOM_SM8550
bool "Qualcomm SM8550 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -172,6 +338,14 @@ config PINCTRL_QCOM_SM8550
Say Y here to enable support for pinctrl on the Snapdragon SM8550 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SM8550
+ bool "Qualcomm SM8550 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SM8550.
+ See the help of PINCTRL_QCOM_SM8550 for details.
+
config PINCTRL_QCOM_SM8650
bool "Qualcomm SM8650 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -180,6 +354,14 @@ config PINCTRL_QCOM_SM8650
Say Y here to enable support for pinctrl on the Snapdragon SM8650 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_SM8650
+ bool "Qualcomm SM8650 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_SM8650.
+ See the help of PINCTRL_QCOM_SM8650 for details.
+
config PINCTRL_QCOM_X1E80100
bool "Qualcomm X1E80100 Pinctrl"
default y if PINCTRL_QCOM_GENERIC
@@ -188,6 +370,15 @@ config PINCTRL_QCOM_X1E80100
Say Y here to enable support for pinctrl on the Snapdragon X1E80100 SoC,
as well as the associated GPIO driver.
+config SPL_PINCTRL_QCOM_X1E80100
+ bool "Qualcomm X1E80100 Pinctrl in SPL"
+ depends on SPL_PINCTRL_GENERIC
+ select SPL_PINCTRL_QCOM
+ help
+ SPL variant of PINCTRL_QCOM_X1E80100.
+ See the help of PINCTRL_QCOM_X1E80100 for details.
+
endmenu
endif
+
diff --git a/drivers/pinctrl/qcom/Makefile b/drivers/pinctrl/qcom/Makefile
index 4096c1aa491..058395695e2 100644
--- a/drivers/pinctrl/qcom/Makefile
+++ b/drivers/pinctrl/qcom/Makefile
@@ -2,26 +2,26 @@
#
# Copyright (c) 2023 Linaro Ltd.
-obj-$(CONFIG_PINCTRL_QCOM) += pinctrl-qcom.o
-obj-$(CONFIG_PINCTRL_QCOM_APQ8016) += pinctrl-apq8016.o
-obj-$(CONFIG_PINCTRL_QCOM_IPQ4019) += pinctrl-ipq4019.o
-obj-$(CONFIG_PINCTRL_QCOM_IPQ5424) += pinctrl-ipq5424.o
-obj-$(CONFIG_PINCTRL_QCOM_IPQ9574) += pinctrl-ipq9574.o
-obj-$(CONFIG_PINCTRL_QCOM_APQ8096) += pinctrl-apq8096.o
-obj-$(CONFIG_PINCTRL_QCOM_MILOS) += pinctrl-milos.o
-obj-$(CONFIG_PINCTRL_QCOM_QCM2290) += pinctrl-qcm2290.o
-obj-$(CONFIG_PINCTRL_QCOM_QCS404) += pinctrl-qcs404.o
-obj-$(CONFIG_PINCTRL_QCOM_QCS615) += pinctrl-qcs615.o
-obj-$(CONFIG_PINCTRL_QCOM_SA8775P) += pinctrl-sa8775p.o
-obj-$(CONFIG_PINCTRL_QCOM_SC7280) += pinctrl-sc7280.o
-obj-$(CONFIG_PINCTRL_QCOM_SDM660) += pinctrl-sdm660.o
-obj-$(CONFIG_PINCTRL_QCOM_SDM670) += pinctrl-sdm670.o
-obj-$(CONFIG_PINCTRL_QCOM_SDM845) += pinctrl-sdm845.o
-obj-$(CONFIG_PINCTRL_QCOM_SM6115) += pinctrl-sm6115.o
-obj-$(CONFIG_PINCTRL_QCOM_SM6350) += pinctrl-sm6350.o
-obj-$(CONFIG_PINCTRL_QCOM_SM7150) += pinctrl-sm7150.o
-obj-$(CONFIG_PINCTRL_QCOM_SM8150) += pinctrl-sm8150.o
-obj-$(CONFIG_PINCTRL_QCOM_SM8250) += pinctrl-sm8250.o
-obj-$(CONFIG_PINCTRL_QCOM_SM8550) += pinctrl-sm8550.o
-obj-$(CONFIG_PINCTRL_QCOM_SM8650) += pinctrl-sm8650.o
-obj-$(CONFIG_PINCTRL_QCOM_X1E80100) += pinctrl-x1e80100.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM) += pinctrl-qcom.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_APQ8016) += pinctrl-apq8016.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_IPQ4019) += pinctrl-ipq4019.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_IPQ5424) += pinctrl-ipq5424.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_IPQ9574) += pinctrl-ipq9574.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_APQ8096) += pinctrl-apq8096.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_MILOS) += pinctrl-milos.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_QCM2290) += pinctrl-qcm2290.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_QCS404) += pinctrl-qcs404.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_QCS615) += pinctrl-qcs615.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SA8775P) += pinctrl-sa8775p.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SC7280) += pinctrl-sc7280.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SDM660) += pinctrl-sdm660.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SDM670) += pinctrl-sdm670.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SDM845) += pinctrl-sdm845.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SM6115) += pinctrl-sm6115.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SM6350) += pinctrl-sm6350.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SM7150) += pinctrl-sm7150.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SM8150) += pinctrl-sm8150.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SM8250) += pinctrl-sm8250.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SM8550) += pinctrl-sm8550.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_SM8650) += pinctrl-sm8650.o
+obj-$(CONFIG_$(PHASE_)PINCTRL_QCOM_X1E80100) += pinctrl-x1e80100.o
--
2.34.1
More information about the U-Boot
mailing list