xref: /openbmc/linux/Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml (revision b0e55fef624e511e060fa05e4ca96cae6d902f04)
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 register map pointed by syscon reference plus the offset
16  with the value and mask defined in the reboot node.
17  Default will be little endian mode, 32 bit access only.
18
19properties:
20  compatible:
21    const: syscon-reboot
22
23  mask:
24    $ref: /schemas/types.yaml#/definitions/uint32
25    description: Update only the register bits defined by the mask (32 bit).
26
27  offset:
28    $ref: /schemas/types.yaml#/definitions/uint32
29    description: Offset in the register map for the reboot register (in bytes).
30
31  regmap:
32    $ref: /schemas/types.yaml#/definitions/phandle
33    description: Phandle to the register map node.
34
35  value:
36    $ref: /schemas/types.yaml#/definitions/uint32
37    description: The reset value written to the reboot register (32 bit access).
38
39required:
40  - compatible
41  - regmap
42  - offset
43
44allOf:
45  - if:
46      not:
47        required:
48          - mask
49    then:
50      required:
51        - value
52
53examples:
54  - |
55    reboot {
56        compatible = "syscon-reboot";
57        regmap = <&regmapnode>;
58        offset = <0x0>;
59        mask = <0x1>;
60    };
61