# SPDX-License-Identifier: GPL-2.0-only
if (ARCH_QCOM || COMPILE_TEST)

config PINCTRL_MSM
	tristate "Qualcomm core pin controller driver"
	depends on GPIOLIB
	select QCOM_SCM
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	select GPIOLIB_IRQCHIP
	select IRQ_DOMAIN_HIERARCHY
	select IRQ_FASTEOI_HIERARCHY_HANDLERS

config QCOM_PINCTRL
	tristate "Qualcomm Technologies Inc pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	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 platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_KALAMA
        tristate "Qualcomm Technologies Inc KALAMA pin controller driver"
        depends on GPIOLIB && OF
        select PINCTRL_MSM
        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 KALAMA platform.
          Say Y here to compile statically, or M here to compile it as a module.
          If unsure, say N.

config PINCTRL_KAKA
	tristate "Qualcomm Technologies Inc KAKA pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	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 KAKA platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_CROW
	tristate "Qualcomm Technologies Inc CROW pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	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 CROW platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_CINDER
        tristate "Qualcomm Technologies Inc CINDER pin controller driver"
        depends on GPIOLIB && OF
        select PINCTRL_MSM
        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 CINDER platform.
          Say Y here to compile statically, or M here to compile it as a module.
          If unsure, say N.

config PINCTRL_SDXPINN
		tristate "Qualcomm Technologies Inc SDXPINN pin controller driver"
		depends on GPIOLIB && OF
		select PINCTRL_MSM
		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 SDXPINN platform.
			Say Y here to compile statically, or M here to compile it as a module.
			If unsure, say N.

config PINCTRL_SCUBA_AUTO
	tristate "Qualcomm Technologies Inc SCUBA_AUTO pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	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 SCUBA_AUTO platform.
		Say Y here to compile statically, or M here to compile it as a module.
		If unsure, say N.

config PINCTRL_APQ8064
	tristate "Qualcomm APQ8064 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm APQ8084 platform.

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

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

config PINCTRL_IPQ8074
	tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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_MSM8226
	tristate "Qualcomm 8226 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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"
	depends on GPIOLIB && OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm 8974 platform.

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

config PINCTRL_MSM8953
	tristate "Qualcomm 8953 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm TLMM block found in the Qualcomm MSM8998 platform.

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

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

config PINCTRL_QCOM_SPMI_PMIC
	tristate "Qualcomm SPMI PMIC pin controller driver"
	depends on OF && SPMI
	select REGMAP_SPMI
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
  select GPIOLIB
	select GPIOLIB_IRQCHIP
	select IRQ_DOMAIN_HIERARCHY
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
	 which are using SPMI for communication with SoC. Example PMIC's
	 devices are pm8841, pm8941 and pma8084.

config PINCTRL_QCOM_SSBI_PMIC
	tristate "Qualcomm SSBI PMIC pin controller driver"
	depends on OF
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
  select GPIOLIB
	select GPIOLIB_IRQCHIP
	select IRQ_DOMAIN_HIERARCHY
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
	 which are using SSBI for communication with SoC. Example PMIC's
	 devices are pm8058 and pm8921.

config PINCTRL_SC7180
	tristate "Qualcomm Technologies Inc SC7180 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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 PINCTRL_MSM
	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_SDM660
	tristate "Qualcomm Technologies Inc SDM660 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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 GPIOLIB && OF
       select PINCTRL_MSM
       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.
         Say Y here to compile statically, or M here to compile it as a module.
         If unsure, say N.

config PINCTRL_SDM845
	tristate "Qualcomm Technologies Inc SDM845 pin controller driver"
	depends on (OF || ACPI)
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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_SM6115
	tristate "Qualcomm Technologies Inc SM6115,SM4250 pin controller driver"
	depends on GPIOLIB && OF
	depends on PINCTRL_MSM
	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 OF
	depends on PINCTRL_MSM
	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_SM8150
	tristate "Qualcomm Technologies Inc SM8150 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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_SM6150
	tristate "Qualcomm Technologies Inc SM6150 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	help
	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
	 Technologies Inc SM6150 platform.
	 Say N, if not sure.

config PINCTRL_SM8250
	tristate "Qualcomm Technologies Inc SM8250 pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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 PINCTRL_MSM
	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_SDMSHRIKE
	tristate "Qualcomm Technologies Inc SDMSHRIKE pin controller driver"
	depends on OF
	depends on PINCTRL_MSM
	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 SDMSHRIKE platform.
          Say Y here to compile statically, or M here to compile it as a module.
          If unsure, say N.

config PINCTRL_SLPI
	tristate "Qualcomm Technologies, Inc SLPI pin controller driver"
	depends on GPIOLIB && OF
	help
	  Sensor Low Power Island(SLPI) has a Pin controller which can support
	  14 pin configurations. This is the pinctrl, pinmux and  pinconf
	  driver for the SLPI pin controller block. Select Y if this driver
	  needs to be enabled or select N if unsure.

config PINCTRL_KHAJE
	tristate "Qualcomm Technologies, Inc KHAJE pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies, Inc. TLMM block found on the Qualcomm
	  Technologies, Inc. KHAJE platform.

config PINCTRL_BENGAL
	tristate "Qualcomm Technologies Inc BENGAL pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies, Inc. TLMM block found on the Qualcomm
	  Technologies, Inc. BENGAL platform.

config PINCTRL_SA410M
       tristate "Qualcomm Technologies Inc SA410M pin controller driver"
       depends on GPIOLIB && OF
       select PINCTRL_MSM
       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 SA410M platform.
         Say Y here to compile statically, or M here to compile it as a module.
         If unsure, say N.

config PINCTRL_MONACO
	tristate "Qualcomm Technologies, Inc MONACO pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
        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 MONACO platform.
          Say Y here to compile statically, or M here to compile it as a module.
          If unsure, say N.

config PINCTRL_KONA
	tristate "Qualcomm Technologies Inc KONA pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc KONA platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_TRINKET
	tristate "Qualcomm Technologies Inc TRINKET pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
	  Technologies Inc TRINKET platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_LPASS_LPI
	tristate "Qualcomm Technologies Inc LPASS LPI pin controller driver"
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	depends on GPIOLIB
	help
	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
	  (Low Power Island) found on the Qualcomm Technologies Inc SoCs.

config PINCTRL_SDXBAAGHA
	tristate "Qualcomm Technologies Inc SDXBAAGHA pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	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 SDXBAAGHA platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_LEMANS
	tristate "Qualcomm Technologies, Inc. LEMANS pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	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 QTI LEMANS platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_DIREWOLF
	tristate "Qualcomm Technologies, Inc. DIREWOLF pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	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 QTI LEMANS platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

config PINCTRL_MONACO_AUTO
	tristate "Qualcomm Technologies, Inc. MONACO_AUTO pin controller driver"
	depends on GPIOLIB && OF
	select PINCTRL_MSM
	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 QTI MONACO_AUTO platform.
	  Say Y here to compile statically, or M here to compile it as a module.
	  If unsure, say N.

endif
