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 - label:
14 Usage: optional
15 Value type: <string>
16 Definition: should specify the subsystem name this edge corresponds to.
17
18 - interrupts:
19 Usage: required
20 Value type: <prop-encoded-array>
21 Definition: should specify the IRQ used by the remote processor to
22 signal this processor about communication related events
23
24 - qcom,remote-pid:
25 Usage: required for glink-smem
26 Value type: <u32>
27 Definition: specifies the identifier of the remote endpoint of this edge
28
29 - qcom,rpm-msg-ram:
30 Usage: required for glink-rpm
31 Value type: <prop-encoded-array>
32 Definition: handle to RPM message memory resource
33
34 - mboxes:
35 Usage: required
36 Value type: <prop-encoded-array>
37 Definition: reference to the "rpm_hlos" mailbox in APCS, as described
38 in mailbox/mailbox.txt
39
40 = GLINK DEVICES
41 Each subnode of the GLINK node represent function tied to a virtual
42 communication channel. The name of the nodes are not important. The properties
43 of these nodes are defined by the individual bindings for the specific function
44 - but must contain the following property:
45
46 - qcom,glink-channels:
47 Usage: required
48 Value type: <stringlist>
49 Definition: a list of channels tied to this function, used for matching
50 the function to a set of virtual channels
51
52 - qcom,intents:
53 Usage: optional
54 Value type: <prop-encoded-array>
55 Definition: a list of size,amount pairs describing what intents should
56 be preallocated for this virtual channel. This can be used
57 to tweak the default intents available for the channel to
58 meet expectations of the remote.
59
60 = EXAMPLE
61 The following example represents the GLINK RPM node on a MSM8996 device, with
62 the function for the "rpm_request" channel defined, which is used for
63 regulators and root clocks.
64
65 apcs_glb: mailbox@9820000 {
66 compatible = "qcom,msm8996-apcs-hmss-global";
67 reg = <0x9820000 0x1000>;
68
69 #mbox-cells = <1>;
70 };
71
72 rpm_msg_ram: memory@68000 {
73 compatible = "qcom,rpm-msg-ram";
74 reg = <0x68000 0x6000>;
75 };
76
77 rpm-glink {
78 compatible = "qcom,glink-rpm";
79
80 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
81
82 qcom,rpm-msg-ram = <&rpm_msg_ram>;
83
84 mboxes = <&apcs_glb 0>;
85
86 rpm-requests {
87 compatible = "qcom,rpm-msm8996";
88 qcom,glink-channels = "rpm_requests";
89
90 qcom,intents = <0x400 5
91 0x800 1>;
92 ...
93 };
94 };
Cache object: b60344ecf1119e5ffaa512e64b7f9b9b
|