162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/power/reset/reboot-mode.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Generic reboot mode core map
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Andy Yan <andy.yan@rock-chips.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  This driver get reboot mode arguments and call the write
1462306a36Sopenharmony_ci  interface to store the magic value in special register
1562306a36Sopenharmony_ci  or ram. Then the bootloader can read it and take different
1662306a36Sopenharmony_ci  action according to the argument stored.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci  All mode properties are vendor specific, it is a indication to tell
1962306a36Sopenharmony_ci  the bootloader what to do when the system reboots, and should be named
2062306a36Sopenharmony_ci  as mode-xxx = <magic> (xxx is mode name, magic should be a non-zero value).
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  For example, modes common Android platform are:
2362306a36Sopenharmony_ci    - normal: Normal reboot mode, system reboot with command "reboot".
2462306a36Sopenharmony_ci    - recovery: Android Recovery mode, it is a mode to format the device or update a new image.
2562306a36Sopenharmony_ci    - bootloader: Android fastboot mode, it's a mode to re-flash partitions on the Android based device.
2662306a36Sopenharmony_ci    - loader: A bootloader mode, it's a mode used to download image on Rockchip platform,
2762306a36Sopenharmony_ci              usually used in development.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciproperties:
3062306a36Sopenharmony_ci  mode-normal:
3162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
3262306a36Sopenharmony_ci    description:
3362306a36Sopenharmony_ci      Default value to set on a reboot if no command was provided.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cipatternProperties:
3662306a36Sopenharmony_ci  "^mode-.*$":
3762306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciadditionalProperties: true
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciexamples:
4262306a36Sopenharmony_ci  - |
4362306a36Sopenharmony_ci    reboot-mode {
4462306a36Sopenharmony_ci      mode-normal = <0>;
4562306a36Sopenharmony_ci      mode-recovery = <1>;
4662306a36Sopenharmony_ci      mode-bootloader = <2>;
4762306a36Sopenharmony_ci      mode-loader = <3>;
4862306a36Sopenharmony_ci    };
4962306a36Sopenharmony_ci...
50