162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm SMD Edge communication channel nodes 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Bjorn Andersson <bjorn.andersson@linaro.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci Qualcomm SMD subnode represents a remote subsystem or a remote processor of 1462306a36Sopenharmony_ci some sort - or in SMD language an "edge". The name of the edges are not 1562306a36Sopenharmony_ci important. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci In turn, subnodes of the "edges" represent devices tied to SMD channels on 1862306a36Sopenharmony_ci that "edge". The names of the devices are not important. The properties of 1962306a36Sopenharmony_ci these nodes are defined by the individual bindings for the SMD devices. 2062306a36Sopenharmony_ci See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciproperties: 2362306a36Sopenharmony_ci $nodename: 2462306a36Sopenharmony_ci const: smd-edge 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci apr: 2762306a36Sopenharmony_ci $ref: /schemas/soc/qcom/qcom,apr.yaml# 2862306a36Sopenharmony_ci required: 2962306a36Sopenharmony_ci - qcom,smd-channels 3062306a36Sopenharmony_ci description: 3162306a36Sopenharmony_ci Qualcomm APR/GPR (Asynchronous/Generic Packet Router) 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci fastrpc: 3462306a36Sopenharmony_ci $ref: /schemas/misc/qcom,fastrpc.yaml# 3562306a36Sopenharmony_ci required: 3662306a36Sopenharmony_ci - qcom,smd-channels 3762306a36Sopenharmony_ci description: 3862306a36Sopenharmony_ci Qualcomm FastRPC 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci interrupts: 4162306a36Sopenharmony_ci maxItems: 1 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci label: 4462306a36Sopenharmony_ci description: 4562306a36Sopenharmony_ci Name of the edge, used for debugging and identification purposes. The 4662306a36Sopenharmony_ci node name will be used if this is not present. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci mboxes: 4962306a36Sopenharmony_ci maxItems: 1 5062306a36Sopenharmony_ci description: 5162306a36Sopenharmony_ci Reference to the mailbox representing the outgoing doorbell in APCS for 5262306a36Sopenharmony_ci this client. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci qcom,ipc: 5562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 5662306a36Sopenharmony_ci items: 5762306a36Sopenharmony_ci - items: 5862306a36Sopenharmony_ci - description: phandle to a syscon node representing the APCS registers 5962306a36Sopenharmony_ci - description: u32 representing offset to the register within the syscon 6062306a36Sopenharmony_ci - description: u32 representing the ipc bit within the register 6162306a36Sopenharmony_ci description: 6262306a36Sopenharmony_ci Three entries specifying the outgoing ipc bit used for signaling the 6362306a36Sopenharmony_ci remote processor. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci qcom,smd-edge: 6662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6762306a36Sopenharmony_ci description: 6862306a36Sopenharmony_ci The identifier of the remote processor in the smd channel allocation 6962306a36Sopenharmony_ci table. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci qcom,remote-pid: 7262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7362306a36Sopenharmony_ci description: 7462306a36Sopenharmony_ci The identifier for the remote processor as known by the rest of the 7562306a36Sopenharmony_ci system. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci rpm-requests: 7862306a36Sopenharmony_ci $ref: /schemas/soc/qcom/qcom,smd-rpm.yaml# 7962306a36Sopenharmony_ci required: 8062306a36Sopenharmony_ci - qcom,smd-channels 8162306a36Sopenharmony_ci description: 8262306a36Sopenharmony_ci Qualcomm Resource Power Manager (RPM) over SMD. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci wcnss: 8562306a36Sopenharmony_ci $ref: /schemas/soc/qcom/qcom,wcnss.yaml 8662306a36Sopenharmony_ci required: 8762306a36Sopenharmony_ci - qcom,smd-channels 8862306a36Sopenharmony_ci description: 8962306a36Sopenharmony_ci Qualcomm WCNSS for Bluetooth, WiFi and FM radio. 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_cirequired: 9262306a36Sopenharmony_ci - interrupts 9362306a36Sopenharmony_ci - qcom,smd-edge 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_cioneOf: 9662306a36Sopenharmony_ci - required: 9762306a36Sopenharmony_ci - mboxes 9862306a36Sopenharmony_ci - required: 9962306a36Sopenharmony_ci - qcom,ipc 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciadditionalProperties: false 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ciexamples: 10462306a36Sopenharmony_ci - | 10562306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 10662306a36Sopenharmony_ci #include <dt-bindings/mailbox/qcom-ipcc.h> 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci remoteproc { 10962306a36Sopenharmony_ci // ... 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci smd-edge { 11262306a36Sopenharmony_ci interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci qcom,ipc = <&apcs 8 8>; 11562306a36Sopenharmony_ci qcom,smd-edge = <1>; 11662306a36Sopenharmony_ci }; 11762306a36Sopenharmony_ci }; 118