56 lines
1.9 KiB
Plaintext
56 lines
1.9 KiB
Plaintext
* LPM Workarounds
|
|
|
|
The required properties are:
|
|
|
|
- compatible: "qcom,lpm-workarounds"
|
|
|
|
The optional properties are:
|
|
- reg: The physical address and the size of the l1_l2_gcc and l2_pwr_sts
|
|
regitsters of performance cluster.
|
|
|
|
- reg-names: "l2_pwr_sts" - string to identify l2_pwr_sts physical address.
|
|
"l1_l2_gcc" - string to identify l1_l2_gcc physical address.
|
|
|
|
- qcom,lpm-wa-cx-turbo-unvote: Indicates the workaround to unvote CX turbo
|
|
vote when system is coming out of rpm assisted power collaspe.
|
|
lpm-cx-supply is required if this is present.
|
|
|
|
- lpm-cx-supply: will hold handle for CX regulator supply which is used
|
|
to unvote.
|
|
|
|
- qcom,lpm-wa-skip-l2-spm: Due to a hardware bug on 8939 and 8909, secure
|
|
world needs to disable and enable L2 SPM to get the proper context
|
|
in secure watchdog bite cases. With this workaround there is a race
|
|
in programming L2 SPM between HLOS and secure world. This leads to
|
|
stability issues. To avoid this program L2 SPM only in secure world
|
|
based on the L2 mode flag passed. Set lpm-wa-skip-l2-spm node if this
|
|
is required.
|
|
|
|
- qcom,lpm-wa-dynamic-clock-gating: Due to a hardware bug on 8952, L1/L2 dynamic
|
|
clock gating needs to be enabled by software for performance cluster
|
|
cores and L2. Set lpm-wa-dynamic-clock-gating node if this workaround is
|
|
required.
|
|
|
|
- qcom,cpu-offline-mask: Dynamic clock gating should be enabled when cluster is
|
|
in L2 PC. Each bit of cpu-offline-mask lists the cpu no. to hotplug by KTM
|
|
driver.
|
|
|
|
- qcom,non-boot-cpu-index: will hold index of non boot cluster cpu.
|
|
|
|
- qcom,l1-l2-gcc-secure: indicates L1/L2 clock enabling register is secure.
|
|
|
|
Example:
|
|
|
|
qcom,lpm-workarounds {
|
|
compatible = "qcom,lpm-workarounds";
|
|
reg = <0x0B011018 0x4>,
|
|
<0x0B011088 0x4>;
|
|
reg-names = "l2-pwr-sts", "l1-l2-gcc";
|
|
lpm-cx-supply = <&pm8916_s2_corner>;
|
|
qcom,lpm-wa-cx-turbo-unvote;
|
|
qcom,lpm-wa-skip-l2-spm;
|
|
qcom,lpm-wa-dynamic-clock-gating;
|
|
qcom,cpu-offline-mask = "0xF";
|
|
qcom,non-boot-cpu-index = <4>;
|
|
}
|