162306a36Sopenharmony_ciSPM AVS Wrapper 2 (SAW2) 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciThe SAW2 is a wrapper around the Subsystem Power Manager (SPM) and the 462306a36Sopenharmony_ciAdaptive Voltage Scaling (AVS) hardware. The SPM is a programmable 562306a36Sopenharmony_cipower-controller that transitions a piece of hardware (like a processor or 662306a36Sopenharmony_cisubsystem) into and out of low power modes via a direct connection to 762306a36Sopenharmony_cithe PMIC. It can also be wired up to interact with other processors in the 862306a36Sopenharmony_cisystem, notifying them when a low power state is entered or exited. 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciMultiple revisions of the SAW hardware are supported using these Device Nodes. 1162306a36Sopenharmony_ciSAW2 revisions differ in the register offset and configuration data. Also, the 1262306a36Sopenharmony_cisame revision of the SAW in different SoCs may have different configuration 1362306a36Sopenharmony_cidata due the differences in hardware capabilities. Hence the SoC name, the 1462306a36Sopenharmony_civersion of the SAW hardware in that SoC and the distinction between cpu (big 1562306a36Sopenharmony_cior Little) or cache, may be needed to uniquely identify the SAW register 1662306a36Sopenharmony_ciconfiguration and initialization data. The compatible string is used to 1762306a36Sopenharmony_ciindicate this parameter. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciPROPERTIES 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci- compatible: 2262306a36Sopenharmony_ci Usage: required 2362306a36Sopenharmony_ci Value type: <string> 2462306a36Sopenharmony_ci Definition: Must have 2562306a36Sopenharmony_ci "qcom,saw2" 2662306a36Sopenharmony_ci A more specific value could be one of: 2762306a36Sopenharmony_ci "qcom,apq8064-saw2-v1.1-cpu" 2862306a36Sopenharmony_ci "qcom,msm8226-saw2-v2.1-cpu" 2962306a36Sopenharmony_ci "qcom,msm8974-saw2-v2.1-cpu" 3062306a36Sopenharmony_ci "qcom,apq8084-saw2-v2.1-cpu" 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci- reg: 3362306a36Sopenharmony_ci Usage: required 3462306a36Sopenharmony_ci Value type: <prop-encoded-array> 3562306a36Sopenharmony_ci Definition: the first element specifies the base address and size of 3662306a36Sopenharmony_ci the register region. An optional second element specifies 3762306a36Sopenharmony_ci the base address and size of the alias register region. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci- regulator: 4062306a36Sopenharmony_ci Usage: optional 4162306a36Sopenharmony_ci Value type: boolean 4262306a36Sopenharmony_ci Definition: Indicates that this SPM device acts as a regulator device 4362306a36Sopenharmony_ci device for the core (CPU or Cache) the SPM is attached 4462306a36Sopenharmony_ci to. 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciExample 1: 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci power-controller@2099000 { 4962306a36Sopenharmony_ci compatible = "qcom,saw2"; 5062306a36Sopenharmony_ci reg = <0x02099000 0x1000>, <0x02009000 0x1000>; 5162306a36Sopenharmony_ci regulator; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciExample 2: 5562306a36Sopenharmony_ci saw0: power-controller@f9089000 { 5662306a36Sopenharmony_ci compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2"; 5762306a36Sopenharmony_ci reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>; 5862306a36Sopenharmony_ci }; 59