[PATCH v10 02/10] dt-bindings: power: reset: Document reboot-mode cookie
Shivendra Pratap
shivendra.pratap at oss.qualcomm.com
Fri Jul 11 05:32:15 PDT 2025
On 7/11/2025 4:17 AM, Rob Herring wrote:
> On Thu, Jul 10, 2025 at 02:45:44PM +0530, Shivendra Pratap wrote:
>> Update the reboot-mode binding to support an optional cookie
>> value in mode-<cmd> properties. The cookie is used to supply
>> additional data for reboot modes that accept two arguments.
>>
>> Signed-off-by: Shivendra Pratap <shivendra.pratap at oss.qualcomm.com>
>> ---
>> .../devicetree/bindings/power/reset/reboot-mode.yaml | 12 +++++++-----
>> 1 file changed, 7 insertions(+), 5 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml
>> index 3ddac06cec7277789b066d8426ea77d293298fac..a4d2fe1db51e0c1f34ebefddaad82b8cc0b1b34a 100644
>> --- a/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml
>> +++ b/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml
>> @@ -10,14 +10,15 @@ maintainers:
>> - Andy Yan <andy.yan at rock-chips.com>
>>
>> description: |
>> - This driver get reboot mode arguments and call the write
>> - interface to store the magic value in special register
>> - or ram. Then the bootloader can read it and take different
>> - action according to the argument stored.
>> + This driver gets reboot mode arguments and calls the write
>> + interface to store the magic and an optional cookie value
>> + in special register or ram. Then the bootloader can read it
>> + and take different action according to the argument stored.
>>
>> All mode properties are vendor specific, it is a indication to tell
>> the bootloader what to do when the system reboots, and should be named
>> - as mode-xxx = <magic> (xxx is mode name, magic should be a non-zero value).
>> + as mode-xxx = <magic cookie> (xxx is mode name, magic should be a
>> + non-zero value, cookie is optional).
>
> I don't understand the distinction between magic and cookie... Isn't all
> just magic values and some platform needs more than 32-bits of it?
Need two different arguments. Will try to clarify a bit below.
PSCI defines SYSTEM_RESET2 vendor-specific resets which takes two
parameters - reset_type and cookie. Both parameters are independent and
used by firmware to define different types of resets or shutdown.
As per spec:
reset_type: Values in the range 0x80000000-0xFFFFFFFF of the reset_type parameter
can be used to request vendor-specific resets or shutdowns.
cookie: the cookie parameter can be used to pass additional data to the
implementation.
Now to implement SYSTEM_RESET2 vendor-specific resets using reboot-mode
driver, we will need two separate arguments. reboot-mode already defines a
magic, which will be used as reset_type. For the second parameter requirement of
SYSTEM_RESET2, we add support for additional argument cookie.
>
>>
>> For example, modes common Android platform are:
>> - normal: Normal reboot mode, system reboot with command "reboot".
>> @@ -45,5 +46,6 @@ examples:
>> mode-recovery = <1>;
>> mode-bootloader = <2>;
>> mode-loader = <3>;
>> + mode-edl = <1 2>;
>> };
>> ...
>>
>> --
>> 2.34.1
>>
More information about the Linux-rockchip
mailing list