summaryrefslogtreecommitdiff
path: root/bindings/arm
diff options
context:
space:
mode:
authorqctecmdr <qctecmdr@localhost>2019-09-16 01:36:00 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-09-16 01:36:00 -0700
commitbc34db6acc31f933735aaa02e560bc2744dfda49 (patch)
tree57e5f8fb4e66c2cda500d99230b2724fe4914fa8 /bindings/arm
parent966f576f0d2c0c6251bddd65717f8092365c88a2 (diff)
parent9f31fb0d5dfe283745c0558525fd35318bbe29a5 (diff)
downloaddevicetree-bc34db6acc31f933735aaa02e560bc2744dfda49.tar.gz
Merge "ARM: dts: msm: Add rpm-smd node for bengal"
Diffstat (limited to 'bindings/arm')
-rw-r--r--bindings/arm/msm/rpm-smd.txt40
-rw-r--r--bindings/arm/msm/rpm_master_stats.txt47
2 files changed, 87 insertions, 0 deletions
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
+ <soc/qcom/smd.h>
+- 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 = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
+ qcom,rpm-channel-name = "rpm_requests";
+ qcom,rpm-channel-type = 15; /* APPS_RPM_SMD */
+ }
+}
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: <string>
+ Definition: Should be "qcom,rpm-master-stats".
+
+- reg:
+ Usage: required
+ Value type: <prop-encoded-array>
+ 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: <prop-encoded-array>
+ Definition: Provides labels for the reg property.
+
+- qcom,masters:
+ Usage: required
+ Value tye: <string list>
+ Defination: Provides the masters list.
+
+qcom,master-offset:
+ Usage: required
+ Value tye: <prop-encoded-array>
+ 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>;
+ };
+