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 $ref: /schemas/types.yaml#/definitions/uint32 67 default: 32 68 minimum: 1 69 maximum: 32 70 71 interrupts: 72 description: | 73 The interrupts to the parent controller raised when GPIOs generate 74 the interrupts. If the controller provides one combined interrupt 75 for all GPIOs, specify a single interrupt. If the controller provides 76 one interrupt for each GPIO, provide a list of interrupts that 77 correspond to each of the GPIO pins. 78 minItems: 1 79 maxItems: 32 80 81 interrupt-controller: true 82 83 '#interrupt-cells': 84 const: 2 85 86 required: 87 - compatible 88 - reg 89 - gpio-controller 90 - '#gpio-cells' 91 92 dependencies: 93 interrupt-controller: [ interrupts ] 94 95 additionalProperties: false 96 97additionalProperties: false 98 99required: 100 - compatible 101 - reg 102 - "#address-cells" 103 - "#size-cells" 104 105examples: 106 - | 107 gpio: gpio@20000 { 108 compatible = "snps,dw-apb-gpio"; 109 reg = <0x20000 0x1000>; 110 #address-cells = <1>; 111 #size-cells = <0>; 112 113 porta: gpio-port@0 { 114 compatible = "snps,dw-apb-gpio-port"; 115 reg = <0>; 116 gpio-controller; 117 #gpio-cells = <2>; 118 snps,nr-gpios = <8>; 119 interrupt-controller; 120 #interrupt-cells = <2>; 121 interrupt-parent = <&vic1>; 122 interrupts = <0>; 123 }; 124 125 portb: gpio-port@1 { 126 compatible = "snps,dw-apb-gpio-port"; 127 reg = <1>; 128 gpio-controller; 129 #gpio-cells = <2>; 130 snps,nr-gpios = <8>; 131 }; 132 }; 133... 134