1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/soc/qcom/qcom,smd.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm Shared Memory Driver
8
9 maintainers:
10 - Andy Gross <agross@kernel.org>
11 - Bjorn Andersson <bjorn.andersson@linaro.org>
12 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
13
14 description:
15 The Qualcomm Shared Memory Driver is a FIFO based communication channel for
16 sending data between the various subsystems in Qualcomm platforms.
17
18 properties:
19 compatible:
20 const: qcom,smd
21
22 patternProperties:
23 "^.*-edge|rpm$":
24 $ref: /schemas/remoteproc/qcom,smd-edge.yaml#
25 description:
26 Each subnode of the SMD node represents a remote subsystem or a remote
27 processor of some sort - or in SMD language an "edge". The name of the
28 edges are not important.
29
30 properties:
31 rpm-requests:
32 type: object
33 description:
34 In turn, subnodes of the "edges" represent devices tied to SMD
35 channels on that "edge". The names of the devices are not
36 important. The properties of these nodes are defined by the
37 individual bindings for the SMD devices.
38
39 properties:
40 qcom,smd-channels:
41 $ref: /schemas/types.yaml#/definitions/string-array
42 minItems: 1
43 maxItems: 32
44 description:
45 A list of channels tied to this device, used for matching the
46 device to channels.
47
48 required:
49 - compatible
50 - qcom,smd-channels
51
52 additionalProperties: true
53
54 unevaluatedProperties: false
55
56 required:
57 - compatible
58
59 additionalProperties: false
60
61 examples:
62 # The following example represents a smd node, with one edge representing the
63 # "rpm" subsystem. For the "rpm" subsystem we have a device tied to the
64 # "rpm_request" channel.
65 - |
66 #include <dt-bindings/interrupt-controller/arm-gic.h>
67
68 shared-memory {
69 compatible = "qcom,smd";
70
71 rpm {
72 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
73 qcom,ipc = <&apcs 8 0>;
74 qcom,smd-edge = <15>;
75
76 rpm-requests {
77 compatible = "qcom,rpm-msm8974";
78 qcom,smd-channels = "rpm_requests";
79
80 clock-controller {
81 compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc";
82 #clock-cells = <1>;
83 };
84
85 };
86 };
87 };
Cache object: 8f5050aad9a35b02ff3fe91e4fb9b96d
|