mbox series

[v4,0/3] Add Nuvoton NPCM SGPIO feature

Message ID 20230110083238.19230-1-jim.t90615@gmail.com
Headers show
Series Add Nuvoton NPCM SGPIO feature | expand

Message

Jim Liu Jan. 10, 2023, 8:32 a.m. UTC
This SGPIO controller is for NUVOTON NPCM7xx and NPCM8xx SoC.
Nuvoton NPCM SGPIO module is combine serial to parallel IC (HC595)
and parallel to serial IC (HC165), and use APB3 clock to control it.
This interface has 4 pins  (D_out , D_in, S_CLK, LDSH).
NPCM7xx/NPCM8xx have two sgpio module each module can support up
to 64 output pins,and up to 64 input pin, the pin is only for gpi or gpo.
GPIO pins have sequential, First half is gpo and second half is gpi.

The datasheet can reference HC165 and HC595.

Jim Liu (3):
  gpio: nuvoton: Add Nuvoton NPCM sgpio driver
  arm: dts: nuvoton: npcm: Add sgpio feature
  dt-bindings: gpio: add NPCM sgpio driver bindings

 .../bindings/gpio/nuvoton,sgpio.yaml          |  92 +++
 arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi |  30 +
 .../dts/nuvoton/nuvoton-common-npcm8xx.dtsi   |  30 +
 drivers/gpio/Kconfig                          |   8 +
 drivers/gpio/Makefile                         |   1 +
 drivers/gpio/gpio-npcm-sgpio.c                | 647 ++++++++++++++++++
 6 files changed, 808 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/gpio/nuvoton,sgpio.yaml
 create mode 100644 drivers/gpio/gpio-npcm-sgpio.c