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