soc: qcom: Add device tree binding for GLINK RPM
authorBjorn Andersson <bjorn.andersson@linaro.org>
Sat, 27 May 2017 23:23:34 +0000 (16:23 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 31 May 2017 03:57:09 +0000 (20:57 -0700)
Add device tree binding documentation for the Qualcomm GLINK RPM, used
for communication with the Resource Power Management subsystem in
various Qualcomm SoCs.

Acked-by: Andy Gross <andy.gross@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt
new file mode 100644 (file)
index 0000000..50fc20c
--- /dev/null
@@ -0,0 +1,73 @@
+Qualcomm RPM GLINK binding
+
+This binding describes the Qualcomm RPM GLINK, a fifo based mechanism for
+communication with the Resource Power Management system on various Qualcomm
+platforms.
+
+- compatible:
+       Usage: required
+       Value type: <stringlist>
+       Definition: must be "qcom,glink-rpm"
+
+- interrupts:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: should specify the IRQ used by the remote processor to
+                   signal this processor about communication related events
+
+- qcom,rpm-msg-ram:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: handle to RPM message memory resource
+
+- mboxes:
+       Usage: required
+       Value type: <prop-encoded-array>
+       Definition: reference to the "rpm_hlos" mailbox in APCS, as described
+                   in mailbox/mailbox.txt
+
+= GLINK DEVICES
+Each subnode of the GLINK node represent function tied to a virtual
+communication channel. The name of the nodes are not important. The properties
+of these nodes are defined by the individual bindings for the specific function
+- but must contain the following property:
+
+- qcom,glink-channels:
+       Usage: required
+       Value type: <stringlist>
+       Definition: a list of channels tied to this function, used for matching
+                   the function to a set of virtual channels
+
+= EXAMPLE
+The following example represents the GLINK RPM node on a MSM8996 device, with
+the function for the "rpm_request" channel defined, which is used for
+regualtors and root clocks.
+
+       apcs_glb: mailbox@9820000 {
+               compatible = "qcom,msm8996-apcs-hmss-global";
+               reg = <0x9820000 0x1000>;
+
+               #mbox-cells = <1>;
+       };
+
+       rpm_msg_ram: memory@68000 {
+               compatible = "qcom,rpm-msg-ram";
+               reg = <0x68000 0x6000>;
+       };
+
+       rpm-glink {
+               compatible = "qcom,glink-rpm";
+
+               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+
+               qcom,rpm-msg-ram = <&rpm_msg_ram>;
+
+               mboxes = <&apcs_glb 0>;
+
+               rpm-requests {
+                       compatible = "qcom,rpm-msm8996";
+                       qcom,glink-channels = "rpm_requests";
+
+                       ...
+               };
+       };