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 7title: Qualcomm Shared Memory Driver 8 9maintainers: 10 - Andy Gross <agross@kernel.org> 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 13 14description: 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 Using the top-level SMD node is deprecated. Instead, the SMD edges are defined 19 directly below the device node representing the respective remote subsystem 20 or remote processor. 21 22deprecated: true 23 24properties: 25 compatible: 26 const: qcom,smd 27 28patternProperties: 29 "^smd-edge|rpm$": 30 $ref: /schemas/remoteproc/qcom,smd-edge.yaml# 31 unevaluatedProperties: false 32 description: 33 Each subnode of the SMD node represents a remote subsystem or a remote 34 processor of some sort - or in SMD language an "edge". The name of the 35 edges are not important. 36 37required: 38 - compatible 39 40additionalProperties: false 41 42examples: 43 # The following example represents a smd node, with one edge representing the 44 # "rpm" subsystem. For the "rpm" subsystem we have a device tied to the 45 # "rpm_request" channel. 46 # NOTE: This is deprecated, represent the RPM using "qcom,rpm-proc" instead. 47 - | 48 #include <dt-bindings/interrupt-controller/arm-gic.h> 49 50 shared-memory { 51 compatible = "qcom,smd"; 52 53 rpm { 54 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 55 qcom,ipc = <&apcs 8 0>; 56 qcom,smd-edge = <15>; 57 58 rpm-requests { 59 compatible = "qcom,rpm-msm8974", "qcom,smd-rpm"; 60 qcom,smd-channels = "rpm_requests"; 61 62 clock-controller { 63 compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc"; 64 #clock-cells = <1>; 65 }; 66 67 }; 68 }; 69 }; 70