# Pinmux configuration options

# Copyright (c) 2015 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

#
# PinMux options
#
menuconfig PINMUX
	bool "Board pinmux driver"

if PINMUX

config PINMUX_INIT_PRIORITY
	int "Init priority"
	default 45
	help
	  Pinmux driver initialization priority.
	  Pinmux driver almost certainly should be initialized before the
	  rest of hardware devices (which may need specific pins already
	  configured for them), and usually after generic GPIO drivers.
	  Thus, its priority should be between KERNEL_INIT_PRIORITY_DEFAULT
	  and KERNEL_INIT_PRIORITY_DEVICE. There are exceptions to this
	  rule for particular boards. Don't change this value unless you
	  know what you are doing.

source "drivers/pinmux/Kconfig.beetle"

source "drivers/pinmux/Kconfig.lpc11u6x"

source "drivers/pinmux/Kconfig.mcux"

source "drivers/pinmux/Kconfig.mcux_lpc"

source "drivers/pinmux/Kconfig.rv32m1"

source "drivers/pinmux/Kconfig.stm32"

source "drivers/pinmux/Kconfig.xec"

endif # PINMUX
