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: 24*fac71e4eSEmmanuel 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. 64b97ee269SEmmanuel Vadot 65b97ee269SEmmanuel Vadot qcom,smd-edge: 66b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 67b97ee269SEmmanuel Vadot description: 68b97ee269SEmmanuel Vadot The identifier of the remote processor in the smd channel allocation 69b97ee269SEmmanuel Vadot table. 70b97ee269SEmmanuel Vadot 71b97ee269SEmmanuel Vadot qcom,remote-pid: 72b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 73b97ee269SEmmanuel Vadot description: 74b97ee269SEmmanuel Vadot The identifier for the remote processor as known by the rest of the 75b97ee269SEmmanuel Vadot system. 76b97ee269SEmmanuel Vadot 777ef62cebSEmmanuel Vadot rpm-requests: 787ef62cebSEmmanuel Vadot $ref: /schemas/soc/qcom/qcom,smd-rpm.yaml# 797ef62cebSEmmanuel Vadot required: 807ef62cebSEmmanuel Vadot - qcom,smd-channels 817ef62cebSEmmanuel Vadot description: 827ef62cebSEmmanuel Vadot Qualcomm Resource Power Manager (RPM) over SMD. 837ef62cebSEmmanuel Vadot 847ef62cebSEmmanuel Vadot wcnss: 857ef62cebSEmmanuel Vadot $ref: /schemas/soc/qcom/qcom,wcnss.yaml 867ef62cebSEmmanuel Vadot required: 877ef62cebSEmmanuel Vadot - qcom,smd-channels 887ef62cebSEmmanuel Vadot description: 897ef62cebSEmmanuel Vadot Qualcomm WCNSS for Bluetooth, WiFi and FM radio. 907ef62cebSEmmanuel Vadot 91b97ee269SEmmanuel Vadotrequired: 92b97ee269SEmmanuel Vadot - interrupts 93b97ee269SEmmanuel Vadot - qcom,smd-edge 94b97ee269SEmmanuel Vadot 95b97ee269SEmmanuel VadotoneOf: 96b97ee269SEmmanuel Vadot - required: 97b97ee269SEmmanuel Vadot - mboxes 98b97ee269SEmmanuel Vadot - required: 99b97ee269SEmmanuel Vadot - qcom,ipc 100b97ee269SEmmanuel Vadot 1017ef62cebSEmmanuel VadotadditionalProperties: false 102b97ee269SEmmanuel Vadot 103b97ee269SEmmanuel Vadotexamples: 104b97ee269SEmmanuel Vadot - | 105b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 106b97ee269SEmmanuel Vadot #include <dt-bindings/mailbox/qcom-ipcc.h> 107b97ee269SEmmanuel Vadot 108b97ee269SEmmanuel Vadot remoteproc { 109b97ee269SEmmanuel Vadot // ... 110b97ee269SEmmanuel Vadot 111b97ee269SEmmanuel Vadot smd-edge { 112b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 113b97ee269SEmmanuel Vadot 114b97ee269SEmmanuel Vadot qcom,ipc = <&apcs 8 8>; 115b97ee269SEmmanuel Vadot qcom,smd-edge = <1>; 116b97ee269SEmmanuel Vadot }; 117b97ee269SEmmanuel Vadot }; 118