1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/vexpress-sysreg.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ARM Versatile Express system registers bindings
8
9maintainers:
10  - Andre Przywara <andre.przywara@arm.com>
11
12description:
13  This is a system control registers block, providing multiple low level
14  platform functions like board detection and identification, software
15  interrupt generation, MMC and NOR Flash control, etc.
16
17properties:
18  compatible:
19    const: arm,vexpress-sysreg
20
21  reg:
22    maxItems: 1
23
24  "#address-cells":
25    const: 1
26
27  "#size-cells":
28    const: 1
29
30  ranges: true
31
32additionalProperties: false
33
34patternProperties:
35  '^gpio@[0-9a-f]+$':
36    type: object
37    additionalProperties: false
38    description:
39      GPIO children
40
41    properties:
42      compatible:
43        enum:
44          - arm,vexpress-sysreg,sys_led
45          - arm,vexpress-sysreg,sys_mci
46          - arm,vexpress-sysreg,sys_flash
47
48      gpio-controller: true
49
50      "#gpio-cells":
51        const: 2
52        description: |
53          The first cell is the function number:
54          for sys_led : 0..7 = LED 0..7
55          for sys_mci : 0 = MMC CARDIN, 1 = MMC WPROT
56          for sys_flash : 0 = NOR FLASH WPn
57          The second cell can take standard GPIO flags.
58
59      reg:
60        maxItems: 1
61
62    required:
63      - compatible
64      - reg
65      - gpio-controller
66      - "#gpio-cells"
67
68required:
69  - compatible
70  - "#address-cells"
71  - "#size-cells"
72
73examples:
74  - |
75    sysreg@0 {
76        compatible = "arm,vexpress-sysreg";
77        reg = <0x00000 0x1000>;
78        #address-cells = <1>;
79        #size-cells = <1>;
80        ranges = <0 0 0x1000>;
81
82        v2m_led_gpios: gpio@8 {
83            compatible = "arm,vexpress-sysreg,sys_led";
84            reg = <0x008 4>;
85            gpio-controller;
86            #gpio-cells = <2>;
87        };
88    };
89
90...
91