zephyr/drivers/gpio/Kconfig
Wealian Liao 5a9bc389f0 driver: gpio: nct38xx: Add NCT38XX gpio driver support
NCT38XX series, which are i2c-based chips, support a different number
of GPIO functionality. For NCT3807, it has 2 GPIO ports on the same i2c
device address. For NCT3808, it has 2 GPIO ports on different i2c
device addresses. This commit adds NCT38XX GPIO driver support &
provides the interrupt handler for the share alert pin.

The following is NCT3807 devicetree node example:
```
&i2c0_0 {
	nct3807_0: nct3807@70 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "nuvoton,nct38xx-gpio";
		reg = <0x70>;
		label = "NCT3807_0";

		gpio@0 {
			compatible = "nuvoton,nct38xx-gpio-port";
			reg = <0x0>;
			label = "NCT3807_0_GPIO0";
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <8>;
			pin_mask = <0xff>;
			pinmux_mask = <0xf7>;
		};

		gpio@1 {
			compatible = "nuvoton,nct38xx-gpio-port";
			reg = <0x1>;
			label = "NCT3807_0_GPIO1";
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <8>;
			pin_mask = <0xff>;
		};
	};
};
```

Signed-off-by: Wealian Liao <WHLIAO@nuvoton.com>
2021-11-20 08:00:38 -05:00

119 lines
2.2 KiB
Plaintext

# 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 "Enable 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.mcp230xx"
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.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"
endif # GPIO