On Fri, Jul 11, 2025, at 14:32, Shivendra Pratap wrote: > On 7/11/2025 4:17 AM, Rob Herring wrote: >> On Thu, Jul 10, 2025 at 02:45:44PM +0530, Shivendra Pratap wrote: >>> 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. I don't see any distinction here either. As Rob says, you have to get both 32-bit numbers from DT in order to get the desired reboot-mode, and you have to pass them both to the firmware when rebooting. The distinction between cookie and magic value may be relevant in the context of the psci specification, but for the Linux driver, this is really just a 64-bit magic number. Arnd