msm: cpr-regulator: modify how initial voltages and limits are specified

Currently, the initial voltage as well as the CPR ceiling and floor
voltages for each voltage corner are defined using these four device tree
properties: qcom,pvs-init-voltage, qcom,pvs-corner-ceiling-slow,
qcom,pvs-corner-ceiling-nom, and qcom,pvs-corner-ceiling-fast.
Unfortunately, since qcom,pvs-init-voltage only defines the initial
voltage for the turbo voltage corner for each PVS bin value, the initial
voltage used for the SVS and nominal corners must be calculated using a
complicated and potentially error prone algorithm using the four properties
mentioned earlier. Furthermore, the coarse slow/nom/fast binning leads to
wasted power for parts with intermediate PVS bin defined initial voltage
requirements when the CPR controller is disabled.

Therefore, replace the four properties listed above with the following
three properties: qcom,pvs-voltage-table, qcom,cpr-voltage-ceiling and
qcom,cpr-voltage-floor. The property qcom,pvs-voltage-table specifies a
mapping from a PVS bin value to the initial voltage for each voltage
corner. The properties qcom,cpr-voltage-ceiling and qcom,cpr-voltage-floor
specify the ceiling and floor for each voltage corner respectively.

Also, remove all usage of 'process' from inside of the cpr-regulator driver
since it has no meaning without the qcom,pvs-corner-ceiling-slow/nom/fast
properties.

CRs-Fixed: 606213
Change-Id: I7996074b39e1f80f6dc10e25428e09d7cb364192
Signed-off-by: Ke Liu <keliu@codeaurora.org>
6 files changed