1375eed5fSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2375eed5fSKrzysztof Kozlowski%YAML 1.2 3375eed5fSKrzysztof Kozlowski--- 4375eed5fSKrzysztof Kozlowski$id: http://devicetree.org/schemas/soc/qcom/qcom,smd.yaml# 5375eed5fSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6375eed5fSKrzysztof Kozlowski 7375eed5fSKrzysztof Kozlowskititle: Qualcomm Shared Memory Driver 8375eed5fSKrzysztof Kozlowski 9375eed5fSKrzysztof Kozlowskimaintainers: 10375eed5fSKrzysztof Kozlowski - Andy Gross <agross@kernel.org> 11375eed5fSKrzysztof Kozlowski - Bjorn Andersson <bjorn.andersson@linaro.org> 12375eed5fSKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 13375eed5fSKrzysztof Kozlowski 14375eed5fSKrzysztof Kozlowskidescription: 15375eed5fSKrzysztof Kozlowski The Qualcomm Shared Memory Driver is a FIFO based communication channel for 16375eed5fSKrzysztof Kozlowski sending data between the various subsystems in Qualcomm platforms. 17375eed5fSKrzysztof Kozlowski 189a2c674eSStephan Gerhold Using the top-level SMD node is deprecated. Instead, the SMD edges are defined 199a2c674eSStephan Gerhold directly below the device node representing the respective remote subsystem 209a2c674eSStephan Gerhold or remote processor. 219a2c674eSStephan Gerhold 229a2c674eSStephan Gerholddeprecated: true 239a2c674eSStephan Gerhold 24375eed5fSKrzysztof Kozlowskiproperties: 25375eed5fSKrzysztof Kozlowski compatible: 26375eed5fSKrzysztof Kozlowski const: qcom,smd 27375eed5fSKrzysztof Kozlowski 28375eed5fSKrzysztof KozlowskipatternProperties: 296dae25e4SKrzysztof Kozlowski "^smd-edge|rpm$": 30568f83ffSKrzysztof Kozlowski $ref: /schemas/remoteproc/qcom,smd-edge.yaml# 31547bed81SKrzysztof Kozlowski unevaluatedProperties: false 32375eed5fSKrzysztof Kozlowski description: 33375eed5fSKrzysztof Kozlowski Each subnode of the SMD node represents a remote subsystem or a remote 34375eed5fSKrzysztof Kozlowski processor of some sort - or in SMD language an "edge". The name of the 35375eed5fSKrzysztof Kozlowski edges are not important. 36375eed5fSKrzysztof Kozlowski 37375eed5fSKrzysztof Kozlowskirequired: 38375eed5fSKrzysztof Kozlowski - compatible 39375eed5fSKrzysztof Kozlowski 40375eed5fSKrzysztof KozlowskiadditionalProperties: false 41375eed5fSKrzysztof Kozlowski 42375eed5fSKrzysztof Kozlowskiexamples: 43375eed5fSKrzysztof Kozlowski # The following example represents a smd node, with one edge representing the 44375eed5fSKrzysztof Kozlowski # "rpm" subsystem. For the "rpm" subsystem we have a device tied to the 45375eed5fSKrzysztof Kozlowski # "rpm_request" channel. 469a2c674eSStephan Gerhold # NOTE: This is deprecated, represent the RPM using "qcom,rpm-proc" instead. 47375eed5fSKrzysztof Kozlowski - | 48375eed5fSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 49375eed5fSKrzysztof Kozlowski 50375eed5fSKrzysztof Kozlowski shared-memory { 51375eed5fSKrzysztof Kozlowski compatible = "qcom,smd"; 52375eed5fSKrzysztof Kozlowski 53375eed5fSKrzysztof Kozlowski rpm { 54375eed5fSKrzysztof Kozlowski interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 55375eed5fSKrzysztof Kozlowski qcom,ipc = <&apcs 8 0>; 56375eed5fSKrzysztof Kozlowski qcom,smd-edge = <15>; 57375eed5fSKrzysztof Kozlowski 58375eed5fSKrzysztof Kozlowski rpm-requests { 59*9d5f3cc5SDmitry Baryshkov compatible = "qcom,rpm-msm8974", "qcom,smd-rpm"; 60375eed5fSKrzysztof Kozlowski qcom,smd-channels = "rpm_requests"; 61375eed5fSKrzysztof Kozlowski 62375eed5fSKrzysztof Kozlowski clock-controller { 63375eed5fSKrzysztof Kozlowski compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc"; 64375eed5fSKrzysztof Kozlowski #clock-cells = <1>; 65375eed5fSKrzysztof Kozlowski }; 66375eed5fSKrzysztof Kozlowski 67375eed5fSKrzysztof Kozlowski }; 68375eed5fSKrzysztof Kozlowski }; 69375eed5fSKrzysztof Kozlowski }; 70