blob: b6acff199cdecea08c1243ed5e8ad71240d65e9a [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
Tom Rini93743d22024-04-01 09:08:13 -040032allOf:
33 - $ref: reboot-mode.yaml#
Tom Rini53633a82024-02-29 12:33:36 -050034
Tom Rini93743d22024-04-01 09:08:13 -040035unevaluatedProperties: false
Tom Rini53633a82024-02-29 12:33:36 -050036
37required:
38 - compatible
39 - offset
40
41examples:
42 - |
43 #include <dt-bindings/soc/rockchip,boot-mode.h>
44
45 reboot-mode {
46 compatible = "syscon-reboot-mode";
47 offset = <0x40>;
48 mode-normal = <BOOT_NORMAL>;
49 mode-recovery = <BOOT_RECOVERY>;
50 mode-bootloader = <BOOT_FASTBOOT>;
51 mode-loader = <BOOT_BL_DOWNLOAD>;
52 };
53...