File Index
Files and directories
Sign in
FILE

loongson,ls-gpio.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/gpio/loongson,ls-gpio.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/gpio/loongson,ls-gpio.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Loongson GPIO controller.
  8
  9maintainers:
 10  - Yinbo Zhu <zhuyinbo@loongson.cn>
 11
 12properties:
 13  compatible:
 14    oneOf:
 15      - enum:
 16          - loongson,ls2k-gpio
 17          - loongson,ls2k0300-gpio
 18          - loongson,ls2k0500-gpio0
 19          - loongson,ls2k0500-gpio1
 20          - loongson,ls2k2000-gpio0
 21          - loongson,ls2k2000-gpio1
 22          - loongson,ls2k2000-gpio2
 23          - loongson,ls3a5000-gpio
 24          - loongson,ls3a6000-gpio  # Loongson-3A6000 node GPIO
 25          - loongson,ls7a-gpio
 26          - loongson,ls7a2000-gpio1 # LS7A2000 chipset GPIO
 27          - loongson,ls7a2000-gpio2 # LS7A2000 ACPI GPIO
 28      - items:
 29          - const: loongson,ls2k1000-gpio
 30          - const: loongson,ls2k-gpio
 31      - items:
 32          - const: loongson,ls7a1000-gpio
 33          - const: loongson,ls7a-gpio
 34
 35  reg:
 36    maxItems: 1
 37
 38  ngpios:
 39    minimum: 1
 40    maximum: 128
 41
 42  "#gpio-cells":
 43    const: 2
 44
 45  gpio-controller: true
 46
 47  gpio-ranges: true
 48
 49  interrupts:
 50    minItems: 1
 51    maxItems: 64
 52
 53  "#interrupt-cells":
 54    const: 2
 55
 56  interrupt-controller: true
 57
 58  resets:
 59    maxItems: 1
 60
 61required:
 62  - compatible
 63  - reg
 64  - ngpios
 65  - "#gpio-cells"
 66  - gpio-controller
 67  - gpio-ranges
 68  - interrupts
 69
 70allOf:
 71  - if:
 72      properties:
 73        compatible:
 74          contains:
 75            const: loongson,ls2k0300-gpio
 76    then:
 77      required:
 78        - "#interrupt-cells"
 79        - interrupt-controller
 80        - resets
 81    else:
 82      properties:
 83        "#interrupts-cells": false
 84        interrupt-controller: false
 85        resets: false
 86
 87additionalProperties: false
 88
 89examples:
 90  - |
 91    #include <dt-bindings/interrupt-controller/irq.h>
 92
 93    gpio0: gpio@1fe00500 {
 94      compatible = "loongson,ls2k1000-gpio", "loongson,ls2k-gpio";
 95      reg = <0x1fe00500 0x38>;
 96      ngpios = <64>;
 97      #gpio-cells = <2>;
 98      gpio-controller;
 99      gpio-ranges = <&pctrl 0 0 15>,
100                    <&pctrl 16 16 15>,
101                    <&pctrl 32 32 10>,
102                    <&pctrl 44 44 20>;
103      interrupt-parent = <&liointc1>;
104      interrupts = <28 IRQ_TYPE_LEVEL_LOW>,
105                   <29 IRQ_TYPE_LEVEL_LOW>,
106                   <30 IRQ_TYPE_LEVEL_LOW>,
107                   <30 IRQ_TYPE_LEVEL_LOW>,
108                   <26 IRQ_TYPE_LEVEL_LOW>,
109                   <26 IRQ_TYPE_LEVEL_LOW>,
110                   <26 IRQ_TYPE_LEVEL_LOW>,
111                   <26 IRQ_TYPE_LEVEL_LOW>,
112                   <26 IRQ_TYPE_LEVEL_LOW>,
113                   <26 IRQ_TYPE_LEVEL_LOW>,
114                   <26 IRQ_TYPE_LEVEL_LOW>,
115                   <26 IRQ_TYPE_LEVEL_LOW>,
116                   <26 IRQ_TYPE_LEVEL_LOW>,
117                   <26 IRQ_TYPE_LEVEL_LOW>,
118                   <26 IRQ_TYPE_LEVEL_LOW>,
119                   <>,
120                   <26 IRQ_TYPE_LEVEL_LOW>,
121                   <26 IRQ_TYPE_LEVEL_LOW>,
122                   <26 IRQ_TYPE_LEVEL_LOW>,
123                   <26 IRQ_TYPE_LEVEL_LOW>,
124                   <26 IRQ_TYPE_LEVEL_LOW>,
125                   <26 IRQ_TYPE_LEVEL_LOW>,
126                   <26 IRQ_TYPE_LEVEL_LOW>,
127                   <26 IRQ_TYPE_LEVEL_LOW>,
128                   <26 IRQ_TYPE_LEVEL_LOW>,
129                   <26 IRQ_TYPE_LEVEL_LOW>,
130                   <26 IRQ_TYPE_LEVEL_LOW>,
131                   <26 IRQ_TYPE_LEVEL_LOW>,
132                   <26 IRQ_TYPE_LEVEL_LOW>,
133                   <26 IRQ_TYPE_LEVEL_LOW>,
134                   <26 IRQ_TYPE_LEVEL_LOW>,
135                   <26 IRQ_TYPE_LEVEL_LOW>,
136                   <27 IRQ_TYPE_LEVEL_LOW>,
137                   <27 IRQ_TYPE_LEVEL_LOW>,
138                   <27 IRQ_TYPE_LEVEL_LOW>,
139                   <27 IRQ_TYPE_LEVEL_LOW>,
140                   <27 IRQ_TYPE_LEVEL_LOW>,
141                   <>,
142                   <27 IRQ_TYPE_LEVEL_LOW>,
143                   <27 IRQ_TYPE_LEVEL_LOW>,
144                   <27 IRQ_TYPE_LEVEL_LOW>,
145                   <27 IRQ_TYPE_LEVEL_LOW>,
146                   <>,
147                   <>,
148                   <27 IRQ_TYPE_LEVEL_LOW>,
149                   <27 IRQ_TYPE_LEVEL_LOW>,
150                   <27 IRQ_TYPE_LEVEL_LOW>,
151                   <27 IRQ_TYPE_LEVEL_LOW>,
152                   <27 IRQ_TYPE_LEVEL_LOW>,
153                   <27 IRQ_TYPE_LEVEL_LOW>,
154                   <27 IRQ_TYPE_LEVEL_LOW>,
155                   <27 IRQ_TYPE_LEVEL_LOW>,
156                   <27 IRQ_TYPE_LEVEL_LOW>,
157                   <27 IRQ_TYPE_LEVEL_LOW>,
158                   <27 IRQ_TYPE_LEVEL_LOW>,
159                   <27 IRQ_TYPE_LEVEL_LOW>,
160                   <27 IRQ_TYPE_LEVEL_LOW>,
161                   <27 IRQ_TYPE_LEVEL_LOW>,
162                   <27 IRQ_TYPE_LEVEL_LOW>,
163                   <27 IRQ_TYPE_LEVEL_LOW>,
164                   <27 IRQ_TYPE_LEVEL_LOW>,
165                   <27 IRQ_TYPE_LEVEL_LOW>,
166                   <27 IRQ_TYPE_LEVEL_LOW>,
167                   <27 IRQ_TYPE_LEVEL_LOW>;
168    };
~/ Read-only file preview.