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