zephyr/drivers/gpio/Kconfig.nrfx
Maureen Helm 836651b453 drivers: gpio: Refactor drivers to use shared init priority
Refactors all of the on-chip GPIO drivers to use a shared driver class
initialization priority configuration, CONFIG_GPIO_INIT_PRIORITY, to
allow configuring GPIO drivers separately from other devices. This is
similar to other driver classes like I2C and SPI.

Most drivers previously used CONFIG_KERNEL_INIT_PRIORITY_DEFAULT or
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, therefore the default for this new
option is the lower of the two, which means earlier initialization.

Driver-specific options for off-chip I2C- or SPI-based GPIO drivers are
left intact because they often need to be initialized at a different
priority than on-chip GPIO drivers.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2021-11-15 14:38:55 -05:00

43 lines
1.3 KiB
Plaintext

# Copyright (c) 2018 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
menuconfig GPIO_NRFX
bool "nRF GPIO driver"
default y
depends on SOC_FAMILY_NRF
select NRFX_GPIOTE
help
Enable GPIO driver for nRF line of MCUs.
if GPIO_NRFX
choice
prompt "nRF GPIO edge interrupts mechanism"
default GPIO_NRF_INT_EDGE_USING_GPIOTE
config GPIO_NRF_INT_EDGE_USING_GPIOTE
bool "Edge interrupts using GPIOTE"
help
Enable GPIO edge interrupts implementation using GPIOTE events.
config GPIO_NRF_INT_EDGE_USING_SENSE
bool "Edge interrupts using SENSE"
help
Enable GPIO edge interrupts implementation using GPIO SENSE, which is
a level interrupt mechanism. Conversion from level to edge interrupts
notification happens in GPIO driver, so it is transparent to GPIO
consumers after switching from GPIOTE mechanism.
Use this option as an alternative to GPIOTE event mechanism. According
to product specifications and erratas to some nRF MCUs, using GPIOTE
results in increased current consumption in System ON Idle and in
conjunction with SPI/TWI peripherals. Selecting this option allows to
reduce current for those cases.
Using this option additionally allows detecting state changes of pins
configured as output, which might be handy for some applications.
endchoice
endif # GPIO_NRFX