linux/Documentation/devicetree/bindings/arm/psci.txt
<<
>>
Prefs
   1* Power State Coordination Interface (PSCI)
   2
   3Firmware implementing the PSCI functions described in ARM document number
   4ARM DEN 0022A ("Power State Coordination Interface System Software on ARM
   5processors") can be used by Linux to initiate various CPU-centric power
   6operations.
   7
   8Issue A of the specification describes functions for CPU suspend, hotplug
   9and migration of secure software.
  10
  11Functions are invoked by trapping to the privilege level of the PSCI
  12firmware (specified as part of the binding below) and passing arguments
  13in a manner similar to that specified by AAPCS:
  14
  15         r0             => 32-bit Function ID / return value
  16        {r1 - r3}       => Parameters
  17
  18Note that the immediate field of the trapping instruction must be set
  19to #0.
  20
  21
  22Main node required properties:
  23
  24 - compatible    : Must be "arm,psci"
  25
  26 - method        : The method of calling the PSCI firmware. Permitted
  27                   values are:
  28
  29                   "smc" : SMC #0, with the register assignments specified
  30                           in this binding.
  31
  32                   "hvc" : HVC #0, with the register assignments specified
  33                           in this binding.
  34
  35Main node optional properties:
  36
  37 - cpu_suspend   : Function ID for CPU_SUSPEND operation
  38
  39 - cpu_off       : Function ID for CPU_OFF operation
  40
  41 - cpu_on        : Function ID for CPU_ON operation
  42
  43 - migrate       : Function ID for MIGRATE operation
  44
  45
  46Example:
  47
  48        psci {
  49                compatible      = "arm,psci";
  50                method          = "smc";
  51                cpu_suspend     = <0x95c10000>;
  52                cpu_off         = <0x95c10001>;
  53                cpu_on          = <0x95c10002>;
  54                migrate         = <0x95c10003>;
  55        };
  56