File Index
Files and directories
Sign in
FILE

aspeed,ast2400-gpio.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/gpio/aspeed,ast2400-gpio.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Aspeed GPIO controller
  8
  9maintainers:
 10  - Andrew Jeffery <andrew@codeconstruct.com.au>
 11
 12properties:
 13  compatible:
 14    enum:
 15      - aspeed,ast2400-gpio
 16      - aspeed,ast2500-gpio
 17      - aspeed,ast2600-gpio
 18      - aspeed,ast2700-gpio
 19
 20  reg:
 21    maxItems: 1
 22
 23  clocks:
 24    maxItems: 1
 25    description: The clock to use for debounce timings
 26
 27  gpio-controller: true
 28  gpio-line-names:
 29    minItems: 12
 30    maxItems: 232
 31
 32  gpio-ranges: true
 33
 34  "#gpio-cells":
 35    const: 2
 36
 37  interrupts:
 38    maxItems: 1
 39
 40  interrupt-controller: true
 41
 42  "#interrupt-cells":
 43    const: 2
 44
 45  ngpios:
 46    minimum: 12
 47    maximum: 232
 48
 49patternProperties:
 50  "-hog(-[0-9]+)?$":
 51    type: object
 52    required:
 53      - gpio-hog
 54
 55required:
 56  - compatible
 57  - reg
 58  - interrupts
 59  - interrupt-controller
 60  - "#interrupt-cells"
 61  - gpio-controller
 62  - "#gpio-cells"
 63
 64allOf:
 65  - if:
 66      properties:
 67        compatible:
 68          contains:
 69            const: aspeed,ast2400-gpio
 70    then:
 71      properties:
 72        gpio-line-names:
 73          minItems: 220
 74          maxItems: 220
 75        ngpios:
 76          const: 220
 77  - if:
 78      properties:
 79        compatible:
 80          contains:
 81            const: aspeed,ast2500-gpio
 82    then:
 83      properties:
 84        gpio-line-names:
 85          minItems: 232
 86          maxItems: 232
 87        ngpios:
 88          const: 232
 89  - if:
 90      properties:
 91        compatible:
 92          contains:
 93            const: aspeed,ast2600-gpio
 94    then:
 95      properties:
 96        gpio-line-names:
 97          minItems: 36
 98          maxItems: 208
 99        ngpios:
100          enum: [ 36, 208 ]
101      required:
102        - ngpios
103  - if:
104      properties:
105        compatible:
106          contains:
107            const: aspeed,ast2700-gpio
108    then:
109      properties:
110        gpio-line-names:
111          minItems: 12
112          maxItems: 216
113        ngpios:
114          enum: [ 12, 216 ]
115      required:
116        - ngpios
117
118additionalProperties: false
119
120examples:
121  - |
122    gpio@1e780000 {
123        compatible = "aspeed,ast2400-gpio";
124        reg = <0x1e780000 0x1000>;
125        interrupts = <20>;
126        interrupt-controller;
127        #interrupt-cells = <2>;
128        gpio-controller;
129        #gpio-cells = <2>;
130    };
131  - |
132    gpio: gpio@1e780000 {
133        compatible = "aspeed,ast2500-gpio";
134        reg = <0x1e780000 0x200>;
135        interrupts = <20>;
136        interrupt-controller;
137        #interrupt-cells = <2>;
138        gpio-controller;
139        #gpio-cells = <2>;
140        gpio-ranges = <&pinctrl 0 0 232>;
141    };
142  - |
143    #include <dt-bindings/clock/ast2600-clock.h>
144    #include <dt-bindings/interrupt-controller/arm-gic.h>
145    #include <dt-bindings/interrupt-controller/irq.h>
146    gpio0: gpio@1e780000 {
147        compatible = "aspeed,ast2600-gpio";
148        reg = <0x1e780000 0x400>;
149        clocks = <&syscon ASPEED_CLK_APB2>;
150        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
151        interrupt-controller;
152        #interrupt-cells = <2>;
153        #gpio-cells = <2>;
154        gpio-controller;
155        gpio-ranges = <&pinctrl 0 0 208>;
156        ngpios = <208>;
157    };
158    gpio1: gpio@1e780800 {
159        compatible = "aspeed,ast2600-gpio";
160        reg = <0x1e780800 0x800>;
161        clocks = <&syscon ASPEED_CLK_APB1>;
162        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
163        interrupt-controller;
164        #interrupt-cells = <2>;
165        gpio-controller;
166        #gpio-cells = <2>;
167        gpio-ranges = <&pinctrl 0 208 36>;
168        ngpios = <36>;
169    };
~/ Read-only file preview.