Commit a0e4375c authored by Jim Liu's avatar Jim Liu Committed by Bartosz Golaszewski

dt-bindings: gpio: add NPCM sgpio driver bindings

Add dt-bindings document for the Nuvoton NPCM7xx sgpio driver
Signed-off-by: default avatarJim Liu <JJLIU0@nuvoton.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent eee636bf
# 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>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment