# Kconfig.nrf5 - Nordic Semiconductor nRF5X GPIO configuration options
#
# Copyright (c) 2016 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig GPIO_NRF5
	bool "Nordic Semiconductor nRF5X-based GPIO driver"
	depends on GPIO && SOC_FAMILY_NRF5
	default n
	help
	  Enable GPIO driver for nRF5 line of MCUs.

if GPIO_NRF5

config GPIO_NRF5_P0
	bool "nRF5x GPIO Port P0 options"
	default n
	help
	  Enable nRF5 GPIO port P0 config options.

config GPIO_NRF5_P0_DEV_NAME
	string "GPIO Port P0 Device Name"
	depends on GPIO_NRF5_P0
	default "GPIO_0"
	help
	  Specify the device name to be used for the GPIO port.

config GPIO_NRF5_PORT_P0_PRI
	int "GPIOTE P0 interrupt priority"
	depends on GPIO_NRF5_P0
	range 0 1 if SOC_SERIES_NRF51X
	range 0 5 if SOC_SERIES_NRF52X
	default 1
	help
	  nRF5X Port P0 IRQ priority.

endif # GPIO_NRF5
