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>
This commit is contained in:
parent
d692062577
commit
5a9bc389f0
12 changed files with 1100 additions and 0 deletions
17
include/drivers/gpio/gpio_nct38xx.h
Normal file
17
include/drivers/gpio/gpio_nct38xx.h
Normal file
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Nuvoton Technology Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#ifndef ZEPHYR_INCLUDE_DRIVERS_GPIO_GPIO_NCT38XX_H_
|
||||
#define ZEPHYR_INCLUDE_DRIVERS_GPIO_GPIO_NCT38XX_H_
|
||||
|
||||
/**
|
||||
* @brief Dispatch all GPIO ports ISR in the NCT38XX device.
|
||||
*
|
||||
* @param dev NCT38XX device.
|
||||
*/
|
||||
void nct38xx_gpio_alert_handler(const struct device *dev);
|
||||
|
||||
#endif /* ZEPHYR_INCLUDE_DRIVERS_GPIO_GPIO_NCT38XX_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue