GPIO hardware in Microchip MEC parts is the same except for the MUX field (number of alternate functions). We modify the old XEC PINCTRL driver to work on all MEC parts and also be independent of HAL and CMSIS register structures. During development we found a DT issue with DT_ENUM_IDX_OR always inserting the default value. Worked around by converting slew rate and drive strength to YAML integer type and created defines for the values in the dt-bindings header. Signed-off-by: Scott Worley <scott.worley@microchip.com>
97 lines
3.3 KiB
Plaintext
97 lines
3.3 KiB
Plaintext
# Copyright (c) 2021 Nordic Semiconductor ASA
|
|
# Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig PINCTRL
|
|
bool "Pin controller drivers"
|
|
|
|
if PINCTRL
|
|
|
|
module = PINCTRL
|
|
module-str = PINCTRL
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
config PINCTRL_STORE_REG
|
|
bool
|
|
help
|
|
This option must be selected by drivers that require access to the device
|
|
register address. This can happen, for example, if certain pin control
|
|
actions are device dependent or require access to device specific
|
|
registers
|
|
|
|
config PINCTRL_NON_STATIC
|
|
bool
|
|
help
|
|
This option can be selected if the pin control configuration defined by
|
|
a driver has to be accessed externally. This can happen, for example, when
|
|
dynamic pin control is enabled or in testing environments.
|
|
|
|
config PINCTRL_DYNAMIC
|
|
bool "Dynamic configuration of pins"
|
|
select PINCTRL_NON_STATIC
|
|
help
|
|
When this option is enabled pin control configuration can be changed at
|
|
runtime. This can be useful, for example, to change the pins assigned to a
|
|
peripheral at early boot stages depending on a certain input.
|
|
|
|
config PINCTRL_KEEP_SLEEP_STATE
|
|
bool "Keep sleep state"
|
|
default y if PM || PM_DEVICE || DEVICE_DEINIT_SUPPORT
|
|
|
|
# zephyr-keep-sorted-start
|
|
source "drivers/pinctrl/Kconfig.ambiq"
|
|
source "drivers/pinctrl/Kconfig.ameba"
|
|
source "drivers/pinctrl/Kconfig.arm_mps2"
|
|
source "drivers/pinctrl/Kconfig.arm_mps3"
|
|
source "drivers/pinctrl/Kconfig.arm_mps4"
|
|
source "drivers/pinctrl/Kconfig.arm_v2m_beetle"
|
|
source "drivers/pinctrl/Kconfig.b91"
|
|
source "drivers/pinctrl/Kconfig.bflb"
|
|
source "drivers/pinctrl/Kconfig.cc13xx_cc26xx"
|
|
source "drivers/pinctrl/Kconfig.cc23x0"
|
|
source "drivers/pinctrl/Kconfig.emsdp"
|
|
source "drivers/pinctrl/Kconfig.ene"
|
|
source "drivers/pinctrl/Kconfig.eos_s3"
|
|
source "drivers/pinctrl/Kconfig.esp32"
|
|
source "drivers/pinctrl/Kconfig.gd32"
|
|
source "drivers/pinctrl/Kconfig.gecko"
|
|
source "drivers/pinctrl/Kconfig.imx"
|
|
source "drivers/pinctrl/Kconfig.infineon"
|
|
source "drivers/pinctrl/Kconfig.it8xxx2"
|
|
source "drivers/pinctrl/Kconfig.lpc_iocon"
|
|
source "drivers/pinctrl/Kconfig.max32"
|
|
source "drivers/pinctrl/Kconfig.mchp"
|
|
source "drivers/pinctrl/Kconfig.mci_io_mux"
|
|
source "drivers/pinctrl/Kconfig.mspm0"
|
|
source "drivers/pinctrl/Kconfig.npcx"
|
|
source "drivers/pinctrl/Kconfig.nrf"
|
|
source "drivers/pinctrl/Kconfig.numaker"
|
|
source "drivers/pinctrl/Kconfig.numicro"
|
|
source "drivers/pinctrl/Kconfig.nxp_port"
|
|
source "drivers/pinctrl/Kconfig.nxp_siul2"
|
|
source "drivers/pinctrl/Kconfig.realtek_rts5912"
|
|
source "drivers/pinctrl/Kconfig.rpi_pico"
|
|
source "drivers/pinctrl/Kconfig.rv32m1"
|
|
source "drivers/pinctrl/Kconfig.sam"
|
|
source "drivers/pinctrl/Kconfig.sam0"
|
|
source "drivers/pinctrl/Kconfig.sf32lb52x"
|
|
source "drivers/pinctrl/Kconfig.sifive"
|
|
source "drivers/pinctrl/Kconfig.silabs_dbus"
|
|
source "drivers/pinctrl/Kconfig.siwx91x"
|
|
source "drivers/pinctrl/Kconfig.stm32"
|
|
source "drivers/pinctrl/Kconfig.sy1xx"
|
|
source "drivers/pinctrl/Kconfig.ti_cc32xx"
|
|
source "drivers/pinctrl/Kconfig.ti_k3"
|
|
source "drivers/pinctrl/Kconfig.wch_00x_afio"
|
|
source "drivers/pinctrl/Kconfig.wch_20x_30x_afio"
|
|
source "drivers/pinctrl/Kconfig.wch_afio"
|
|
source "drivers/pinctrl/Kconfig.xec"
|
|
source "drivers/pinctrl/Kconfig.xlnx"
|
|
source "drivers/pinctrl/Kconfig.xmc4xxx"
|
|
source "drivers/pinctrl/Kconfig.zynqmp"
|
|
# zephyr-keep-sorted-stop
|
|
|
|
rsource "renesas/Kconfig"
|
|
|
|
endif # PINCTRL
|