1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b97ee269SEmmanuel Vadot%YAML 1.2 3b97ee269SEmmanuel Vadot--- 4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml# 5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6b97ee269SEmmanuel Vadot 7b97ee269SEmmanuel Vadottitle: Qualcomm SMD Edge communication channel nodes 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadotmaintainers: 10b97ee269SEmmanuel Vadot - Bjorn Andersson <bjorn.andersson@linaro.org> 11b97ee269SEmmanuel Vadot 12b97ee269SEmmanuel Vadotdescription: 13b97ee269SEmmanuel Vadot Qualcomm SMD subnode represents a remote subsystem or a remote processor of 14b97ee269SEmmanuel Vadot some sort - or in SMD language an "edge". The name of the edges are not 15b97ee269SEmmanuel Vadot important. 167ef62cebSEmmanuel Vadot 177ef62cebSEmmanuel Vadot In turn, subnodes of the "edges" represent devices tied to SMD channels on 187ef62cebSEmmanuel Vadot that "edge". The names of the devices are not important. The properties of 197ef62cebSEmmanuel Vadot these nodes are defined by the individual bindings for the SMD devices. 20b97ee269SEmmanuel Vadot See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml 21b97ee269SEmmanuel Vadot 22b97ee269SEmmanuel Vadotproperties: 23b97ee269SEmmanuel Vadot $nodename: 24fac71e4eSEmmanuel Vadot const: smd-edge 25b97ee269SEmmanuel Vadot 267ef62cebSEmmanuel Vadot apr: 277ef62cebSEmmanuel Vadot $ref: /schemas/soc/qcom/qcom,apr.yaml# 287ef62cebSEmmanuel Vadot required: 297ef62cebSEmmanuel Vadot - qcom,smd-channels 307ef62cebSEmmanuel Vadot description: 317ef62cebSEmmanuel Vadot Qualcomm APR/GPR (Asynchronous/Generic Packet Router) 327ef62cebSEmmanuel Vadot 337ef62cebSEmmanuel Vadot fastrpc: 347ef62cebSEmmanuel Vadot $ref: /schemas/misc/qcom,fastrpc.yaml# 357ef62cebSEmmanuel Vadot required: 367ef62cebSEmmanuel Vadot - qcom,smd-channels 377ef62cebSEmmanuel Vadot description: 387ef62cebSEmmanuel Vadot Qualcomm FastRPC 397ef62cebSEmmanuel Vadot 40b97ee269SEmmanuel Vadot interrupts: 41b97ee269SEmmanuel Vadot maxItems: 1 42b97ee269SEmmanuel Vadot 43b97ee269SEmmanuel Vadot label: 44b97ee269SEmmanuel Vadot description: 45b97ee269SEmmanuel Vadot Name of the edge, used for debugging and identification purposes. The 46b97ee269SEmmanuel Vadot node name will be used if this is not present. 47b97ee269SEmmanuel Vadot 48b97ee269SEmmanuel Vadot mboxes: 49b97ee269SEmmanuel Vadot maxItems: 1 50b97ee269SEmmanuel Vadot description: 51b97ee269SEmmanuel Vadot Reference to the mailbox representing the outgoing doorbell in APCS for 52b97ee269SEmmanuel Vadot this client. 53b97ee269SEmmanuel Vadot 54b97ee269SEmmanuel Vadot qcom,ipc: 55b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 56b97ee269SEmmanuel Vadot items: 57b97ee269SEmmanuel Vadot - items: 58b97ee269SEmmanuel Vadot - description: phandle to a syscon node representing the APCS registers 59b97ee269SEmmanuel Vadot - description: u32 representing offset to the register within the syscon 60b97ee269SEmmanuel Vadot - description: u32 representing the ipc bit within the register 61b97ee269SEmmanuel Vadot description: 62b97ee269SEmmanuel Vadot Three entries specifying the outgoing ipc bit used for signaling the 63b97ee269SEmmanuel Vadot remote processor. 64*7d0873ebSEmmanuel Vadot deprecated: true 65b97ee269SEmmanuel Vadot 66b97ee269SEmmanuel Vadot qcom,smd-edge: 67b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 68b97ee269SEmmanuel Vadot description: 69b97ee269SEmmanuel Vadot The identifier of the remote processor in the smd channel allocation 70b97ee269SEmmanuel Vadot table. 71b97ee269SEmmanuel Vadot 72b97ee269SEmmanuel Vadot qcom,remote-pid: 73b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 74b97ee269SEmmanuel Vadot description: 75b97ee269SEmmanuel Vadot The identifier for the remote processor as known by the rest of the 76b97ee269SEmmanuel Vadot system. 77b97ee269SEmmanuel Vadot 787ef62cebSEmmanuel Vadot rpm-requests: 797ef62cebSEmmanuel Vadot $ref: /schemas/soc/qcom/qcom,smd-rpm.yaml# 807ef62cebSEmmanuel Vadot required: 817ef62cebSEmmanuel Vadot - qcom,smd-channels 827ef62cebSEmmanuel Vadot description: 837ef62cebSEmmanuel Vadot Qualcomm Resource Power Manager (RPM) over SMD. 847ef62cebSEmmanuel Vadot 857ef62cebSEmmanuel Vadot wcnss: 867ef62cebSEmmanuel Vadot $ref: /schemas/soc/qcom/qcom,wcnss.yaml 877ef62cebSEmmanuel Vadot required: 887ef62cebSEmmanuel Vadot - qcom,smd-channels 897ef62cebSEmmanuel Vadot description: 907ef62cebSEmmanuel Vadot Qualcomm WCNSS for Bluetooth, WiFi and FM radio. 917ef62cebSEmmanuel Vadot 92b97ee269SEmmanuel Vadotrequired: 93b97ee269SEmmanuel Vadot - interrupts 94b97ee269SEmmanuel Vadot - qcom,smd-edge 95b97ee269SEmmanuel Vadot 96b97ee269SEmmanuel VadotoneOf: 97b97ee269SEmmanuel Vadot - required: 98b97ee269SEmmanuel Vadot - mboxes 99b97ee269SEmmanuel Vadot - required: 100b97ee269SEmmanuel Vadot - qcom,ipc 101b97ee269SEmmanuel Vadot 1027ef62cebSEmmanuel VadotadditionalProperties: false 103b97ee269SEmmanuel Vadot 104b97ee269SEmmanuel Vadotexamples: 105b97ee269SEmmanuel Vadot - | 106b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 107b97ee269SEmmanuel Vadot #include <dt-bindings/mailbox/qcom-ipcc.h> 108b97ee269SEmmanuel Vadot 109b97ee269SEmmanuel Vadot remoteproc { 110b97ee269SEmmanuel Vadot // ... 111b97ee269SEmmanuel Vadot 112b97ee269SEmmanuel Vadot smd-edge { 113b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 114b97ee269SEmmanuel Vadot 115*7d0873ebSEmmanuel Vadot mboxes = <&apcs 8>; 116b97ee269SEmmanuel Vadot qcom,smd-edge = <1>; 117b97ee269SEmmanuel Vadot }; 118b97ee269SEmmanuel Vadot }; 119