# 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

source "drivers/pinmux/dev/Kconfig"

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"

endif # PINMUX
