149 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/gpio/aspeed,ast2400-gpio.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Aspeed GPIO controller8 9maintainers:10 - Andrew Jeffery <andrew@codeconstruct.com.au>11 12properties:13 compatible:14 enum:15 - aspeed,ast2400-gpio16 - aspeed,ast2500-gpio17 - aspeed,ast2600-gpio18 19 reg:20 maxItems: 121 22 clocks:23 maxItems: 124 description: The clock to use for debounce timings25 26 gpio-controller: true27 gpio-line-names:28 minItems: 3629 maxItems: 23230 31 gpio-ranges: true32 33 "#gpio-cells":34 const: 235 36 interrupts:37 maxItems: 138 39 interrupt-controller: true40 41 "#interrupt-cells":42 const: 243 44 ngpios:45 minimum: 3646 maximum: 23247 48required:49 - compatible50 - reg51 - interrupts52 - interrupt-controller53 - "#interrupt-cells"54 - gpio-controller55 - "#gpio-cells"56 57allOf:58 - if:59 properties:60 compatible:61 contains:62 const: aspeed,ast2400-gpio63 then:64 properties:65 gpio-line-names:66 minItems: 22067 maxItems: 22068 ngpios:69 const: 22070 - if:71 properties:72 compatible:73 contains:74 const: aspeed,ast2500-gpio75 then:76 properties:77 gpio-line-names:78 minItems: 23279 maxItems: 23280 ngpios:81 const: 23282 - if:83 properties:84 compatible:85 contains:86 const: aspeed,ast2600-gpio87 then:88 properties:89 gpio-line-names:90 minItems: 3691 maxItems: 20892 ngpios:93 enum: [ 36, 208 ]94 required:95 - ngpios96 97additionalProperties: false98 99examples:100 - |101 gpio@1e780000 {102 compatible = "aspeed,ast2400-gpio";103 reg = <0x1e780000 0x1000>;104 interrupts = <20>;105 interrupt-controller;106 #interrupt-cells = <2>;107 gpio-controller;108 #gpio-cells = <2>;109 };110 - |111 gpio: gpio@1e780000 {112 compatible = "aspeed,ast2500-gpio";113 reg = <0x1e780000 0x200>;114 interrupts = <20>;115 interrupt-controller;116 #interrupt-cells = <2>;117 gpio-controller;118 #gpio-cells = <2>;119 gpio-ranges = <&pinctrl 0 0 232>;120 };121 - |122 #include <dt-bindings/clock/ast2600-clock.h>123 #include <dt-bindings/interrupt-controller/arm-gic.h>124 #include <dt-bindings/interrupt-controller/irq.h>125 gpio0: gpio@1e780000 {126 compatible = "aspeed,ast2600-gpio";127 reg = <0x1e780000 0x400>;128 clocks = <&syscon ASPEED_CLK_APB2>;129 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;130 interrupt-controller;131 #interrupt-cells = <2>;132 #gpio-cells = <2>;133 gpio-controller;134 gpio-ranges = <&pinctrl 0 0 208>;135 ngpios = <208>;136 };137 gpio1: gpio@1e780800 {138 compatible = "aspeed,ast2600-gpio";139 reg = <0x1e780800 0x800>;140 clocks = <&syscon ASPEED_CLK_APB1>;141 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;142 interrupt-controller;143 #interrupt-cells = <2>;144 gpio-controller;145 #gpio-cells = <2>;146 gpio-ranges = <&pinctrl 0 208 36>;147 ngpios = <36>;148 };149