Re: [PATCH v23 06/13] dt-bindings: arm: Document reboot mode magic
From: Rob Herring
Date: Wed Jul 22 2026 - 13:23:49 EST
On Tue, Jul 14, 2026 at 10:46:34PM +0530, Shivendra Pratap wrote:
> Add bindings to describe vendor-specific reboot modes. Values here
> correspond to valid parameters to vendor-specific reset types in PSCI
> SYSTEM_RESET2 call.
>
> Signed-off-by: Shivendra Pratap <shivendra.pratap@xxxxxxxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/arm/psci.yaml | 54 +++++++++++++++++++++++++
> 1 file changed, 54 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> index 6e2e0c551841..11b90e8affb3 100644
> --- a/Documentation/devicetree/bindings/arm/psci.yaml
> +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> @@ -98,6 +98,37 @@ properties:
> [1] Kernel documentation - ARM idle states bindings
> Documentation/devicetree/bindings/cpu/idle-states.yaml
>
> + reboot-mode:
> + type: object
> + $ref: /schemas/power/reset/reboot-mode.yaml#
> + additionalProperties: false
> + properties:
> + # "mode-normal" is just SYSTEM_RESET
> + mode-normal: false
> + patternProperties:
> + "^mode-.*$":
Since your example violates naming rules:
"^mode-[a-z0-9]+$"
> + minItems: 1
> + maxItems: 3
> + items:
> + - description: arg1 (vendor-specific SYSTEM_RESET2 reset_type)
> + minimum: 0x80000000
> + - description: arg2 (cookie_lo in 2-cell form, cookie_hi in 3-cell form)
> + - description: arg3 (cookie_lo in 3-cell form)
> + description: |
> + Describes a PSCI SYSTEM_RESET2 vendor-specific reset type. The string
> + after "mode-" maps a reboot mode to a vendor-specific reset.
> + A vendor-specific reset takes two arguments, a 32-bit reset_type and a
> + 64-bit cookie. The arguments are encoded as up to three 32-bit cells.
> + Each mode property is encoded as mode-xxx = <arg1[, arg2[, arg3]]>,
> + where:
> + - arg1 is reset_type and must be >= 0x80000000.
> + - In 2-cell form, arg2 is lower 32 bits of cookie.
> + - In 3-cell form, arg2 is high 32 bits of cookie
> + and arg3 is low 32 bits of cookie.
> +
> + All values should be provided as per the PSCI SYSTEM_RESET2
> + specification.
> +
> patternProperties:
> "^power-domain-":
> $ref: /schemas/power/power-domain.yaml#
> @@ -137,6 +168,15 @@ allOf:
> required:
> - cpu_off
> - cpu_on
> + - if:
> + not:
> + properties:
> + compatible:
> + contains:
> + const: arm,psci-1.0
> + then:
> + properties:
> + reboot-mode: false
>
> additionalProperties: false
>
> @@ -260,4 +300,18 @@ examples:
> domain-idle-states = <&cluster_ret>, <&cluster_pwrdn>;
> };
> };
> +
> + - |+
> +
> + // Case 5: SYSTEM_RESET2 vendor resets
> + psci {
> + compatible = "arm,psci-1.0";
> + method = "smc";
> +
> + reboot-mode {
> + mode-edl = <0x80000000 0x00000001>;
> + mode-bootloader = <0x80010001 0x00000002>;
> + mode-needscookie_64 = <0x80000000 0x00000001 0x00000002>;
Don't use '_' in property names. This is a W=2 warning.
Rob