zephyr/drivers/gpio
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
..
CMakeLists.txt
gpio_andes_atcgpio100.c
gpio_b91.c
gpio_cc13xx_cc26xx.c
gpio_cc32xx.c
gpio_cmsdk_ahb.c
gpio_cmsdk_ahb.h
gpio_creg_gpio.c
gpio_cy8c95xx.c
gpio_dw_registers.h
gpio_dw.c
gpio_dw.h
gpio_emul.c
gpio_eos_s3.c
gpio_esp32.c
gpio_fxl6408.c
gpio_gecko.c
gpio_handlers.c
gpio_imx.c
gpio_intel.c
gpio_ite_it8xxx2.c
gpio_litex.c
gpio_lmp90xxx.c
gpio_lpc11u6x.c
gpio_mchp_xec_v2.c
gpio_mchp_xec.c
gpio_mcp23s17.c
gpio_mcp23s17.h
gpio_mcp230xx.c
gpio_mcp230xx.h
gpio_mcux_igpio.c
gpio_mcux_lpc.c
gpio_mcux.c
gpio_mmio32.c
gpio_nct38xx_alert.c
gpio_nct38xx_port.c
gpio_nct38xx.c
gpio_nct38xx.h
gpio_neorv32.c
gpio_npcx.c
gpio_nrfx.c
gpio_pca95xx.c
gpio_pca953x.c
gpio_pcal6408a.c
gpio_psoc6.c
gpio_rcar.c
gpio_rv32m1.c
gpio_sam.c
gpio_sam4l.c
gpio_sam0.c
gpio_shell.c
gpio_sifive.c
gpio_stellaris.c
gpio_stm32.c
gpio_stm32.h
gpio_stmpe1600.c
gpio_sx1509b.c
gpio_utils.h
gpio_xlnx_axi.c
Kconfig
Kconfig.andes_atcgpio100
Kconfig.b91
Kconfig.cc13xx_cc26xx
Kconfig.cc32xx
Kconfig.cmsdk_ahb
Kconfig.creg_gpio
Kconfig.cy8c95xx
Kconfig.dw
Kconfig.emul
Kconfig.eos_s3
Kconfig.esp32
Kconfig.fxl6408
Kconfig.gecko
Kconfig.imx
Kconfig.intel
Kconfig.it8xxx2
Kconfig.litex
Kconfig.lmp90xxx
Kconfig.lpc11u6x
Kconfig.mcp23s17
Kconfig.mcp230xx
Kconfig.mcux
Kconfig.mcux_igpio
Kconfig.mcux_lpc
Kconfig.mmio32
Kconfig.nct38xx
Kconfig.neorv32
Kconfig.npcx
Kconfig.nrfx
Kconfig.pca95xx
Kconfig.pca953x
Kconfig.pcal6408a
Kconfig.psoc6
Kconfig.rcar
Kconfig.rv32m1
Kconfig.sam
Kconfig.sam0
Kconfig.sifive
Kconfig.stellaris
Kconfig.stm32
Kconfig.stmpe1600
Kconfig.sx1509b
Kconfig.xec
Kconfig.xlnx