# Kconfig - Pinmux Dev configuration options

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

config PINMUX_DEV
	bool "Configure pinmux for early board testing"
	depends on PINMUX
	default n
	help
	  Enables the use of the pinmux_set and pinmux_get functions for early
	  prototyping on new hardware.  WARNING: When using these options, it
	  is possible to permanently damage the hardware.

config PINMUX_DEV_NAME
	string "Configure pinmux for early board testing"
	depends on PINMUX_DEV
	default "PINMUX_DEV"
	help
	  The name of the pinmux dev driver.

config PINMUX_DEV_ATMEL_SAM3X
	bool "Enable pinmux dev driver for Atmel SAM3X boards"
	depends on PINMUX_DEV && SOC_SERIES_SAM3X
	help
	  Enables the pinmux dev driver for boards based on the
	  Atmel SAM3X family of microcontrollers.
	  default n

config PINMUX_DEV_STM32
	bool "Enable pinmux dev driver for the ST STM32 family."
	depends on PINMUX_DEV && SOC_FAMILY_STM32
	help
	  Enables the STM32 pinmux dev driver.
	  default n

config PINMUX_DEV_ARM_V2M_BEETLE
	bool "Enable pinmux dev driver for ARM V2M Beetle boards"
	depends on PINMUX_DEV && SOC_SERIES_BEETLE
	help
	  Enables the pinmux dev driver for boards based on the
	  ARM Beetle SoC MCUs.
	  default n
