| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Qualcomm SMD Edge communication channel nodes |
| |
| maintainers: |
| - Bjorn Andersson <bjorn.andersson@linaro.org> |
| |
| description: |
| Qualcomm SMD subnode represents a remote subsystem or a remote processor of |
| some sort - or in SMD language an "edge". The name of the edges are not |
| important. |
| |
| In turn, subnodes of the "edges" represent devices tied to SMD channels on |
| that "edge". The names of the devices are not important. The properties of |
| these nodes are defined by the individual bindings for the SMD devices. |
| See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml |
| |
| properties: |
| $nodename: |
| const: smd-edge |
| |
| apr: |
| $ref: /schemas/soc/qcom/qcom,apr.yaml# |
| required: |
| - qcom,smd-channels |
| description: |
| Qualcomm APR/GPR (Asynchronous/Generic Packet Router) |
| |
| fastrpc: |
| $ref: /schemas/misc/qcom,fastrpc.yaml# |
| required: |
| - qcom,smd-channels |
| description: |
| Qualcomm FastRPC |
| |
| interrupts: |
| maxItems: 1 |
| |
| label: |
| description: |
| Name of the edge, used for debugging and identification purposes. The |
| node name will be used if this is not present. |
| |
| mboxes: |
| maxItems: 1 |
| description: |
| Reference to the mailbox representing the outgoing doorbell in APCS for |
| this client. |
| |
| qcom,ipc: |
| $ref: /schemas/types.yaml#/definitions/phandle-array |
| items: |
| - items: |
| - description: phandle to a syscon node representing the APCS registers |
| - description: u32 representing offset to the register within the syscon |
| - description: u32 representing the ipc bit within the register |
| description: |
| Three entries specifying the outgoing ipc bit used for signaling the |
| remote processor. |
| |
| qcom,smd-edge: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| The identifier of the remote processor in the smd channel allocation |
| table. |
| |
| qcom,remote-pid: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| The identifier for the remote processor as known by the rest of the |
| system. |
| |
| rpm-requests: |
| $ref: /schemas/soc/qcom/qcom,smd-rpm.yaml# |
| required: |
| - qcom,smd-channels |
| description: |
| Qualcomm Resource Power Manager (RPM) over SMD. |
| |
| wcnss: |
| $ref: /schemas/soc/qcom/qcom,wcnss.yaml |
| required: |
| - qcom,smd-channels |
| description: |
| Qualcomm WCNSS for Bluetooth, WiFi and FM radio. |
| |
| required: |
| - interrupts |
| - qcom,smd-edge |
| |
| oneOf: |
| - required: |
| - mboxes |
| - required: |
| - qcom,ipc |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/mailbox/qcom-ipcc.h> |
| |
| remoteproc { |
| // ... |
| |
| smd-edge { |
| interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; |
| |
| qcom,ipc = <&apcs 8 8>; |
| qcom,smd-edge = <1>; |
| }; |
| }; |