# Pinmux configuration options

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

#
# PinMux options
#
menuconfig PINMUX
	bool "Enable 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.b91"

source "drivers/pinmux/Kconfig.beetle"

source "drivers/pinmux/Kconfig.cc13xx_cc26xx"

source "drivers/pinmux/Kconfig.esp32"

source "drivers/pinmux/Kconfig.hsdk"

source "drivers/pinmux/Kconfig.intel_s1000"

source "drivers/pinmux/Kconfig.it8xxx2"

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.sifive"

source "drivers/pinmux/Kconfig.sam0"

source "drivers/pinmux/Kconfig.stm32"

source "drivers/pinmux/Kconfig.xec"

endif # PINMUX
