xref: /linux/Documentation/devicetree/bindings/power/reset/syscon-poweroff.yaml (revision a4eb44a6435d6d8f9e642407a4a06f65eb90ca04)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/power/reset/syscon-poweroff.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Generic SYSCON mapped register poweroff driver
8
9maintainers:
10  - Sebastian Reichel <sre@kernel.org>
11
12description: |+
13  This is a generic poweroff driver using syscon to map the poweroff register.
14  The poweroff is generally performed with a write to the poweroff register
15  defined by the register map pointed by syscon reference plus the offset
16  with the value and mask defined in the poweroff node.
17  Default will be little endian mode, 32 bit access only.
18
19properties:
20  compatible:
21    const: syscon-poweroff
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 poweroff 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 poweroff value written to the poweroff register (32 bit access).
38
39required:
40  - compatible
41  - regmap
42  - offset
43
44additionalProperties: false
45
46allOf:
47  - if:
48      not:
49        required:
50          - mask
51    then:
52      required:
53        - value
54
55examples:
56  - |
57    poweroff {
58        compatible = "syscon-poweroff";
59        regmap = <&regmapnode>;
60        offset = <0x0>;
61        mask = <0x7a>;
62    };
63