mirror of
https://github.com/torvalds/linux.git
synced 2026-04-29 12:02:35 -04:00
In addition to using GLINK for communication with the RPM it can be used ontop of SMEM for communicating with remoteprocs, extend the binding to also describe this case and reference the GLINK binding from the affected remoteproc bindings. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
75 lines
2.0 KiB
Plaintext
75 lines
2.0 KiB
Plaintext
Qualcomm GLINK edge binding
|
|
|
|
This binding describes a Qualcomm GLINK edge, a fifo based mechanism for
|
|
communication between subsystem-pairs on various Qualcomm platforms. Two types
|
|
of edges can be described by the binding; the GLINK RPM edge and a SMEM based
|
|
edge.
|
|
|
|
- compatible:
|
|
Usage: required for glink-rpm
|
|
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 for glink-rpm
|
|
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";
|
|
|
|
...
|
|
};
|
|
};
|