146 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/gpio/snps,dw-apb-gpio.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Synopsys DesignWare APB GPIO controller8 9description: |10 Synopsys DesignWare GPIO controllers have a configurable number of ports,11 each of which are intended to be represented as child nodes with the generic12 GPIO-controller properties as described in this bindings file.13 14maintainers:15 - Hoan Tran <hoan@os.amperecomputing.com>16 - Serge Semin <fancer.lancer@gmail.com>17 18properties:19 $nodename:20 pattern: "^gpio@[0-9a-f]+$"21 22 compatible:23 const: snps,dw-apb-gpio24 25 "#address-cells":26 const: 127 28 "#size-cells":29 const: 030 31 reg:32 maxItems: 133 34 clocks:35 minItems: 136 items:37 - description: APB interface clock source38 - description: DW GPIO debounce reference clock source39 40 clock-names:41 minItems: 142 items:43 - const: bus44 - const: db45 46 resets:47 maxItems: 148 49patternProperties:50 "^gpio-(port|controller)@[0-9a-f]+$":51 type: object52 properties:53 compatible:54 const: snps,dw-apb-gpio-port55 56 reg:57 maxItems: 158 59 gpio-controller: true60 61 '#gpio-cells':62 const: 263 64 gpio-line-names:65 minItems: 166 maxItems: 3267 68 gpio-ranges: true69 70 ngpios:71 default: 3272 minimum: 173 maximum: 3274 75 snps,nr-gpios:76 description: The number of GPIO pins exported by the port.77 deprecated: true78 $ref: /schemas/types.yaml#/definitions/uint3279 default: 3280 minimum: 181 maximum: 3282 83 interrupts:84 description: |85 The interrupts to the parent controller raised when GPIOs generate86 the interrupts. If the controller provides one combined interrupt87 for all GPIOs, specify a single interrupt. If the controller provides88 one interrupt for each GPIO, provide a list of interrupts that89 correspond to each of the GPIO pins.90 minItems: 191 maxItems: 3292 93 interrupt-controller: true94 95 '#interrupt-cells':96 const: 297 98 required:99 - compatible100 - reg101 - gpio-controller102 - '#gpio-cells'103 104 dependencies:105 interrupt-controller: [ interrupts ]106 107 additionalProperties: false108 109additionalProperties: false110 111required:112 - compatible113 - reg114 - "#address-cells"115 - "#size-cells"116 117examples:118 - |119 gpio: gpio@20000 {120 compatible = "snps,dw-apb-gpio";121 reg = <0x20000 0x1000>;122 #address-cells = <1>;123 #size-cells = <0>;124 125 porta: gpio-port@0 {126 compatible = "snps,dw-apb-gpio-port";127 reg = <0>;128 gpio-controller;129 #gpio-cells = <2>;130 snps,nr-gpios = <8>;131 interrupt-controller;132 #interrupt-cells = <2>;133 interrupt-parent = <&vic1>;134 interrupts = <0>;135 };136 137 portb: gpio-port@1 {138 compatible = "snps,dw-apb-gpio-port";139 reg = <1>;140 gpio-controller;141 #gpio-cells = <2>;142 snps,nr-gpios = <8>;143 };144 };145...146