# Gecko GPIO configuration options

# Copyright (c) 2017 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0

menuconfig GPIO_GECKO
	bool "Gecko GPIO driver"
	depends on HAS_SILABS_GECKO
	select HAS_DTS_GPIO
	select SOC_GECKO_GPIO
	help
	  Enable the Gecko gpio driver.

if GPIO_GECKO

config GPIO_GECKO_COMMON_INIT_PRIORITY
	int "Common initialization priority"
	default 39

config GPIO_GECKO_PORTA
	bool "Port A"
	help
	  Enable Port A.

config GPIO_GECKO_PORTB
	bool "Port B"
	help
	  Enable Port B.

config GPIO_GECKO_PORTC
	bool "Port C"
	help
	  Enable Port C.

config GPIO_GECKO_PORTD
	bool "Port D"
	help
	  Enable Port D.

config GPIO_GECKO_PORTE
	bool "Port E"
	help
	  Enable Port E.

config GPIO_GECKO_PORTF
	bool "Port F"
	help
	  Enable Port F.

endif # GPIO_GECKO
