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 18properties: 19 compatible: 20 const: qcom,smd 21 22patternProperties: 23 "^smd-edge|rpm$": 24 $ref: /schemas/remoteproc/qcom,smd-edge.yaml# 25 unevaluatedProperties: false 26 description: 27 Each subnode of the SMD node represents a remote subsystem or a remote 28 processor of some sort - or in SMD language an "edge". The name of the 29 edges are not important. 30 31required: 32 - compatible 33 34additionalProperties: false 35 36examples: 37 # The following example represents a smd node, with one edge representing the 38 # "rpm" subsystem. For the "rpm" subsystem we have a device tied to the 39 # "rpm_request" channel. 40 - | 41 #include <dt-bindings/interrupt-controller/arm-gic.h> 42 43 shared-memory { 44 compatible = "qcom,smd"; 45 46 rpm { 47 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 48 qcom,ipc = <&apcs 8 0>; 49 qcom,smd-edge = <15>; 50 51 rpm-requests { 52 compatible = "qcom,rpm-msm8974"; 53 qcom,smd-channels = "rpm_requests"; 54 55 clock-controller { 56 compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc"; 57 #clock-cells = <1>; 58 }; 59 60 }; 61 }; 62 }; 63