1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 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 controller 8 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 generic 12 GPIO-controller properties as desribed 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-gpio 24 25 "#address-cells": 26 const: 1 27 28 "#size-cells": 29 const: 0 30 31 reg: 32 maxItems: 1 33 34 clocks: 35 minItems: 1 36 items: 37 - description: APB interface clock source 38 - description: DW GPIO debounce reference clock source 39 40 clock-names: 41 minItems: 1 42 items: 43 - const: bus 44 - const: db 45 46 resets: 47 maxItems: 1 48 49patternProperties: 50 "^gpio-(port|controller)@[0-9a-f]+$": 51 type: object 52 properties: 53 compatible: 54 const: snps,dw-apb-gpio-port 55 56 reg: 57 maxItems: 1 58 59 gpio-controller: true 60 61 '#gpio-cells': 62 const: 2 63 64 snps,nr-gpios: 65 description: The number of GPIO pins exported by the port. 66 default: 32 67 allOf: 68 - $ref: /schemas/types.yaml#/definitions/uint32 69 - minimum: 1 70 maximum: 32 71 72 interrupts: 73 description: | 74 The interrupts to the parent controller raised when GPIOs generate 75 the interrupts. If the controller provides one combined interrupt 76 for all GPIOs, specify a single interrupt. If the controller provides 77 one interrupt for each GPIO, provide a list of interrupts that 78 correspond to each of the GPIO pins. 79 minItems: 1 80 maxItems: 32 81 82 interrupt-controller: true 83 84 '#interrupt-cells': 85 const: 2 86 87 required: 88 - compatible 89 - reg 90 - gpio-controller 91 - '#gpio-cells' 92 93 dependencies: 94 interrupt-controller: [ interrupts ] 95 96 additionalProperties: false 97 98additionalProperties: false 99 100required: 101 - compatible 102 - reg 103 - "#address-cells" 104 - "#size-cells" 105 106examples: 107 - | 108 gpio: gpio@20000 { 109 compatible = "snps,dw-apb-gpio"; 110 reg = <0x20000 0x1000>; 111 #address-cells = <1>; 112 #size-cells = <0>; 113 114 porta: gpio-port@0 { 115 compatible = "snps,dw-apb-gpio-port"; 116 reg = <0>; 117 gpio-controller; 118 #gpio-cells = <2>; 119 snps,nr-gpios = <8>; 120 interrupt-controller; 121 #interrupt-cells = <2>; 122 interrupt-parent = <&vic1>; 123 interrupts = <0>; 124 }; 125 126 portb: gpio-port@1 { 127 compatible = "snps,dw-apb-gpio-port"; 128 reg = <1>; 129 gpio-controller; 130 #gpio-cells = <2>; 131 snps,nr-gpios = <8>; 132 }; 133 }; 134... 135