xref: /linux/Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml (revision 2eff01ee2881becc9daaa0d53477ec202136b1f4)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/power/reset/syscon-reboot.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Generic SYSCON mapped register reset driver
8
9maintainers:
10  - Sebastian Reichel <sre@kernel.org>
11
12description: |+
13  This is a generic reset driver using syscon to map the reset register.
14  The reset is generally performed with a write to the reset register
15  defined by the SYSCON register map base plus the offset with the value and
16  mask defined in the reboot node. Default will be little endian mode, 32 bit
17  access only. The SYSCON registers map is normally retrieved from the
18  parental dt-node. So the SYSCON reboot node should be represented as a
19  sub-node of a "syscon", "simple-mfd" node. Though the regmap property
20  pointing to the system controller node is also supported.
21
22properties:
23  compatible:
24    const: syscon-reboot
25
26  mask:
27    $ref: /schemas/types.yaml#/definitions/uint32
28    description: Update only the register bits defined by the mask (32 bit).
29
30  offset:
31    $ref: /schemas/types.yaml#/definitions/uint32
32    description: Offset in the register map for the reboot register (in bytes).
33
34  reg:
35    maxItems: 1
36    description: Base address and size for the reboot register.
37
38  regmap:
39    $ref: /schemas/types.yaml#/definitions/phandle
40    deprecated: true
41    description: |
42      Phandle to the register map node. This property is deprecated in favor of
43      the syscon-reboot node been a child of a system controller node.
44
45  value:
46    $ref: /schemas/types.yaml#/definitions/uint32
47    description: The reset value written to the reboot register (32 bit access).
48
49  priority:
50    default: 192
51
52oneOf:
53  - required:
54      - offset
55  - required:
56      - reg
57
58required:
59  - compatible
60
61additionalProperties: false
62
63allOf:
64  - $ref: restart-handler.yaml#
65  - if:
66      not:
67        required:
68          - mask
69    then:
70      required:
71        - value
72
73examples:
74  - |
75    reboot {
76        compatible = "syscon-reboot";
77        regmap = <&regmapnode>;
78        offset = <0x0>;
79        mask = <0x1>;
80    };
81