xref: /linux/Documentation/devicetree/bindings/power/reset/syscon-poweroff.yaml (revision 2ff81fe310167349ea17c8b2b1d8fb2bc2d755ae)
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  The SYSCON register map is normally retrieved from the parental dt-node. So
19  the SYSCON poweroff node should be represented as a sub-node of a "syscon",
20  "simple-mfd" node.
21
22properties:
23  compatible:
24    const: syscon-poweroff
25
26  reg:
27    maxItems: 1
28
29  mask:
30    $ref: /schemas/types.yaml#/definitions/uint32
31    description: Update only the register bits defined by the mask (32 bit).
32
33  offset:
34    $ref: /schemas/types.yaml#/definitions/uint32
35    description: Offset in the register map for the poweroff register (in bytes).
36
37  regmap:
38    $ref: /schemas/types.yaml#/definitions/phandle
39    deprecated: true
40    description:
41      Phandle to the register map node. This property is deprecated in favor of
42      the syscon-poweroff node being a child of a system controller node.
43
44  value:
45    $ref: /schemas/types.yaml#/definitions/uint32
46    description: The poweroff value written to the poweroff register (32 bit access).
47
48required:
49  - compatible
50
51anyOf:
52  - required: [offset]
53  - required: [reg]
54
55additionalProperties: false
56
57allOf:
58  - if:
59      not:
60        required:
61          - mask
62    then:
63      required:
64        - value
65
66examples:
67  - |
68    poweroff {
69        compatible = "syscon-poweroff";
70        offset = <0x0>;
71        mask = <0x7a>;
72    };
73