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
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
32  gpio-controller:
33    deprecated: true
34
35  "#gpio-cells":
36    deprecated: true
37    const: 2
38
39additionalProperties: false
40
41patternProperties:
42  '^gpio@[0-9a-f]+$':
43    type: object
44    additionalProperties: false
45    description:
46      GPIO children
47
48    properties:
49      compatible:
50        enum:
51          - arm,vexpress-sysreg,sys_led
52          - arm,vexpress-sysreg,sys_mci
53          - arm,vexpress-sysreg,sys_flash
54
55      gpio-controller: true
56
57      "#gpio-cells":
58        const: 2
59        description: |
60          The first cell is the function number:
61          for sys_led : 0..7 = LED 0..7
62          for sys_mci : 0 = MMC CARDIN, 1 = MMC WPROT
63          for sys_flash : 0 = NOR FLASH WPn
64          The second cell can take standard GPIO flags.
65
66      reg:
67        maxItems: 1
68
69    required:
70      - compatible
71      - reg
72      - gpio-controller
73      - "#gpio-cells"
74
75required:
76  - compatible
77  - reg
78
79examples:
80  - |
81    sysreg@0 {
82        compatible = "arm,vexpress-sysreg";
83        reg = <0x00000 0x1000>;
84        #address-cells = <1>;
85        #size-cells = <1>;
86        ranges = <0 0 0x1000>;
87
88        v2m_led_gpios: gpio@8 {
89            compatible = "arm,vexpress-sysreg,sys_led";
90            reg = <0x008 4>;
91            gpio-controller;
92            #gpio-cells = <2>;
93        };
94    };
95
96...
97