# SPDX-License-Identifier: GPL-2.0-only
if PINCTRL_MSM

config PINCTRL_APQ8064
	tristate "Qualcomm APQ8064 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm APQ8064 platform.

config PINCTRL_APQ8084
	tristate "Qualcomm APQ8084 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm APQ8084 platform.

config PINCTRL_GLYMUR
	tristate "Qualcomm Technologies Inc Glymur pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc Top Level Mode Multiplexer block (TLMM)
	  block found on the Qualcomm Technologies Inc Glymur platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_IPQ4019
	tristate "Qualcomm IPQ4019 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm IPQ4019 platform.

config PINCTRL_IPQ5018
	tristate "Qualcomm Technologies, Inc. IPQ5018 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
	  the Qualcomm Technologies Inc. TLMM block found on the
	  Qualcomm Technologies Inc. IPQ5018 platform. Select this for
	  IPQ5018.

config PINCTRL_IPQ8064
	tristate "Qualcomm IPQ8064 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.

config PINCTRL_IPQ5332
	tristate "Qualcomm Technologies Inc IPQ5332 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc IPQ5332 platform.

config PINCTRL_IPQ5424
	tristate "Qualcomm Technologies, Inc. IPQ5424 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
          the Qualcomm Technologies Inc. TLMM block found on the
          Qualcomm Technologies Inc. IPQ5424 platform. Select this for
          IPQ5424.

config PINCTRL_IPQ8074
	tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
	  the Qualcomm Technologies Inc. TLMM block found on the
	  Qualcomm Technologies Inc. IPQ8074 platform. Select this for
	  IPQ8074.

config PINCTRL_IPQ6018
	tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
	  the Qualcomm Technologies Inc. TLMM block found on the
	  Qualcomm Technologies Inc. IPQ6018 platform. Select this for
	  IPQ6018.

config PINCTRL_IPQ9574
	tristate "Qualcomm Technologies, Inc. IPQ9574 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
          the Qualcomm Technologies Inc. TLMM block found on the
          Qualcomm Technologies Inc. IPQ9574 platform. Select this for
          IPQ9574.

config PINCTRL_KAANAPALI
	tristate "Qualcomm Technologies Inc Kaanapali pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc Kaanapali platform.

config PINCTRL_MSM8226
	tristate "Qualcomm 8226 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc MSM8226 platform.

config PINCTRL_MSM8660
	tristate "Qualcomm 8660 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm 8660 platform.

config PINCTRL_MSM8960
	tristate "Qualcomm 8960 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm 8960 platform.

config PINCTRL_MDM9607
	tristate "Qualcomm 9607 pin controller driver"
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm 9607 platform.

config PINCTRL_MDM9615
	tristate "Qualcomm 9615 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm 9615 platform.

config PINCTRL_MSM8X74
	tristate "Qualcomm 8x74 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm 8974 platform.

config PINCTRL_MSM8909
	tristate "Qualcomm 8909 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found on the Qualcomm MSM8909 platform.

config PINCTRL_MSM8916
	tristate "Qualcomm 8916 pin controller driver"
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found on the Qualcomm 8916 platform.

config PINCTRL_MSM8917
	tristate "Qualcomm 8917/8937 pin controller driver"
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found on the Qualcomm MSM8917, MSM8937 platform.

config PINCTRL_MSM8953
	tristate "Qualcomm 8953 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found on the Qualcomm MSM8953 platform.
	  The Qualcomm APQ8053, SDM450, SDM632 platforms are also
	  supported by this driver.

config PINCTRL_MSM8976
	tristate "Qualcomm 8976 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found on the Qualcomm MSM8976 platform.
	  The Qualcomm MSM8956, APQ8056, APQ8076 platforms are also
	  supported by this driver.

config PINCTRL_MSM8994
	tristate "Qualcomm 8994 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm 8994 platform. The
	  Qualcomm 8992 platform is also supported by this driver.

config PINCTRL_MSM8996
	tristate "Qualcomm MSM8996 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm MSM8996 platform.

config PINCTRL_MSM8998
	tristate "Qualcomm MSM8998 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm MSM8998 platform.

config PINCTRL_QCM2290
	tristate "Qualcomm QCM2290 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  TLMM block found in the Qualcomm QCM2290 platform.

config PINCTRL_QCS404
	tristate "Qualcomm QCS404 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  TLMM block found in the Qualcomm QCS404 platform.

config PINCTRL_QCS615
	tristate "Qualcomm Technologies QCS615 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  TLMM block found on the Qualcomm QCS615 platform.

config PINCTRL_QCS8300
	tristate "Qualcomm Technologies QCS8300 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux and pinconf driver for the Qualcomm
	  TLMM block found on the Qualcomm QCS8300 platform.

config PINCTRL_QDF2XXX
	tristate "Qualcomm Technologies QDF2xxx pin controller driver"
	depends on ACPI
	help
	  This is the GPIO driver for the TLMM block found on the
	  Qualcomm Technologies QDF2xxx SOCs.

config PINCTRL_QDU1000
	tristate "Qualcomm Technologies Inc QDU1000/QRU1000 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf, and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc QDU1000 and QRU1000 platforms.

config PINCTRL_SA8775P
	tristate "Qualcomm Technologies Inc SA8775P pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux and pinconf driver for the Qualcomm
	  TLMM block found on the Qualcomm SA8775P platforms.

config PINCTRL_SAR2130P
	tristate "Qualcomm Technologies Inc SAR2130P pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SAR2130P platform.

config PINCTRL_SC7180
	tristate "Qualcomm Technologies Inc SC7180 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SC7180 platform.

config PINCTRL_SC7280
	tristate "Qualcomm Technologies Inc SC7280 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SC7280 platform.

config PINCTRL_SC8180X
	tristate "Qualcomm Technologies Inc SC8180x pin controller driver"
	depends on (OF || ACPI)
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SC8180x platform.

config PINCTRL_SC8280XP
	tristate "Qualcomm Technologies Inc SC8280xp pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SC8280xp platform.

config PINCTRL_SDM660
	tristate "Qualcomm Technologies Inc SDM660 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SDM660 platform.

config PINCTRL_SDM670
	tristate "Qualcomm Technologies Inc SDM670 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SDM670 platform.

config PINCTRL_SDM845
	tristate "Qualcomm Technologies Inc SDM845 pin controller driver"
	depends on (OF || ACPI)
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SDM845 platform.

config PINCTRL_SDX55
	tristate "Qualcomm Technologies Inc SDX55 pin controller driver"
	depends on ARM || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SDX55 platform.

config PINCTRL_SDX65
        tristate "Qualcomm Technologies Inc SDX65 pin controller driver"
        depends on ARM || COMPILE_TEST
        help
         This is the pinctrl, pinmux, pinconf and gpiolib driver for the
         Qualcomm Technologies Inc TLMM block found on the Qualcomm
         Technologies Inc SDX65 platform.

config PINCTRL_SDX75
        tristate "Qualcomm Technologies Inc SDX75 pin controller driver"
        depends on ARM64 || COMPILE_TEST
        help
         This is the pinctrl, pinmux, pinconf and gpiolib driver for the
         Qualcomm Technologies Inc TLMM block found on the Qualcomm
         Technologies Inc SDX75 platform.

config PINCTRL_SM4450
	tristate "Qualcomm Technologies Inc SM4450 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SM4450 platform.

config PINCTRL_SM6115
	tristate "Qualcomm Technologies Inc SM6115,SM4250 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SM6115 and SM4250 platforms.

config PINCTRL_SM6125
	tristate "Qualcomm Technologies Inc SM6125 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SM6125 platform.

config PINCTRL_SM6350
	tristate "Qualcomm Technologies Inc SM6350 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SM6350 platform.

config PINCTRL_SM6375
	tristate "Qualcomm Technologies Inc SM6375 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SM6375 platform.

config PINCTRL_SM7150
	tristate "Qualcomm Technologies Inc SM7150 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SM7150 platform.

config PINCTRL_MILOS
	tristate "Qualcomm Technologies Inc Milos pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc Milos platform.

config PINCTRL_SM8150
	tristate "Qualcomm Technologies Inc SM8150 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SM8150 platform.

config PINCTRL_SM8250
	tristate "Qualcomm Technologies Inc SM8250 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SM8250 platform.

config PINCTRL_SM8350
	tristate "Qualcomm Technologies Inc SM8350 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SM8350 platform.

config PINCTRL_SM8450
	tristate "Qualcomm Technologies Inc SM8450 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SM8450 platform.

config PINCTRL_SM8550
	tristate "Qualcomm Technologies Inc SM8550 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SM8550 platform.

config PINCTRL_SM8650
	tristate "Qualcomm Technologies Inc SM8650 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SM8650 platform.

config PINCTRL_SM8750
	tristate "Qualcomm Technologies Inc SM8750 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc SM8750 platform.

config PINCTRL_X1E80100
	tristate "Qualcomm Technologies Inc X1E80100 pin controller driver"
	depends on ARM64 || COMPILE_TEST
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc Top Level Mode Multiplexer block (TLMM)
	  block found on the Qualcomm Technologies Inc X1E80100 platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_TLMM_TEST
	tristate "Qualcomm TLMM test driver"
	depends on ARM64 || COMPILE_TEST
	depends on KUNIT
	help
	  This driver provides test cases for the interrupt capabilities of
	  TLMM driver (pinctrl-msm). Specify a floating gpio to use for testing
	  using the module parameter "gpio" and execute the kunit suite.
	  If unsure, say N.

endif
