# Kconfig - 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_NAME
	string "Pinmux driver name"
	depends on PINMUX
	default "PINMUX"
	help
	  The name of the pinmux driver.

config PINMUX_INIT_PRIORITY
	int "Init priority"
	default 45
	depends on PINMUX
	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.

config PINMUX_QMSI
	bool "Enable QMSI pinmux dev driver"
	depends on PINMUX && QMSI
	help
	  Enables the pinmux dev driver for QMSI supported boards.

source "drivers/pinmux/Kconfig.mcux"

source "drivers/pinmux/Kconfig.mcux_lpc"

source "drivers/pinmux/Kconfig.stm32"

source "drivers/pinmux/Kconfig.beetle"

source "drivers/pinmux/Kconfig.sifive"

source "drivers/pinmux/Kconfig.cc2650"

source "drivers/pinmux/Kconfig.esp32"

source "drivers/pinmux/Kconfig.sam0"

source "drivers/pinmux/Kconfig.intel_s1000"

source "drivers/pinmux/Kconfig.rv32m1"

endif # PINMUX
