mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
67 lines
2.8 KiB
Diff
67 lines
2.8 KiB
Diff
From c013e84fa1cc1b8cd1ded28639a0f9745360aae6 Mon Sep 17 00:00:00 2001
|
|
From: Robert Marko <robimarko@gmail.com>
|
|
Date: Mon, 11 Apr 2022 14:35:36 +0200
|
|
Subject: [PATCH] regulator: add Qualcomm CPR regulators
|
|
|
|
Allow building Qualcomm CPR regulators.
|
|
|
|
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|
---
|
|
drivers/regulator/Kconfig | 33 +++++++++++++++++++++++++++++++++
|
|
drivers/regulator/Makefile | 3 +++
|
|
2 files changed, 36 insertions(+)
|
|
|
|
--- a/drivers/regulator/Kconfig
|
|
+++ b/drivers/regulator/Kconfig
|
|
@@ -1423,5 +1423,38 @@ config REGULATOR_QCOM_LABIBB
|
|
boost regulator and IBB can be used as a negative boost regulator
|
|
for LCD display panel.
|
|
|
|
+config REGULATOR_CPR3
|
|
+ bool "QCOM CPR3 regulator core support"
|
|
+ help
|
|
+ This driver supports Core Power Reduction (CPR) version 3 controllers
|
|
+ which are used by some Qualcomm Technologies, Inc. SoCs to
|
|
+ manage important voltage regulators. CPR3 controllers are capable of
|
|
+ monitoring several ring oscillator sensing loops simultaneously. The
|
|
+ CPR3 controller informs software when the silicon conditions require
|
|
+ the supply voltage to be increased or decreased. On certain supply
|
|
+ rails, the CPR3 controller is able to propagate the voltage increase
|
|
+ or decrease requests all the way to the PMIC without software
|
|
+ involvement.
|
|
+
|
|
+config REGULATOR_CPR3_NPU
|
|
+ bool "QCOM CPR3 regulator for NPU"
|
|
+ depends on OF && REGULATOR_CPR3
|
|
+ help
|
|
+ This driver supports Qualcomm Technologies, Inc. NPU CPR3
|
|
+ regulator Which will always operate in open loop.
|
|
+
|
|
+config REGULATOR_CPR4_APSS
|
|
+ bool "QCOM CPR4 regulator for APSS"
|
|
+ depends on OF && REGULATOR_CPR3
|
|
+ help
|
|
+ This driver supports Qualcomm Technologies, Inc. APSS application
|
|
+ processor specific features including memory array power mux (APM)
|
|
+ switching, one CPR4 thread which monitor the two APSS clusters that
|
|
+ are both powered by a shared supply, hardware closed-loop auto
|
|
+ voltage stepping, voltage adjustments based on online core count,
|
|
+ voltage adjustments based on temperature readings, and voltage
|
|
+ adjustments for performance boost mode. This driver reads both initial
|
|
+ voltage and CPR target quotient values out of hardware fuses.
|
|
+
|
|
endif
|
|
|
|
--- a/drivers/regulator/Makefile
|
|
+++ b/drivers/regulator/Makefile
|
|
@@ -105,6 +105,9 @@ obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qco
|
|
obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o
|
|
obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o
|
|
obj-$(CONFIG_REGULATOR_QCOM_USB_VBUS) += qcom_usb_vbus-regulator.o
|
|
+obj-$(CONFIG_REGULATOR_CPR3) += cpr3-regulator.o cpr3-util.o
|
|
+obj-$(CONFIG_REGULATOR_CPR3_NPU) += cpr3-npu-regulator.o
|
|
+obj-$(CONFIG_REGULATOR_CPR4_APSS) += cpr4-apss-regulator.o
|
|
obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o
|
|
obj-$(CONFIG_REGULATOR_PCA9450) += pca9450-regulator.o
|
|
obj-$(CONFIG_REGULATOR_PF8X00) += pf8x00-regulator.o
|