devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@sonymobile.com>
To: Kumar Gala <galak@codeaurora.org>,
	Andy Gross <agross@codeaurora.org>, Arnd Bergmann <arnd@arndb.de>,
	Grant Likely <grant.likely@linaro.org>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Mark Rutland <mark.rutland@arm.com>,
	Pawel Moll <pawel.moll@arm.com>, Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org, Samuel Ortiz <sameo@linux.intel.com>,
	linux-arm-msm@vger.kernel.org,
	Liam Girdwood <lgirdwood@gmail.com>,
	linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>,
	Lee Jones <lee.jones@linaro.org>,
	linux-arm-kernel@lists.infradead.org
Subject: [RFC 2/7] soc: qcom: Add device tree binding for SMD
Date: Mon, 29 Sep 2014 17:34:46 -0700	[thread overview]
Message-ID: <1412037291-16880-3-git-send-email-bjorn.andersson@sonymobile.com> (raw)
In-Reply-To: <1412037291-16880-1-git-send-email-bjorn.andersson@sonymobile.com>

Add device tree binding documentation for the Qualcomm Shared Memory
Device.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---

I was looking at having one smd node per remote processor - e.g flatten the
first and second level. As all the channels, for all the remote processors are
allocated from the same pool this does however not feel very natural.

 .../devicetree/bindings/soc/qcom/qcom,smd.txt      |   82 ++++++++++++++++++++
 1 file changed, 82 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt

diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt
new file mode 100644
index 0000000..c56e4fc
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt
@@ -0,0 +1,82 @@
+Qualcomm Shared Memory Driver (SMD) binding
+
+This binding describes the Qualcomm Shared Memory Driver, a fifo based
+communication channel for sending data between the various subsystems in
+Qualcomm platforms.
+
+- compatible:
+	Usage: required
+	Value type: <stringlist>
+	Definition: must be "qcom,smd"
+
+- qcom,smem:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: reference to a smem node managing the shared memory items
+		    used for smd
+
+= EDGES
+
+Each subnode of the SMD node represents a remote subsystem, i.e. a remote
+processor of some sort - in SMD language called an "edge". The name of the
+edges are not important.
+
+- 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 updates
+
+- qcom,ipc:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: three entries specifying the outgoing ipc bit used for
+		    signaling the remote processor:
+		    - phandle to a syscon node representing the apcs registers
+		    - u32 representing offset to the register within the syscon
+		    - u32 representing the ipc bit within the register
+
+- qcom,smd-edge:
+	Usage: required
+	Value type: <u32>
+	Definition: an identifier representing the remote processor
+
+= SMD DEVICES
+
+In turn, subnodes of the "edges" represent devices tied to SMD channels on that
+"edge". The names of the devices are not important. The properties of these
+nodes are defined by the individual bindings for the SMD devices - but must
+contain the following property:
+
+- qcom,smd-channels:
+	Usage: required
+	Value type: <stringlist>
+	Definition: a list of channels tied to this device, used for matching
+		    the device to channels
+
+= EXAMPLE
+
+The following example represents a smd node, with one edge representing the
+"rpm" subsystem. For the "rpm" subsystem we have a device tied to the
+"rpm_request" channel.
+
+        smd {
+                compatible = "qcom,smd";
+                qcom,smem = <&smem>;
+
+                rpm {
+                        interrupts = <0 168 1>;
+                        qcom,ipc = <&apcs 8 0>;
+                        qcom,smd-edge = <15>;
+
+                        rpm_requests {
+                                compatible = "qcom,rpm-msm8974";
+                                qcom,smd-channels = "rpm_requests";
+
+                                #address-cells = <1>;
+                                #size-cells = <0>;
+
+				...
+			};
+		};
+	};
-- 
1.7.9.5

  parent reply	other threads:[~2014-09-30  0:34 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-30  0:34 [RFC 0/7] Qualcomm SMEM, SMD, RPM and regulators Bjorn Andersson
2014-09-30  0:34 ` [RFC 1/7] soc: qcom: Add device tree binding for SMEM Bjorn Andersson
2014-09-30 13:52   ` Kumar Gala
2014-09-30 19:03   ` Stephen Boyd
2014-09-30 20:00     ` Bjorn Andersson
     [not found]   ` <1412037291-16880-2-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
2014-09-30 21:55     ` Suman Anna
2014-09-30  0:34 ` Bjorn Andersson [this message]
2014-09-30  0:34 ` [RFC 3/7] mfd: devicetree: bindings: Add Qualcomm SMD based RPM DT binding Bjorn Andersson
2014-09-30 13:46   ` Kumar Gala
2014-09-30 14:37     ` Bjorn Andersson
2014-09-30 23:16       ` Jeffrey Hugo
2014-10-01  0:08         ` Bjorn Andersson
2014-10-08 21:47           ` Jeffrey Hugo
2014-10-24 15:59             ` Bjorn Andersson
2014-09-30  0:34 ` [RFC 4/7] soc: qcom: Add Shared Memory Manager driver Bjorn Andersson
2014-09-30  6:17   ` Kiran Padwal
2014-09-30  6:28     ` Kiran Padwal
2014-09-30 14:15       ` Bjorn Andersson
2014-10-08 21:33   ` Jeffrey Hugo
2014-10-17 14:51     ` Bjorn Andersson
2014-10-26 15:04       ` Andreas Färber
2014-10-28  0:34     ` Bjorn Andersson
2014-09-30  0:34 ` [RFC 5/7] soc: qcom: Add Shared Memory Driver Bjorn Andersson
2014-10-02 22:38   ` Stephen Boyd
2014-10-04  0:02     ` Bjorn Andersson
     [not found]   ` <1412037291-16880-6-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
2014-10-29 14:28     ` Ohad Ben-Cohen
2014-10-30  0:38       ` Bjorn Andersson
2014-10-30 13:34         ` Ohad Ben-Cohen
2014-10-30 15:04           ` Bjorn Andersson
2014-09-30  0:34 ` [RFC 6/7] mfd: qcom-smd-rpm: Driver for the Qualcomm RPM over SMD Bjorn Andersson
2014-10-08  8:40   ` Lee Jones
2014-10-17 13:55     ` Bjorn Andersson
2014-10-20  7:22       ` Lee Jones
2014-10-24 16:45         ` Bjorn Andersson
2014-09-30  0:34 ` [RFC 7/7] regulator: qcom-smd-rpm: Regulator driver for the Qualcomm RPM Bjorn Andersson
2014-10-01 18:13   ` Mark Brown
2014-09-30 13:49 ` [RFC 0/7] Qualcomm SMEM, SMD, RPM and regulators Kumar Gala
     [not found]   ` <E6EEBBAE-C710-4280-824D-CC5D54CB2551-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-09-30 14:51     ` Bjorn Andersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1412037291-16880-3-git-send-email-bjorn.andersson@sonymobile.com \
    --to=bjorn.andersson@sonymobile.com \
    --cc=agross@codeaurora.org \
    --cc=arnd@arndb.de \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=grant.likely@linaro.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sameo@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).