[PATCH v23 06/13] dt-bindings: arm: Document reboot mode magic
Shivendra Pratap
shivendra.pratap at oss.qualcomm.com
Thu Jul 23 06:33:12 PDT 2026
On 22-07-2026 22:41, Rob Herring wrote:
> 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 at oss.qualcomm.com>
>> ---
>> 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.
sure thanks. Will fix this.
thanks,
Shivendra
More information about the linux-arm-kernel
mailing list