123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- * MSM Subsystem Power Manager (spm-v2)
- S4 generation of MSMs have SPM hardware blocks to control the Application
- Processor Sub-System power. These SPM blocks run individual state machine
- to determine what the core (L2 or Krait/Scorpion) would do when the WFI
- instruction is executed by the core. The SAW hardware block handles SPM and
- AVS functionality for the cores.
- The devicetree representation of the SPM block should be:
- Required properties
- - compatible: "qcom,spm-v2"
- - reg: The physical address and the size of the SPM's memory mapped registers
- - qcom, core-id: The core id the SPM block is attached to.
- {0..n} for cores {0..n}
- {0xffff} for L2
- - qcom,saw2-ver-reg: The location of the version register
- - qcom,saw2-cfg: SAW2 configuration register
- - qcom,saw2-avs-ctl: The AVS control register
- - qcom,saw2-avs-hysterisis: The AVS hysterisis register to delay the AVS
- controller requests
- - qcom,saw2-spm-dly: Provides the values for the SPM delay command in the SPM
- sequence
- - qcom,saw2-spm-ctl: The SPM control register
- - qcom,saw2-vctl-timeout-us: The timeout value to wait for voltage to change
- after sending the voltage command to the PMIC
- Optional properties
- - qcom,saw2-avs-limit: The AVS limit register
- - qcom,saw2-avs-dly: The AVS delay register is used to specify the delay values
- between AVS controller requests
- - qcom,saw2-pmic-data0..7: Specify the pmic data value and the associated FTS
- index to send the PMIC data to
- - qcom,saw2-vctl-port: The PVC (PMIC Virtual Channel) port used for changing
- voltage
- - qcom,saw2-phase-port: The PVC port used for changing the number of phases
- - qcom,saw2-pfm-port: The PVC port used for enabling PWM/PFM modes
- - qcom,saw2-spm-cmd-wfi: The WFI command sequence
- - qcom,saw2-spm-cmd-ret: The Retention command sequence
- - qcom,saw2-spm-cmd-spc: The Standalone PC command sequence
- - qcom,saw2-spm-cmd-pc-no-rpm: The Power Collapse command sequence where APPS
- proc won't inform the RPM.
- - qcom,saw2-spm-cmd-pc: The Power Collapse command sequence
- - qcom,saw2-spm-cmd-gdhs: L2 GDHS command sequence
- - qcom,L2-spm-is-apcs-master: Boolean indicates if the target uses L2 SAW to
- control the gang rail. If this is not specified the driver assumes
- that the cpus run with their own separate rails and each cpu's spm
- talks to its regulator.
- Example:
- qcom,spm@f9089000 {
- compatible = "qcom,spm-v2";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = <0xf9089000 0x1000>;
- qcom,core-id = <0>;
- qcom,saw2-ver-reg = <0xfd0>;
- qcom,saw2-cfg = <0x1b>;
- qcom,saw2-avs-ctl = <0>;
- qcom,saw2-avs-hysteresis = <0>;
- qcom,saw2-avs-limit = <0>;
- qcom,saw2-avs-dly= <0>;
- qcom,saw2-spm-dly= <0x20000400>;
- qcom,saw2-spm-ctl = <0x1>;
- qcom,saw2-spm-cmd-wfi = [03 0b 0f];
- qcom,saw2-spm-cmd-spc = [00 20 50 80 60 70 10 92
- a0 b0 03 68 70 3b 92 a0 b0
- 82 2b 50 10 30 02 22 30 0f];
- qcom,saw2-spm-cmd-pc = [00 20 10 92 a0 b0 07 3b 92
- a0 b0 82 10 30 02 22 30 0f];
- };
|