xref: /linux/Documentation/devicetree/bindings/mfd/syscon-common.yaml (revision b61104e7a6349bd2c2b3e2fb3260d87f15eda8f4)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/syscon-common.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: System Controller Registers R/W Common Properties
8
9description:
10  System controller node represents a register region containing a set
11  of miscellaneous registers. The registers are not cohesive enough to
12  represent as any specific type of device. The typical use-case is
13  for some other node's driver, or platform-specific code, to acquire
14  a reference to the syscon node (e.g. by phandle, node path, or
15  search using a specific compatible value), interrogate the node (or
16  associated OS driver) to determine the location of the registers,
17  and access the registers directly.
18
19maintainers:
20  - Lee Jones <lee@kernel.org>
21
22select:
23  properties:
24    compatible:
25      contains:
26        const: syscon
27
28  required:
29    - compatible
30
31properties:
32  compatible:
33    contains:
34      const: syscon
35    minItems: 2
36    maxItems: 5  # Should be enough
37
38  reg-io-width:
39    description:
40      The size (in bytes) of the IO accesses that should be performed
41      on the device.
42    enum: [1, 2, 4, 8]
43
44required:
45  - compatible
46  - reg
47
48allOf:
49  - if:
50      properties:
51        compatible:
52          contains:
53            const: simple-mfd
54    then:
55      properties:
56        compatible:
57          minItems: 3
58          maxItems: 5
59
60additionalProperties: true
61
62examples:
63  - |
64    syscon: syscon@1c00000 {
65        compatible = "allwinner,sun8i-h3-system-controller", "syscon";
66        reg = <0x01c00000 0x1000>;
67    };
68...
69