mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-08 10:31:43 +01:00
power: avs: Add support for CPR (Core Power Reduction)
CPR (Core Power Reduction) is a technology that reduces core power on a CPU or other device. It reads voltage settings in efuse from product test process as initial settings. Each OPP corresponds to a "corner" that has a range of valid voltages for a particular frequency. While the device is running at a particular frequency, CPR monitors dynamic factors such as temperature, etc. and adjusts the voltage for that frequency accordingly to save power and meet silicon characteristic requirements. This driver is based on an RFC by Stephen Boyd[1], which in turn is based on work by others on codeaurora.org[2]. [1] https://lkml.org/lkml/2015/9/18/833 [2] https://source.codeaurora.org/quic/la/kernel/msm-4.14/tree/drivers/regulator/cpr-regulator.c?h=msm-4.14 Co-developed-by: Jorge Ramirez-Ortiz <[email protected]> Signed-off-by: Jorge Ramirez-Ortiz <[email protected]> Signed-off-by: Niklas Cassel <[email protected]> Reviewed-by: Bjorn Andersson <[email protected]> Reviewed-by: Ulf Hansson <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
This commit is contained in:
1 parent
3185fe1d8a
commit
bf6910abf5
4 files changed
+1816
No files matched your search
@@ -13667,6 +13667,14 @@ S: Maintained
|
||||
F: Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt
|
||||
F: drivers/cpufreq/qcom-cpufreq-nvmem.c
|
||||
|
||||
QUALCOMM CORE POWER REDUCTION (CPR) AVS DRIVER
|
||||
M: Niklas Cassel <[email protected]>
|
||||
L: [email protected]
|
||||
L: [email protected]
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/power/avs/qcom,cpr.txt
|
||||
F: drivers/power/avs/qcom-cpr.c
|
||||
|
||||
QUALCOMM EMAC GIGABIT ETHERNET DRIVER
|
||||
M: Timur Tabi <[email protected]>
|
||||
L: [email protected]
|
||||
|
||||
@@ -12,6 +12,21 @@ menuconfig POWER_AVS
|
||||
|
||||
Say Y here to enable Adaptive Voltage Scaling class support.
|
||||
|
||||
config QCOM_CPR
|
||||
tristate "QCOM Core Power Reduction (CPR) support"
|
||||
depends on POWER_AVS
|
||||
select PM_OPP
|
||||
help
|
||||
Say Y here to enable support for the CPR hardware found on Qualcomm
|
||||
SoCs like QCS404.
|
||||
|
||||
This driver populates CPU OPPs tables and makes adjustments to the
|
||||
tables based on feedback from the CPR hardware. If you want to do
|
||||
CPUfrequency scaling say Y here.
|
||||
|
||||
To compile this driver as a module, choose M here: the module will
|
||||
be called qcom-cpr
|
||||
|
||||
config ROCKCHIP_IODOMAIN
|
||||
tristate "Rockchip IO domain support"
|
||||
depends on POWER_AVS && ARCH_ROCKCHIP && OF
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
obj-$(CONFIG_POWER_AVS_OMAP) += smartreflex.o
|
||||
obj-$(CONFIG_QCOM_CPR) += qcom-cpr.o
|
||||
obj-$(CONFIG_ROCKCHIP_IODOMAIN) += rockchip-io-domain.o
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user