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>
126 lines
2.3 KiB
Text
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
|