173 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only2%YAML 1.23---4$id: http://devicetree.org/schemas/gpio/mrvl-gpio.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Marvell PXA GPIO controller8 9maintainers:10 - Linus Walleij <linus.walleij@linaro.org>11 - Bartosz Golaszewski <bgolaszewski@baylibre.com>12 - Rob Herring <robh@kernel.org>13 14allOf:15 - if:16 properties:17 compatible:18 contains:19 enum:20 - intel,pxa25x-gpio21 - intel,pxa26x-gpio22 - intel,pxa27x-gpio23 - intel,pxa3xx-gpio24 then:25 properties:26 interrupts:27 minItems: 328 maxItems: 329 interrupt-names:30 items:31 - const: gpio032 - const: gpio133 - const: gpio_mux34 - if:35 properties:36 compatible:37 contains:38 enum:39 - marvell,mmp-gpio40 - marvell,mmp2-gpio41 then:42 properties:43 interrupts:44 maxItems: 145 interrupt-names:46 items:47 - const: gpio_mux48 49properties:50 $nodename:51 pattern: '^gpio@[0-9a-f]+$'52 53 compatible:54 enum:55 - intel,pxa25x-gpio56 - intel,pxa26x-gpio57 - intel,pxa27x-gpio58 - intel,pxa3xx-gpio59 - marvell,mmp-gpio60 - marvell,mmp2-gpio61 - marvell,pxa93x-gpio62 63 reg:64 maxItems: 165 66 clocks:67 maxItems: 168 69 resets:70 maxItems: 171 72 ranges: true73 74 '#address-cells':75 const: 176 77 '#size-cells':78 const: 179 80 gpio-controller: true81 82 '#gpio-cells':83 const: 284 85 gpio-ranges: true86 87 interrupts: true88 89 interrupt-names: true90 91 interrupt-controller: true92 93 '#interrupt-cells':94 const: 295 96patternProperties:97 '^gpio@[0-9a-f]*$':98 type: object99 properties:100 reg:101 maxItems: 1102 103 required:104 - reg105 106 additionalProperties: false107 108required:109 - compatible110 - '#address-cells'111 - '#size-cells'112 - reg113 - gpio-controller114 - '#gpio-cells'115 - interrupts116 - interrupt-names117 - interrupt-controller118 - '#interrupt-cells'119 120additionalProperties: false121 122examples:123 - |124 #include <dt-bindings/clock/pxa-clock.h>125 gpio@40e00000 {126 compatible = "intel,pxa3xx-gpio";127 #address-cells = <1>;128 #size-cells = <1>;129 reg = <0x40e00000 0x10000>;130 gpio-controller;131 #gpio-cells = <2>;132 interrupts = <8>, <9>, <10>;133 interrupt-names = "gpio0", "gpio1", "gpio_mux";134 clocks = <&clks CLK_GPIO>;135 interrupt-controller;136 #interrupt-cells = <2>;137 };138 - |139 #include <dt-bindings/clock/marvell,pxa910.h>140 gpio@d4019000 {141 compatible = "marvell,mmp-gpio";142 #address-cells = <1>;143 #size-cells = <1>;144 reg = <0xd4019000 0x1000>;145 gpio-controller;146 #gpio-cells = <2>;147 interrupts = <49>;148 interrupt-names = "gpio_mux";149 clocks = <&soc_clocks PXA910_CLK_GPIO>;150 resets = <&soc_clocks PXA910_CLK_GPIO>;151 interrupt-controller;152 #interrupt-cells = <2>;153 ranges;154 155 gpio@d4019000 {156 reg = <0xd4019000 0x4>;157 };158 159 gpio@d4019004 {160 reg = <0xd4019004 0x4>;161 };162 163 gpio@d4019008 {164 reg = <0xd4019008 0x4>;165 };166 167 gpio@d4019100 {168 reg = <0xd4019100 0x4>;169 };170 };171 172...173