From b62bff1524a030a3600a8ec45354d654acb4b1e3 Mon Sep 17 00:00:00 2001 From: Pankaj Gupta Date: Mon, 18 May 2020 13:22:18 +0530 Subject: [PATCH 1/2] dt-bindings: Add victims_table bindings for cx_ipeak driver Victim table support for client to register and throttle freq based on the cx-ipeak interrupt notifier callbacks to clients. Change-Id: I9717056e638ed70f5bf848f99f07a0b2c6919938 --- bindings/soc/qcom/qcom,cx_ipeak.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bindings/soc/qcom/qcom,cx_ipeak.txt b/bindings/soc/qcom/qcom,cx_ipeak.txt index 42dd78ba50fe..79e99d348914 100644 --- a/bindings/soc/qcom/qcom,cx_ipeak.txt +++ b/bindings/soc/qcom/qcom,cx_ipeak.txt @@ -6,17 +6,37 @@ if it is going to cross its own threshold. If all clients are going to cross their thresholds then Cx ipeak hw module will raise an interrupt to cDSP block to throttle cDSP's fmax. +There are SOC like SCUBA where Cx ipeak HW module raised interrupt will +throttle frequency of other victim clients. + Required properties: +- #size-cells : Must be 1 + - compatible : name of the component used for driver matching, should be one "qcom,cx-ipeak-v1", "qcom,cx-ipeak-v2" - reg : physical base address and length of the register set(s), SRAM and XPU of the component. +Optional properties: + +- interrupts : Danger and Safe interrupts details having interrupt number and + type of interrupt. + +- interrupt-names : Identifier names for Danger and Safe interrupts. + +- victims_table : Victim clients details having client ID, victim ID and + limit frequency to be applied in case of danger interrupt. + Example: cx_ipeak_lm: cx_ipeak@1fe5040 { + #size-cells = <1>; compatible = "qcom,cx-ipeak-v1"; reg = <0x01fe5040 0x28>; + interrupts = <0 415 IRQ_TYPE_EDGE_RISING>, + <0 416 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "cx_ipeak_danger", "cx_ipeak_safe"; + victims_table = <1 0 844800000>; }; From ea130acc092e2c4575898218d8ac2717c0bc40d8 Mon Sep 17 00:00:00 2001 From: Manaf Meethalavalappu Pallikunhi Date: Tue, 8 Jun 2021 20:16:44 +0530 Subject: [PATCH 2/2] ARM: dts: qcom: enable cx ipeak common driver for holi-pm6125 Enable common driver to limit Cx ipeak based on voting from various clients in multimedia. Change-Id: I8e89c8acd40716936943d6e100e4cee05b9a68f6 --- qcom/holi-cdp-pm6125.dtsi | 7 +++++++ qcom/holi-mtp-pm6125.dtsi | 7 +++++++ qcom/holi-mtp-usbc-pm6125.dtsi | 7 +++++++ qcom/holi-qrd-pm6125.dtsi | 7 +++++++ 4 files changed, 28 insertions(+) diff --git a/qcom/holi-cdp-pm6125.dtsi b/qcom/holi-cdp-pm6125.dtsi index e85d061a45f3..fc52a355f145 100644 --- a/qcom/holi-cdp-pm6125.dtsi +++ b/qcom/holi-cdp-pm6125.dtsi @@ -148,6 +148,13 @@ linux,can-disable; }; }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + #size-cells = <1>; + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe010>; + status = "ok"; + }; }; &pm7250b_charger { diff --git a/qcom/holi-mtp-pm6125.dtsi b/qcom/holi-mtp-pm6125.dtsi index 5138898ec886..d6a0c69ba746 100644 --- a/qcom/holi-mtp-pm6125.dtsi +++ b/qcom/holi-mtp-pm6125.dtsi @@ -155,6 +155,13 @@ #include "qg-batterydata-atl466271_3300mAh.dtsi" #include "qg-batterydata-atl436186020H_3780mAh.dtsi" }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + #size-cells = <1>; + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe010>; + status = "ok"; + }; }; &soc { diff --git a/qcom/holi-mtp-usbc-pm6125.dtsi b/qcom/holi-mtp-usbc-pm6125.dtsi index 04eb38e0137e..1dc219f16ba2 100644 --- a/qcom/holi-mtp-usbc-pm6125.dtsi +++ b/qcom/holi-mtp-usbc-pm6125.dtsi @@ -174,6 +174,13 @@ #include "qg-batterydata-atl466271_3300mAh.dtsi" #include "qg-batterydata-atl436186020H_3780mAh.dtsi" }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + #size-cells = <1>; + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe010>; + status = "ok"; + }; }; &soc { diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 03a022f1203f..2fa5a875f24c 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -211,6 +211,13 @@ #include "qg-batterydata-atl436186020H_3780mAh.dtsi" #include "qg-batterydata-atl466271_3300mAh.dtsi" }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + #size-cells = <1>; + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe010>; + status = "ok"; + }; }; &pm7250b_charger {