Re: [PATCH 1/2] soc: qcom: Add device tree binding for Shared Memory Device

From: Bjorn Andersson
Date: Fri Apr 10 2015 - 20:41:43 EST


Corrected spelling of the msm mailing list...

On Fri 10 Apr 17:16 PDT 2015, Bjorn Andersson wrote:

> 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@xxxxxxxxxxxxxx>
> ---
> .../devicetree/bindings/soc/qcom/qcom,smd.txt | 78 ++++++++++++++++++++++
> 1 file changed, 78 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..0fdb7f9d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt
> @@ -0,0 +1,78 @@
> +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"
> +
> += EDGES
> +
> +Each subnode of the SMD node represents a remote subsystem or a remote
> +processor of some sort - or in SMD language 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: the identifier representing the remote processor in the
> + smd channel allocation table
> +
> += 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.
> +
> + apcs: syscon@f9011000 {
> + compatible = "syscon";
> + reg = <0xf9011000 0x1000>;
> + };
> +
> + smd {
> + compatible = "qcom,smd";
> +
> + 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";
> +
> + ...
> + };
> + };
> + };
> --
> 1.8.2.2
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/