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 18375eed5fSKrzysztof Kozlowskiproperties: 19375eed5fSKrzysztof Kozlowski compatible: 20375eed5fSKrzysztof Kozlowski const: qcom,smd 21375eed5fSKrzysztof Kozlowski 22375eed5fSKrzysztof KozlowskipatternProperties: 23*6dae25e4SKrzysztof Kozlowski "^smd-edge|rpm$": 24568f83ffSKrzysztof Kozlowski $ref: /schemas/remoteproc/qcom,smd-edge.yaml# 25375eed5fSKrzysztof Kozlowski description: 26375eed5fSKrzysztof Kozlowski Each subnode of the SMD node represents a remote subsystem or a remote 27375eed5fSKrzysztof Kozlowski processor of some sort - or in SMD language an "edge". The name of the 28375eed5fSKrzysztof Kozlowski edges are not important. 29375eed5fSKrzysztof Kozlowski 30375eed5fSKrzysztof Kozlowski properties: 319171c484SKrzysztof Kozlowski rpm-requests: 32375eed5fSKrzysztof Kozlowski type: object 33375eed5fSKrzysztof Kozlowski description: 34375eed5fSKrzysztof Kozlowski In turn, subnodes of the "edges" represent devices tied to SMD 35375eed5fSKrzysztof Kozlowski channels on that "edge". The names of the devices are not 36375eed5fSKrzysztof Kozlowski important. The properties of these nodes are defined by the 37375eed5fSKrzysztof Kozlowski individual bindings for the SMD devices. 38375eed5fSKrzysztof Kozlowski 39375eed5fSKrzysztof Kozlowski properties: 40375eed5fSKrzysztof Kozlowski qcom,smd-channels: 41375eed5fSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/string-array 42375eed5fSKrzysztof Kozlowski minItems: 1 43375eed5fSKrzysztof Kozlowski maxItems: 32 44375eed5fSKrzysztof Kozlowski description: 45375eed5fSKrzysztof Kozlowski A list of channels tied to this device, used for matching the 46375eed5fSKrzysztof Kozlowski device to channels. 47375eed5fSKrzysztof Kozlowski 48375eed5fSKrzysztof Kozlowski required: 49375eed5fSKrzysztof Kozlowski - compatible 50375eed5fSKrzysztof Kozlowski - qcom,smd-channels 51375eed5fSKrzysztof Kozlowski 52375eed5fSKrzysztof Kozlowski additionalProperties: true 53375eed5fSKrzysztof Kozlowski 54385fad13SKrzysztof Kozlowski unevaluatedProperties: false 55375eed5fSKrzysztof Kozlowski 56375eed5fSKrzysztof Kozlowskirequired: 57375eed5fSKrzysztof Kozlowski - compatible 58375eed5fSKrzysztof Kozlowski 59375eed5fSKrzysztof KozlowskiadditionalProperties: false 60375eed5fSKrzysztof Kozlowski 61375eed5fSKrzysztof Kozlowskiexamples: 62375eed5fSKrzysztof Kozlowski # The following example represents a smd node, with one edge representing the 63375eed5fSKrzysztof Kozlowski # "rpm" subsystem. For the "rpm" subsystem we have a device tied to the 64375eed5fSKrzysztof Kozlowski # "rpm_request" channel. 65375eed5fSKrzysztof Kozlowski - | 66375eed5fSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 67375eed5fSKrzysztof Kozlowski 68375eed5fSKrzysztof Kozlowski shared-memory { 69375eed5fSKrzysztof Kozlowski compatible = "qcom,smd"; 70375eed5fSKrzysztof Kozlowski 71375eed5fSKrzysztof Kozlowski rpm { 72375eed5fSKrzysztof Kozlowski interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 73375eed5fSKrzysztof Kozlowski qcom,ipc = <&apcs 8 0>; 74375eed5fSKrzysztof Kozlowski qcom,smd-edge = <15>; 75375eed5fSKrzysztof Kozlowski 76375eed5fSKrzysztof Kozlowski rpm-requests { 77375eed5fSKrzysztof Kozlowski compatible = "qcom,rpm-msm8974"; 78375eed5fSKrzysztof Kozlowski qcom,smd-channels = "rpm_requests"; 79375eed5fSKrzysztof Kozlowski 80375eed5fSKrzysztof Kozlowski clock-controller { 81375eed5fSKrzysztof Kozlowski compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc"; 82375eed5fSKrzysztof Kozlowski #clock-cells = <1>; 83375eed5fSKrzysztof Kozlowski }; 84375eed5fSKrzysztof Kozlowski 85375eed5fSKrzysztof Kozlowski }; 86375eed5fSKrzysztof Kozlowski }; 87375eed5fSKrzysztof Kozlowski }; 88