xref: /linux/Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1d3895c2aSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0
2d3895c2aSKrzysztof Kozlowski%YAML 1.2
3d3895c2aSKrzysztof Kozlowski---
4d3895c2aSKrzysztof Kozlowski$id: http://devicetree.org/schemas/power/reset/syscon-reboot.yaml#
5d3895c2aSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6d3895c2aSKrzysztof Kozlowski
7d3895c2aSKrzysztof Kozlowskititle: Generic SYSCON mapped register reset driver
8d3895c2aSKrzysztof Kozlowski
9d3895c2aSKrzysztof Kozlowskimaintainers:
10d3895c2aSKrzysztof Kozlowski  - Sebastian Reichel <sre@kernel.org>
11d3895c2aSKrzysztof Kozlowski
12d3895c2aSKrzysztof Kozlowskidescription: |+
13d3895c2aSKrzysztof Kozlowski  This is a generic reset driver using syscon to map the reset register.
14d3895c2aSKrzysztof Kozlowski  The reset is generally performed with a write to the reset register
152140d68dSSerge Semin  defined by the SYSCON register map base plus the offset with the value and
162140d68dSSerge Semin  mask defined in the reboot node. Default will be little endian mode, 32 bit
172140d68dSSerge Semin  access only. The SYSCON registers map is normally retrieved from the
182140d68dSSerge Semin  parental dt-node. So the SYSCON reboot node should be represented as a
192140d68dSSerge Semin  sub-node of a "syscon", "simple-mfd" node. Though the regmap property
202140d68dSSerge Semin  pointing to the system controller node is also supported.
21d3895c2aSKrzysztof Kozlowski
22d3895c2aSKrzysztof Kozlowskiproperties:
23d3895c2aSKrzysztof Kozlowski  compatible:
24d3895c2aSKrzysztof Kozlowski    const: syscon-reboot
25d3895c2aSKrzysztof Kozlowski
26d3895c2aSKrzysztof Kozlowski  mask:
27d3895c2aSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
28d3895c2aSKrzysztof Kozlowski    description: Update only the register bits defined by the mask (32 bit).
29d3895c2aSKrzysztof Kozlowski
30d3895c2aSKrzysztof Kozlowski  offset:
31d3895c2aSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
32d3895c2aSKrzysztof Kozlowski    description: Offset in the register map for the reboot register (in bytes).
33d3895c2aSKrzysztof Kozlowski
34d3895c2aSKrzysztof Kozlowski  regmap:
35d3895c2aSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
362140d68dSSerge Semin    deprecated: true
372140d68dSSerge Semin    description: |
382140d68dSSerge Semin      Phandle to the register map node. This property is deprecated in favor of
392140d68dSSerge Semin      the syscon-reboot node been a child of a system controller node.
40d3895c2aSKrzysztof Kozlowski
41d3895c2aSKrzysztof Kozlowski  value:
42d3895c2aSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
43d3895c2aSKrzysztof Kozlowski    description: The reset value written to the reboot register (32 bit access).
44d3895c2aSKrzysztof Kozlowski
45*d7544cbeSPali Rohár  priority:
46*d7544cbeSPali Rohár    default: 192
47*d7544cbeSPali Rohár
48d3895c2aSKrzysztof Kozlowskirequired:
49d3895c2aSKrzysztof Kozlowski  - compatible
50d3895c2aSKrzysztof Kozlowski  - offset
51d3895c2aSKrzysztof Kozlowski
527f464532SRob HerringadditionalProperties: false
537f464532SRob Herring
54d3895c2aSKrzysztof KozlowskiallOf:
55*d7544cbeSPali Rohár  - $ref: restart-handler.yaml#
56d3895c2aSKrzysztof Kozlowski  - if:
57d3895c2aSKrzysztof Kozlowski      not:
58d3895c2aSKrzysztof Kozlowski        required:
59d3895c2aSKrzysztof Kozlowski          - mask
60d3895c2aSKrzysztof Kozlowski    then:
61d3895c2aSKrzysztof Kozlowski      required:
62d3895c2aSKrzysztof Kozlowski        - value
63d3895c2aSKrzysztof Kozlowski
64d3895c2aSKrzysztof Kozlowskiexamples:
65d3895c2aSKrzysztof Kozlowski  - |
66d3895c2aSKrzysztof Kozlowski    reboot {
67d3895c2aSKrzysztof Kozlowski        compatible = "syscon-reboot";
68d3895c2aSKrzysztof Kozlowski        regmap = <&regmapnode>;
69d3895c2aSKrzysztof Kozlowski        offset = <0x0>;
70d3895c2aSKrzysztof Kozlowski        mask = <0x1>;
71d3895c2aSKrzysztof Kozlowski    };
72