0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Qualcomm SMD Edge communication channel nodes
0008
0009 maintainers:
0010 - Bjorn Andersson <bjorn.andersson@linaro.org>
0011
0012 description:
0013 Qualcomm SMD subnode represents a remote subsystem or a remote processor of
0014 some sort - or in SMD language an "edge". The name of the edges are not
0015 important.
0016 See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
0017
0018 properties:
0019 $nodename:
0020 const: "smd-edge"
0021
0022 interrupts:
0023 maxItems: 1
0024
0025 label:
0026 description:
0027 Name of the edge, used for debugging and identification purposes. The
0028 node name will be used if this is not present.
0029
0030 mboxes:
0031 maxItems: 1
0032 description:
0033 Reference to the mailbox representing the outgoing doorbell in APCS for
0034 this client.
0035
0036 qcom,ipc:
0037 $ref: /schemas/types.yaml#/definitions/phandle-array
0038 items:
0039 - items:
0040 - description: phandle to a syscon node representing the APCS registers
0041 - description: u32 representing offset to the register within the syscon
0042 - description: u32 representing the ipc bit within the register
0043 description:
0044 Three entries specifying the outgoing ipc bit used for signaling the
0045 remote processor.
0046
0047 qcom,smd-edge:
0048 $ref: /schemas/types.yaml#/definitions/uint32
0049 description:
0050 The identifier of the remote processor in the smd channel allocation
0051 table.
0052
0053 qcom,remote-pid:
0054 $ref: /schemas/types.yaml#/definitions/uint32
0055 description:
0056 The identifier for the remote processor as known by the rest of the
0057 system.
0058
0059 required:
0060 - interrupts
0061 - qcom,smd-edge
0062
0063 oneOf:
0064 - required:
0065 - mboxes
0066 - required:
0067 - qcom,ipc
0068
0069 additionalProperties: true
0070
0071 examples:
0072 - |
0073 #include <dt-bindings/interrupt-controller/arm-gic.h>
0074 #include <dt-bindings/mailbox/qcom-ipcc.h>
0075
0076 remoteproc {
0077 // ...
0078
0079 smd-edge {
0080 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
0081
0082 qcom,ipc = <&apcs 8 8>;
0083 qcom,smd-edge = <1>;
0084 };
0085 };