From b4eec39cd631cf9bfd229197812610aa1a3a9a9c Mon Sep 17 00:00:00 2001 From: Raghavendra Kakarla Date: Sun, 26 Apr 2020 11:16:14 +0530 Subject: [PATCH 1/3] dt-bindings: Add rpm-smd documentation for holi Add documentation for rpm-smd node. Change-Id: Ic9cda94987c0d4849f462eae5ab3793411522ca6 --- bindings/arm/msm/rpm-smd.txt | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 bindings/arm/msm/rpm-smd.txt diff --git a/bindings/arm/msm/rpm-smd.txt b/bindings/arm/msm/rpm-smd.txt new file mode 100644 index 00000000..79968810 --- /dev/null +++ b/bindings/arm/msm/rpm-smd.txt @@ -0,0 +1,40 @@ +Resource Power Manager(RPM) + +RPM is a dedicated hardware engine for managing shared SoC resources, +which includes buses, clocks, power rails, etc. The goal of RPM is +to achieve the maximum power savings while satisfying the SoC's +operational and performance requirements. RPM accepts resource +requests from multiple RPM masters. It arbitrates and aggregates +the requests, and configures the shared resources. The RPM masters +are the application processor, the modem processor, as well as hardware +accelerators. The RPM driver communicates with the hardware engine using +SMD. + +The devicetree representation of the RPM block should be: + +Required properties + +- compatible: "qcom,rpm-smd" +- rpm-channel-name: The string corresponding to the channel name of the + peripheral subsystem. Required for both smd and + glink transports. +- rpm-channel-type: The interal SMD edge for this subsystem found in + +- interrupts: The IRQ used by remote processor to inform APSS about + reception of response message packet. + +Optional properties +- rpm-standalone: Allow RPM driver to run in standalone mode irrespective of RPM + channel presence. +- reg: Contains the memory address at which rpm messaging format version is + stored. If this field is not present, the target only supports v0 format. + +Example: + + qcom,rpm-smd { + compatible = "qcom,rpm-smd"; + interrupts = ; + qcom,rpm-channel-name = "rpm_requests"; + qcom,rpm-channel-type = 15; /* APPS_RPM_SMD */ + } +} From b56869bbadfde3b25931442f15c780eb8d602585 Mon Sep 17 00:00:00 2001 From: Raghavendra Kakarla Date: Thu, 23 Apr 2020 00:09:51 +0530 Subject: [PATCH 2/3] ARM: dts: msm: Add rpm-smd node for holi Add rpm-smd node for APSS communication with RPM. Change-Id: I077a5354bae336945b49a277f94b55f9d97519e1 --- qcom/holi.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/qcom/holi.dtsi b/qcom/holi.dtsi index ea53d85d..b802fb1e 100644 --- a/qcom/holi.dtsi +++ b/qcom/holi.dtsi @@ -465,6 +465,13 @@ qcom,wakeup-enable; }; + rpm_bus: qcom,rpm-smd { + compatible = "qcom,rpm-smd"; + rpm-channel-name = "rpm_requests"; + interrupts = ; + rpm-channel-type = <15>; /* SMD_APPS_RPM */ + }; + ipcc_mproc: qcom,ipcc@208000 { compatible = "qcom,ipcc"; reg = <0x208000 0x1000>; From b07a13e52c68482aa789489f68407598ec764ca7 Mon Sep 17 00:00:00 2001 From: Raghavendra Kakarla Date: Sun, 26 Apr 2020 11:28:20 +0530 Subject: [PATCH 3/3] dt-bindings: Add documentation for rpm master stats Add documentation for rpm master stas node. Change-Id: Ia202c45f996e3263883d8a3c233274b3c7f63c08 --- bindings/arm/msm/rpm_master_stats.txt | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 bindings/arm/msm/rpm_master_stats.txt diff --git a/bindings/arm/msm/rpm_master_stats.txt b/bindings/arm/msm/rpm_master_stats.txt new file mode 100644 index 00000000..cfc6e3ab --- /dev/null +++ b/bindings/arm/msm/rpm_master_stats.txt @@ -0,0 +1,47 @@ +* RPM Stats + +RPM maintains a counter of the masters i.e APPS, MPPS etc +number of times the SoC entered a deeper sleep mode involving +lowering or powering down the backbone rails - Cx and Mx and +the oscillator clock, XO. + +PROPERTIES + +- compatible: + Usage: required + Value type: + Definition: Should be "qcom,rpm-master-stats". + +- reg: + Usage: required + Value type: + Definition: The address on the RPM RAM from where the stats are read + should be provided as "phys_addr_base". The offset + from which the stats are available should be provided as + "offset_addr". + +- reg-names: + Usage: required + Value type: + Definition: Provides labels for the reg property. + +- qcom,masters: + Usage: required + Value tye: + Defination: Provides the masters list. + +qcom,master-offset: + Usage: required + Value tye: + Defination: Provides the masters list + +EXAMPLE: + +qcom,rpm-master-stats@60150 { + compatible = "qcom,rpm-master-stats"; + reg = <0x45f0150 0x5000>; + qcom,masters = "APSS", "MPSS", "ADSP", "CDSP", "TZ"; + qcom,master-stats-version = <2>; + qcom,master-offset = <4096>; + }; +