brintos

brintos / linux-shallow public Read only

0
0
Text · 2.4 KiB · 9e32e54 Raw
88 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/gpio/nuvoton,sgpio.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Nuvoton SGPIO controller8 9maintainers:10  - Jim LIU <JJLIU0@nuvoton.com>11 12description: |13  This SGPIO controller is for NUVOTON NPCM7xx and NPCM8xx SoC and detailed14  information is in the NPCM7XX/8XX SERIAL I/O EXPANSION INTERFACE section.15  Nuvoton NPCM7xx SGPIO module is combines a serial to parallel IC (HC595)16  and a parallel to serial IC (HC165).17  Clock is a division of the APB3 clock.18  This interface has 4 pins (D_out , D_in, S_CLK, LDSH).19  NPCM7xx/NPCM8xx have two sgpio modules. Each module can support up20  to 64 output pins, and up to 64 input pins, the pin is only for GPI or GPO.21  GPIO pins can be programmed to support the following options22  - Support interrupt option for each input port and various interrupt23    sensitivity options (level-high, level-low, edge-high, edge-low)24  - ngpios is number of nuvoton,input-ngpios GPIO lines and nuvoton,output-ngpios GPIO lines.25    nuvoton,input-ngpios GPIO lines is only for GPI.26    nuvoton,output-ngpios GPIO lines is only for GPO.27 28properties:29  compatible:30    enum:31      - nuvoton,npcm750-sgpio32      - nuvoton,npcm845-sgpio33 34  reg:35    maxItems: 136 37  gpio-controller: true38 39  '#gpio-cells':40    const: 241 42  interrupts:43    maxItems: 144 45  clocks:46    maxItems: 147 48  nuvoton,input-ngpios:49    $ref: /schemas/types.yaml#/definitions/uint3250    description:51      The numbers of GPIO's exposed. GPIO lines are only for GPI.52    minimum: 053    maximum: 6454 55  nuvoton,output-ngpios:56    $ref: /schemas/types.yaml#/definitions/uint3257    description:58      The numbers of GPIO's exposed. GPIO lines are only for GPO.59    minimum: 060    maximum: 6461 62required:63  - compatible64  - reg65  - gpio-controller66  - '#gpio-cells'67  - interrupts68  - nuvoton,input-ngpios69  - nuvoton,output-ngpios70  - clocks71 72additionalProperties: false73 74examples:75  - |76    #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>77    #include <dt-bindings/interrupt-controller/arm-gic.h>78    gpio8: gpio@101000 {79        compatible = "nuvoton,npcm750-sgpio";80        reg = <0x101000 0x200>;81        clocks = <&clk NPCM7XX_CLK_APB3>;82        interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;83        gpio-controller;84        #gpio-cells = <2>;85        nuvoton,input-ngpios = <64>;86        nuvoton,output-ngpios = <64>;87    };88