1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 3 --- 4 $id: http://devicetree.org/schemas/misc/qcom,fastrpc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 7 title: Qualcomm FastRPC Driver 8 9 maintainers: 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11 12 description: | 13 The FastRPC implements an IPC (Inter-Processor Communication) 14 mechanism that allows for clients to transparently make remote method 15 invocations across DSP and APPS boundaries. This enables developers 16 to offload tasks to the DSP and free up the application processor for 17 other tasks. 18 19 properties: 20 compatible: 21 const: qcom,fastrpc 22 23 label: 24 enum: 25 - adsp 26 - mdsp 27 - sdsp 28 - cdsp 29 - cdsp1 30 31 memory-region: 32 maxItems: 1 33 description: 34 Phandle to a node describing memory to be used for remote heap CMA. 35 36 qcom,glink-channels: 37 description: 38 A list of channels tied to this function, used for matching 39 the function to a set of virtual channels. 40 $ref: /schemas/types.yaml#/definitions/string-array 41 items: 42 - const: fastrpcglink-apps-dsp 43 44 qcom,non-secure-domain: 45 description: 46 Used to mark the current domain as non-secure. 47 type: boolean 48 49 qcom,smd-channels: 50 description: 51 Channel name used for the RPM communication 52 $ref: /schemas/types.yaml#/definitions/string-array 53 items: 54 - const: fastrpcsmd-apps-dsp 55 56 qcom,vmids: 57 description: 58 Virtual machine IDs for remote processor. 59 $ref: /schemas/types.yaml#/definitions/uint32-array 60 61 "#address-cells": 62 const: 1 63 64 "#size-cells": 65 const: 0 66 67 patternProperties: 68 "(compute-)?cb@[0-9]*$": 69 type: object 70 71 description: > 72 Each subnode of the Fastrpc represents compute context banks available on the dsp. 73 74 properties: 75 compatible: 76 const: qcom,fastrpc-compute-cb 77 78 reg: 79 maxItems: 1 80 81 dma-coherent: true 82 83 iommus: 84 minItems: 1 85 maxItems: 10 86 87 qcom,nsessions: 88 $ref: /schemas/types.yaml#/definitions/uint32 89 default: 1 90 description: > 91 A value indicating how many sessions can share this context bank. 92 93 required: 94 - compatible 95 - reg 96 97 additionalProperties: false 98 99 required: 100 - compatible 101 - label 102 - "#address-cells" 103 - "#size-cells" 104 105 additionalProperties: false 106 107 examples: 108 - | 109 #include <dt-bindings/interrupt-controller/arm-gic.h> 110 #include <dt-bindings/mailbox/qcom-ipcc.h> 111 112 glink-edge { 113 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 114 IPCC_MPROC_SIGNAL_GLINK_QMP 115 IRQ_TYPE_EDGE_RISING>; 116 mboxes = <&ipcc IPCC_CLIENT_LPASS 117 IPCC_MPROC_SIGNAL_GLINK_QMP>; 118 label = "lpass"; 119 qcom,remote-pid = <2>; 120 121 fastrpc { 122 compatible = "qcom,fastrpc"; 123 qcom,glink-channels = "fastrpcglink-apps-dsp"; 124 label = "sdsp"; 125 qcom,non-secure-domain; 126 #address-cells = <1>; 127 #size-cells = <0>; 128 129 compute-cb@1 { 130 compatible = "qcom,fastrpc-compute-cb"; 131 reg = <1>; 132 iommus = <&apps_smmu 0x0541 0x0>; 133 }; 134 135 compute-cb@2 { 136 compatible = "qcom,fastrpc-compute-cb"; 137 reg = <2>; 138 iommus = <&apps_smmu 0x0542 0x0>; 139 }; 140 141 compute-cb@3 { 142 compatible = "qcom,fastrpc-compute-cb"; 143 reg = <3>; 144 iommus = <&apps_smmu 0x0543 0x0>; 145 }; 146 }; 147 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.