Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 enum:
25 - syscon-reboot
26 - google,gs101-reboot
27
28 mask:
29 $ref: /schemas/types.yaml#/definitions/uint32
30 description: Update only the register bits defined by the mask (32 bit).
31
32 offset:
33 $ref: /schemas/types.yaml#/definitions/uint32
34 description: Offset in the register map for the reboot register (in bytes).
35
36 reg:
37 maxItems: 1
38 description: Base address and size for the reboot register.
39
40 regmap:
41 $ref: /schemas/types.yaml#/definitions/phandle
42 deprecated: true
43 description: |
44 Phandle to the register map node. This property is deprecated in favor of
45 the syscon-reboot node been a child of a system controller node.
46
47 value:
48 $ref: /schemas/types.yaml#/definitions/uint32
49 description: The reset value written to the reboot register (32 bit access).
50
51 priority:
52 default: 192
53
54required:
55 - compatible
56
57additionalProperties: false
58
59allOf:
60 - $ref: restart-handler.yaml#
61 - if:
62 properties:
63 compatible:
64 contains:
65 const: google,gs101-reboot
66 then:
67 properties:
68 mask: false
69 offset: false
70 reg: false
71 value: false
72
73 else:
74 if:
75 not:
76 required:
77 - mask
78 then:
79 required:
80 - value
81
82 oneOf:
83 - required: [offset]
84 - required: [reg]
85
86examples:
87 - |
88 reboot {
89 compatible = "syscon-reboot";
90 regmap = <®mapnode>;
91 offset = <0x0>;
92 mask = <0x1>;
93 };
94
95 - |
96 reboot {
97 compatible = "google,gs101-reboot";
98 };