blob: 9b1ffceefe3dec86250dc235f92545bb123ea3cf [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/power/reset/syscon-reboot-mode.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Generic SYSCON reboot mode driver
8
9maintainers:
10 - Sebastian Reichel <sre@kernel.org>
11
12description: |
13 This driver gets reboot mode magic value from reboot-mode driver
14 and stores it in a SYSCON mapped register. Then the bootloader
15 can read it and take different action according to the magic
16 value stored. The SYSCON mapped register is retrieved from the
17 parental dt-node plus the offset. So the SYSCON reboot-mode node
18 should be represented as a sub-node of a "syscon", "simple-mfd" node.
19
20properties:
21 compatible:
22 const: syscon-reboot-mode
23
24 mask:
25 $ref: /schemas/types.yaml#/definitions/uint32
26 description: Update only the register bits defined by the mask (32 bit)
27
28 offset:
29 $ref: /schemas/types.yaml#/definitions/uint32
30 description: Offset in the register map for the mode register (in bytes)
31
32patternProperties:
33 "^mode-.+":
34 $ref: /schemas/types.yaml#/definitions/uint32
35 description: Vendor-specific mode value written to the mode register
36
37additionalProperties: false
38
39required:
40 - compatible
41 - offset
42
43examples:
44 - |
45 #include <dt-bindings/soc/rockchip,boot-mode.h>
46
47 reboot-mode {
48 compatible = "syscon-reboot-mode";
49 offset = <0x40>;
50 mode-normal = <BOOT_NORMAL>;
51 mode-recovery = <BOOT_RECOVERY>;
52 mode-bootloader = <BOOT_FASTBOOT>;
53 mode-loader = <BOOT_BL_DOWNLOAD>;
54 };
55...