Merge tag 'hwmon-for-linus-v4.15-take2' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / soc / qcom / qcom,glink.txt
1 Qualcomm GLINK edge binding
2
3 This binding describes a Qualcomm GLINK edge, a fifo based mechanism for
4 communication between subsystem-pairs on various Qualcomm platforms. Two types
5 of edges can be described by the binding; the GLINK RPM edge and a SMEM based
6 edge.
7
8 - compatible:
9         Usage: required for glink-rpm
10         Value type: <stringlist>
11         Definition: must be "qcom,glink-rpm"
12
13 - interrupts:
14         Usage: required
15         Value type: <prop-encoded-array>
16         Definition: should specify the IRQ used by the remote processor to
17                     signal this processor about communication related events
18
19 - qcom,rpm-msg-ram:
20         Usage: required for glink-rpm
21         Value type: <prop-encoded-array>
22         Definition: handle to RPM message memory resource
23
24 - mboxes:
25         Usage: required
26         Value type: <prop-encoded-array>
27         Definition: reference to the "rpm_hlos" mailbox in APCS, as described
28                     in mailbox/mailbox.txt
29
30 = GLINK DEVICES
31 Each subnode of the GLINK node represent function tied to a virtual
32 communication channel. The name of the nodes are not important. The properties
33 of these nodes are defined by the individual bindings for the specific function
34 - but must contain the following property:
35
36 - qcom,glink-channels:
37         Usage: required
38         Value type: <stringlist>
39         Definition: a list of channels tied to this function, used for matching
40                     the function to a set of virtual channels
41
42 = EXAMPLE
43 The following example represents the GLINK RPM node on a MSM8996 device, with
44 the function for the "rpm_request" channel defined, which is used for
45 regualtors and root clocks.
46
47         apcs_glb: mailbox@9820000 {
48                 compatible = "qcom,msm8996-apcs-hmss-global";
49                 reg = <0x9820000 0x1000>;
50
51                 #mbox-cells = <1>;
52         };
53
54         rpm_msg_ram: memory@68000 {
55                 compatible = "qcom,rpm-msg-ram";
56                 reg = <0x68000 0x6000>;
57         };
58
59         rpm-glink {
60                 compatible = "qcom,glink-rpm";
61
62                 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
63
64                 qcom,rpm-msg-ram = <&rpm_msg_ram>;
65
66                 mboxes = <&apcs_glb 0>;
67
68                 rpm-requests {
69                         compatible = "qcom,rpm-msm8996";
70                         qcom,glink-channels = "rpm_requests";
71
72                         ...
73                 };
74         };