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>
119 lines
2.2 KiB
Plaintext
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
|