zephyr/drivers/gpio/Kconfig
Immo Birnbaum ca33905248 drivers: gpio: Xilinx PS MIO / EMIO GPIO driver
Driver implementation for the Xilinx Processor System MIO / EMIO GPIO
controller as contained in the Zynq-7000 and ZynqMP (UltraScale) SoCs.

The driver is split up into source and header for a parent controller
device and source and header for 1..n child GPIO pin bank devices.
The parent device driver takes care of IRQ handling, the GPIO pin bank
driver provides pin / bank access according to the API defined by the
GPIO subsystem.

More than one device for this type of GPIO controller is required as
it provides access to a number of GPIO pins well in excess of the 32
pins addressable by the current GPIO API (whereever parameters or
return values come in the form of a bit mask):

- Zynq-7000: 54 MIO GPIO pins, 64 EMIO GPIO pins in 4 banks.
- ZynqMP:    78 MIO GPIO pins, 96 EMIO GPIO pins in 6 banks.

Signed-off-by: Immo Birnbaum <Immo.Birnbaum@weidmueller.com>
2022-03-15 08:44:46 -07:00

126 lines
2.3 KiB
Text

# GPIO configuration options
# Copyright (c) 2015 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
menuconfig GPIO
bool "GPIO Drivers"
select HAS_DTS_GPIO
help
Include GPIO drivers in system config
if GPIO
module = GPIO
module-str = gpio
source "subsys/logging/Kconfig.template.log_config"
config GPIO_SHELL
bool "GPIO Shell"
depends on SHELL
help
Enable GPIO Shell for testing.
config GPIO_INIT_PRIORITY
int "GPIO init priority"
default KERNEL_INIT_PRIORITY_DEFAULT
help
GPIO driver device initialization priority.
source "drivers/gpio/Kconfig.b91"
source "drivers/gpio/Kconfig.dw"
source "drivers/gpio/Kconfig.pca95xx"
source "drivers/gpio/Kconfig.mcp23s17"
source "drivers/gpio/Kconfig.mcp23xxx"
source "drivers/gpio/Kconfig.mcux"
source "drivers/gpio/Kconfig.mcux_igpio"
source "drivers/gpio/Kconfig.mcux_lpc"
source "drivers/gpio/Kconfig.mmio32"
source "drivers/gpio/Kconfig.stm32"
source "drivers/gpio/Kconfig.nrfx"
source "drivers/gpio/Kconfig.cmsdk_ahb"
source "drivers/gpio/Kconfig.cc13xx_cc26xx"
source "drivers/gpio/Kconfig.cc32xx"
source "drivers/gpio/Kconfig.sifive"
source "drivers/gpio/Kconfig.esp32"
source "drivers/gpio/Kconfig.gecko"
source "drivers/gpio/Kconfig.sam0"
source "drivers/gpio/Kconfig.sam"
source "drivers/gpio/Kconfig.sx1509b"
source "drivers/gpio/Kconfig.imx"
source "drivers/gpio/Kconfig.it8xxx2"
source "drivers/gpio/Kconfig.intel"
source "drivers/gpio/Kconfig.xec"
source "drivers/gpio/Kconfig.stellaris"
source "drivers/gpio/Kconfig.rpi_pico"
source "drivers/gpio/Kconfig.rv32m1"
source "drivers/gpio/Kconfig.lmp90xxx"
source "drivers/gpio/Kconfig.litex"
source "drivers/gpio/Kconfig.lpc11u6x"
source "drivers/gpio/Kconfig.xlnx"
source "drivers/gpio/Kconfig.npcx"
source "drivers/gpio/Kconfig.emul"
source "drivers/gpio/Kconfig.psoc6"
source "drivers/gpio/Kconfig.pcal6408a"
source "drivers/gpio/Kconfig.eos_s3"
source "drivers/gpio/Kconfig.rcar"
source "drivers/gpio/Kconfig.cy8c95xx"
source "drivers/gpio/Kconfig.creg_gpio"
source "drivers/gpio/Kconfig.stmpe1600"
source "drivers/gpio/Kconfig.pca953x"
source "drivers/gpio/Kconfig.fxl6408"
source "drivers/gpio/Kconfig.andes_atcgpio100"
source "drivers/gpio/Kconfig.neorv32"
source "drivers/gpio/Kconfig.nct38xx"
source "drivers/gpio/Kconfig.test"
source "drivers/gpio/Kconfig.gd32"
source "drivers/gpio/Kconfig.xlnx_ps"
endif # GPIO