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

menuconfig AMLOGIC_PINCTRL_MESON
	bool "Amlogic SoC pinctrl drivers"
	depends on OF
	depends on PINMUX
	depends on PINCONF
	depends on GENERIC_PINCONF
	depends on GPIOLIB
	depends on OF_GPIO
	depends on REGMAP_MMIO

if AMLOGIC_PINCTRL_MESON
config AMLOGIC_PINCTRL_MESON_S4
	tristate "Meson s4 Soc pinctrl driver"
	default n
	help
	  the chip of s4 will be built
	  when enable this config.
	  s4 pinctrl can work.
	  otherwise s4 pinctrl can't work

config AMLOGIC_PINCTRL_MESON_C2
	tristate "Meson c2 Soc pinctrl driver"
	default n
	help
	  the chip of c2 will be built
	  when enable this config.
	  c2 pinctrl can work.
	  otherwise c2 pinctrl can't work

config AMLOGIC_PINCTRL_MESON_C3
	tristate "Meson C3 Soc pinctrl driver"
	default n
	help
	  the chip of C3 will be built
	  when enable this config.
	  C3 pinctrl can work.
	  otherwise C3 pinctrl can't work

config AMLOGIC_PINCTRL_MESON_A1
	tristate "Meson A1 Soc pinctrl driver"
	default n
	help
	  the chip of A1 will be built
	  when enable this config.
	  A1 pinctrl can work.
	  otherwise A1 pinctrl can't work

config AMLOGIC_PINCTRL_MESON_SC2
	tristate "Meson SC2 Soc pinctrl driver"
	default n
	help
	  the chip of SC2 will be built
	  when enable this config.
	  SC2 pinctrl can work.
	  otherwise SC2 pinctrl can't work

config AMLOGIC_PINCTRL_MESON_T3
	tristate "Meson T3 Soc pinctrl driver"
	default n
	help
	  the chip of T3 will be built
	  when enable this config.
	  T3 pinctrl can work.
	  otherwise T3 pinctrl can't work

config AMLOGIC_PINCTRL_MESON_T7
	tristate "Meson T7 Soc pinctrl driver"
	default n
	help
	  the chip of T7 will be built
	  when enable this config.
	  T7 pinctrl can work.
	  otherwise T7 pinctrl can't work

config AMLOGIC_PINCTRL_MESON_T5M
	tristate "Meson T5M Soc pinctrl driver"
	default n
	help
	  the chip of T5M will be built
	  when enable this config.
	  T5M pinctrl can work.
	  otherwise T5M pinctrl can't work

config AMLOGIC_PINCTRL_MESON_G12A
	tristate "Meson G12A Soc pinctrl driver"
	default n
	help
	  the chip of G12A will be built
	  when enable this config.
	  G12A pinctrl can work.
	  otherwise G12A pinctrl can't work

config AMLOGIC_PINCTRL_MESON_S5
	tristate "Meson S5 Soc pinctrl driver"
	default n
	help
	  the chip of S5 will be built
	  when enable this config.
	  S5 pinctrl can work.
	  otherwise S5 pinctrl can't work

config AMLOGIC_PINCTRL_MESON_T5W
	tristate "Meson T5W Soc pinctrl driver"
	default n
	help
	  the chip of T5W will be built
	  when enable this config.
	  T5M pinctrl can work.
	  otherwise T5W pinctrl can't work
endif
