# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

menuconfig PINCTRL
	bool "Enable pin controller drivers"

if PINCTRL

config PINCTRL_STORE_REG
	bool
	help
	  This option must be selected by drivers that require access to the device
	  register address. This can happen, for example, if certain pin control
	  actions are device dependent or require access to device specific
	  registers

config PINCTRL_NON_STATIC
	bool
	help
	  This option can be selected if the pin control configuration defined by
	  a driver has to be accessed externally. This can happen, for example, when
	  dynamic pin control is enabled or in testing environments.

config PINCTRL_DYNAMIC
	bool "Enable dynamic configuration of pins"
	select PINCTRL_NON_STATIC
	help
	  When this option is enabled pin control configuration can be changed at
	  runtime. This can be useful, for example, to change the pins assigned to a
	  peripheral at early boot stages depending on a certain input.

source "drivers/pinctrl/Kconfig.gd32"
source "drivers/pinctrl/Kconfig.nrf"
source "drivers/pinctrl/Kconfig.rcar"
source "drivers/pinctrl/Kconfig.rpi_pico"
source "drivers/pinctrl/Kconfig.stm32"

endif # PINCTRL
