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