aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Andersson <bjorn.andersson@sonymobile.com>2015-07-27 23:20:29 -0400
committerAndy Gross <agross@codeaurora.org>2015-07-29 15:13:48 -0400
commit72c10fef98fc3b3c924ee022e451872517e61ecf (patch)
tree3790fa00390a1526dcb4450cae035b5f76529ed5
parent23b38ceb814ca8a2bd92613687f82b70041b9238 (diff)
soc: qcom: Add device tree binding for Shared Memory Device
Add device tree binding documentation for the Qualcomm Shared Memory Device, used for communication between the various CPUs in the Qualcomm SoCs. Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> Signed-off-by: Andy Gross <agross@codeaurora.org>
-rw-r--r--Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt79
1 files changed, 79 insertions, 0 deletions
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 000000000000..f65c76db9859
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt
@@ -0,0 +1,79 @@
1Qualcomm Shared Memory Driver (SMD) binding
2
3This binding describes the Qualcomm Shared Memory Driver, a fifo based
4communication channel for sending data between the various subsystems in
5Qualcomm platforms.
6
7- compatible:
8 Usage: required
9 Value type: <stringlist>
10 Definition: must be "qcom,smd"
11
12= EDGES
13
14Each subnode of the SMD node represents a remote subsystem or a remote
15processor of some sort - or in SMD language an "edge". The name of the edges
16are not important.
17The edge is described by the following properties:
18
19- interrupts:
20 Usage: required
21 Value type: <prop-encoded-array>
22 Definition: should specify the IRQ used by the remote processor to
23 signal this processor about communication related updates
24
25- qcom,ipc:
26 Usage: required
27 Value type: <prop-encoded-array>
28 Definition: three entries specifying the outgoing ipc bit used for
29 signaling the remote processor:
30 - phandle to a syscon node representing the apcs registers
31 - u32 representing offset to the register within the syscon
32 - u32 representing the ipc bit within the register
33
34- qcom,smd-edge:
35 Usage: required
36 Value type: <u32>
37 Definition: the identifier of the remote processor in the smd channel
38 allocation table
39
40= SMD DEVICES
41
42In turn, subnodes of the "edges" represent devices tied to SMD channels on that
43"edge". The names of the devices are not important. The properties of these
44nodes are defined by the individual bindings for the SMD devices - but must
45contain the following property:
46
47- qcom,smd-channels:
48 Usage: required
49 Value type: <stringlist>
50 Definition: a list of channels tied to this device, used for matching
51 the device to channels
52
53= EXAMPLE
54
55The following example represents a smd node, with one edge representing the
56"rpm" subsystem. For the "rpm" subsystem we have a device tied to the
57"rpm_request" channel.
58
59 apcs: syscon@f9011000 {
60 compatible = "syscon";
61 reg = <0xf9011000 0x1000>;
62 };
63
64 smd {
65 compatible = "qcom,smd";
66
67 rpm {
68 interrupts = <0 168 1>;
69 qcom,ipc = <&apcs 8 0>;
70 qcom,smd-edge = <15>;
71
72 rpm_requests {
73 compatible = "qcom,rpm-msm8974";
74 qcom,smd-channels = "rpm_requests";
75
76 ...
77 };
78 };
79 };