mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
dt-bindings: gpio: add NPCM sgpio driver bindings
Add dt-bindings document for the Nuvoton NPCM7xx sgpio driver Signed-off-by: Jim Liu <JJLIU0@nuvoton.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
eee636bff0
commit
a0e4375cb0
87
Documentation/devicetree/bindings/gpio/nuvoton,sgpio.yaml
Normal file
87
Documentation/devicetree/bindings/gpio/nuvoton,sgpio.yaml
Normal file
@ -0,0 +1,87 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/gpio/nuvoton,sgpio.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Nuvoton SGPIO controller
|
||||
|
||||
maintainers:
|
||||
- Jim LIU <JJLIU0@nuvoton.com>
|
||||
|
||||
description: |
|
||||
This SGPIO controller is for NUVOTON NPCM7xx and NPCM8xx SoC and detailed
|
||||
information is in the NPCM7XX/8XX SERIAL I/O EXPANSION INTERFACE section.
|
||||
Nuvoton NPCM7xx SGPIO module is combines a serial to parallel IC (HC595)
|
||||
and a parallel to serial IC (HC165).
|
||||
Clock is a division of the APB3 clock.
|
||||
This interface has 4 pins (D_out , D_in, S_CLK, LDSH).
|
||||
NPCM7xx/NPCM8xx have two sgpio modules. Each module can support up
|
||||
to 64 output pins, and up to 64 input pins, the pin is only for GPI or GPO.
|
||||
GPIO pins can be programmed to support the following options
|
||||
- Support interrupt option for each input port and various interrupt
|
||||
sensitivity options (level-high, level-low, edge-high, edge-low)
|
||||
- ngpios is number of nuvoton,input-ngpios GPIO lines and nuvoton,output-ngpios GPIO lines.
|
||||
nuvoton,input-ngpios GPIO lines is only for GPI.
|
||||
nuvoton,output-ngpios GPIO lines is only for GPO.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nuvoton,npcm750-sgpio
|
||||
- nuvoton,npcm845-sgpio
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
nuvoton,input-ngpios:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
The numbers of GPIO's exposed. GPIO lines are only for GPI.
|
||||
minimum: 0
|
||||
maximum: 64
|
||||
|
||||
nuvoton,output-ngpios:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
The numbers of GPIO's exposed. GPIO lines are only for GPO.
|
||||
minimum: 0
|
||||
maximum: 64
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- gpio-controller
|
||||
- '#gpio-cells'
|
||||
- interrupts
|
||||
- nuvoton,input-ngpios
|
||||
- nuvoton,output-ngpios
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
gpio8: gpio@101000 {
|
||||
compatible = "nuvoton,npcm750-sgpio";
|
||||
reg = <0x101000 0x200>;
|
||||
clocks = <&clk NPCM7XX_CLK_APB3>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
nuvoton,input-ngpios = <64>;
|
||||
nuvoton,output-ngpios = <64>;
|
||||
};
|
Loading…
Reference in New Issue
Block a user