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/nvmem-reboot-mode.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Generic NVMEM reboot mode
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  This driver gets the reboot mode magic value from the reboot-mode driver
1462306a36Sopenharmony_ci  and stores it in the NVMEM cell named "reboot-mode". The bootloader can
1562306a36Sopenharmony_ci  then read it and take different action according to the value.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    const: nvmem-reboot-mode
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci  nvmem-cells:
2262306a36Sopenharmony_ci    description:
2362306a36Sopenharmony_ci      A phandle pointing to the nvmem-cells node where the vendor-specific
2462306a36Sopenharmony_ci      magic value representing the reboot mode is stored.
2562306a36Sopenharmony_ci    maxItems: 1
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  nvmem-cell-names:
2862306a36Sopenharmony_ci    items:
2962306a36Sopenharmony_ci      - const: reboot-mode
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_cipatternProperties:
3262306a36Sopenharmony_ci  "^mode-.+":
3362306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
3462306a36Sopenharmony_ci    description: Vendor-specific mode value written to the mode register
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_cirequired:
3762306a36Sopenharmony_ci  - compatible
3862306a36Sopenharmony_ci  - nvmem-cells
3962306a36Sopenharmony_ci  - nvmem-cell-names
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciadditionalProperties: false
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciexamples:
4462306a36Sopenharmony_ci  - |
4562306a36Sopenharmony_ci    reboot-mode {
4662306a36Sopenharmony_ci        compatible = "nvmem-reboot-mode";
4762306a36Sopenharmony_ci        nvmem-cells = <&reboot_reason>;
4862306a36Sopenharmony_ci        nvmem-cell-names = "reboot-mode";
4962306a36Sopenharmony_ci        mode-recovery = <0x01>;
5062306a36Sopenharmony_ci        mode-bootloader = <0x02>;
5162306a36Sopenharmony_ci    };
5262306a36Sopenharmony_ci...
53