# Kconfig.cc32xx- CC32XX GPIO configuration options
#

menuconfig GPIO_CC32XX
	bool "TI CC32XX GPIO driver"
	depends on GPIO && SOC_FAMILY_TISIMPLELINK
	help
	  Enable the GPIO driver on TI SimpleLink CC32xx boards

if GPIO_CC32XX

config GPIO_CC32XX_A0
	bool "GPIO block A0"
	depends on GPIO_CC32XX
	help
	  Include support for the GPIO port A0.

config GPIO_CC32XX_A0_NAME
	string "Driver name"
	depends on GPIO_CC32XX_A0
	default "GPIO_A0"

config GPIO_CC32XX_A0_IRQ_PRI
	int "GPIO A0 interrupt priority"
	depends on GPIO_CC32XX_A0
	range 0 5
	default 1
	help
	  CC32XX GPIO A0 IRQ priority.

config GPIO_CC32XX_A1
	bool "GPIO block A1"
	depends on GPIO_CC32XX
	help
	  Include support for the GPIO port A1.

config GPIO_CC32XX_A1_NAME
	string "Driver name"
	depends on GPIO_CC32XX_A1
	default "GPIO_A1"

config GPIO_CC32XX_A1_IRQ_PRI
	int "GPIO A1 interrupt priority"
	depends on GPIO_CC32XX_A1
	range 0 5
	default 1
	help
	  CC32XX GPIO A1 IRQ priority.

config GPIO_CC32XX_A2
	bool "GPIO block A2"
	depends on GPIO_CC32XX
	help
	  Include support for the GPIO port A2.

config GPIO_CC32XX_A2_NAME
	string "Driver name"
	depends on GPIO_CC32XX_A2
	default "GPIO_A2"

config GPIO_CC32XX_A2_IRQ_PRI
	int "GPIO A2 interrupt priority"
	depends on GPIO_CC32XX_A2
	range 0 5
	default 1
	help
	  CC32XX GPIO A2 IRQ priority.

config GPIO_CC32XX_A3
	bool "GPIO block A3"
	depends on GPIO_CC32XX
	help
	  Include support for the GPIO port A3.

config GPIO_CC32XX_A3_NAME
	string "Driver name"
	depends on GPIO_CC32XX_A3
	default "GPIO_A3"

config GPIO_CC32XX_A3_IRQ_PRI
	int "GPIO A3 interrupt priority"
	depends on GPIO_CC32XX_A3
	range 0 5
	default 1
	help
	  CC32XX GPIO A3 IRQ priority.

endif # GPIO_CC32XX
