From 63ec4acbf8199d9374e464b9f6613696d9afc0a9 Mon Sep 17 00:00:00 2001 From: Bavyasritha Alahari Date: Thu, 2 Apr 2020 17:23:13 +0530 Subject: [PATCH] ARM: dts: msm: Add cdsp rpmsg entry in Lahaina CDSPRM module relies on the rpmsg node to create a communication channel with CDSP. The node also carries information for Cx i-peak limit management, CPU QoS voting, HVX, CDSP thermal mitigation frameworks. CDSPRM module implements a RPMSG interface to communicate with CDSP while providing a way for CDSP to vote for CPU L3 clock, CPU QoS to benefit CDSP applications performance. The module also implements an interface with NPU for Cx i-peak limit management and registers cooling devices for CDSP and HVX thermal mitigation. Documentation for device tree bindings related to CDSPRM. Change-Id: I0f79ebcfcd2e6a2366f755278ae2c5f6bc1b8199 --- bindings/soc/qcom/cdsprm.txt | 78 ++++++++++++++++++++++++++++++++++++ qcom/lahaina.dtsi | 12 ++++++ 2 files changed, 90 insertions(+) create mode 100644 bindings/soc/qcom/cdsprm.txt diff --git a/bindings/soc/qcom/cdsprm.txt b/bindings/soc/qcom/cdsprm.txt new file mode 100644 index 000000000000..68db0071609a --- /dev/null +++ b/bindings/soc/qcom/cdsprm.txt @@ -0,0 +1,78 @@ +Qualcomm Technologies, Inc. CDSP Request Manager driver + +CDSP Request Manager driver implements an rpmsg interface with +CDSP subsystem to serve L3 frequency and CPU QoS requests from CDSP. +It also interacts with NPU, Camera modules for Cx iPeak mitigations and +thermal module via CDSP/HVX cooling devices for thermal mitigation of +CDSP core. + +Required properties: +- compatible: Must be "qcom,msm-cdsprm-rpmsg" +- qcom,glink-channels: Glink channel for communication with CDSP +- qcom,intents: A list of + +- qcom,msm-cdsp-rm: A sub-device node to define CDSPM RM, Cx iPeak mitigation + driver and CDSP core thermal cooling device + Required properties: + - compatible: Must be "qcom,msm-cdsp-rm" + - qcom,qos-latency-us: pm_qos latency vote to be applied on CDSP request in + micro seconds + - qcom,qos-maxhold-ms: Maximum hold time for pm_qos latency vote from CDSP + in milli seconds + - qcom,compute-cx-limit-en: To enable CX ipeak limit management for compute + subsystem + - qcom,compute-priority-mode: when Cx iPeak mitigation is enabled, + this field sets desired compute priority mode + for AIX and HVX concurrency cases based on + following values, where in HVX and NPU cores, + if required, are throttled in concurrency based + on the selected priority mode + 1 : HVX_MAX - Allows HVX to run at maximum possible + frequency during concurrency with NPU + 2 : AIX_MAX - Allows NPU to run at maximum possible + frequency during concurrency with HVX + 3 : HVX_OVER_AIX - Allows HVX to run at a higher + frequency than NPU during concurrency + 4 : AIX_OVER_HVX - Allows NPU to run at a higher + frequency than HVX during concurrency + - #cooling-cells: Number of cooling cells for CDSP cooling device based on + CDSP Q6 core clock throttling + +- qcom,msm-hvx-rm: A sub-device node to define HVX based thermal cooling device + Required properties: + - compatible: Must be "qcom,msm-hvx-rm" + - #cooling-cells: Number of cooling cells for CDSP cooling device based on + HVX hardware throttling + +- qcom,cdsp-l3: A sub-device node to define CDSP L3 target device for L3 + clock voting + Required properties: + - compatible: Must be "qcom,cdsp-l3" + - qcom,target-dev: The DT device that corresponds to the CDSP L3 + devfreq-simple-dev + +Example: + qcom,msm_cdsprm_rpmsg { + compatible = "qcom,msm-cdsprm-rpmsg"; + qcom,glink-channels = "cdsprmglink-apps-dsp"; + qcom,intents = <0x14 64>; + + qcom,cdsp-l3 { + compatible = "qcom,cdsp-l3"; + qcom,target-dev = <&cdsp-cdsp-l3-lat>; + }; + + qcom,msm_cdsp_rm { + compatible = "qcom,msm-cdsp-rm"; + qcom,qos-latency-us = <100>; + qcom,qos-maxhold-ms = <20>; + qcom,compute-cx-limit-en; + qcom,compute-priority-mode = <2>; + #cooling-cells = <2>; + }; + + msm_hvx_rm: qcom,msm_hvx_rm { + compatible = "qcom,msm-hvx-rm"; + #cooling-cells = <2>; + }; + }; diff --git a/qcom/lahaina.dtsi b/qcom/lahaina.dtsi index 6cebba478e57..8d4bee356e35 100644 --- a/qcom/lahaina.dtsi +++ b/qcom/lahaina.dtsi @@ -2660,6 +2660,18 @@ 0x2000 3 0x4400 2>; }; + + qcom,msm_cdsprm_rpmsg { + compatible = "qcom,msm-cdsprm-rpmsg"; + qcom,glink-channels = "cdsprmglink-apps-dsp"; + qcom,intents = <0x20 12>; + + msm_cdsp_rm: qcom,msm_cdsp_rm { + compatible = "qcom,msm-cdsp-rm"; + qcom,qos-latency-us = <60>; + qcom,qos-maxhold-ms = <20>; + }; + }; }; glink_spss: spss {