xref: /freebsd/sys/contrib/device-tree/Bindings/gpio/pl061-gpio.yaml (revision e6bfd18d21b225af6a0ed67ceeaf1293b7b9eba5)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/pl061-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ARM PL061 GPIO controller
8
9maintainers:
10  - Linus Walleij <linus.walleij@linaro.org>
11  - Rob Herring <robh@kernel.org>
12
13# We need a select here so we don't match all nodes with 'arm,primecell'
14select:
15  properties:
16    compatible:
17      contains:
18        const: arm,pl061
19  required:
20    - compatible
21
22properties:
23  $nodename:
24    pattern: "^gpio@[0-9a-f]+$"
25
26  compatible:
27    items:
28      - const: arm,pl061
29      - const: arm,primecell
30
31  reg:
32    maxItems: 1
33
34  interrupts:
35    oneOf:
36      - maxItems: 1
37      - maxItems: 8
38
39  interrupt-controller: true
40
41  "#interrupt-cells":
42    const: 2
43
44  clocks:
45    maxItems: 1
46
47  clock-names: true
48
49  "#gpio-cells":
50    const: 2
51
52  gpio-controller: true
53
54  gpio-line-names: true
55
56  gpio-ranges:
57    minItems: 1
58    maxItems: 8
59
60required:
61  - compatible
62  - reg
63  - interrupts
64  - interrupt-controller
65  - "#interrupt-cells"
66  - clocks
67  - "#gpio-cells"
68  - gpio-controller
69
70additionalProperties: false
71
72...
73