1c66ec88fSEmmanuel VadotQualcomm Technologies, Inc. FastRPC Driver 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotThe FastRPC implements an IPC (Inter-Processor Communication) 4c66ec88fSEmmanuel Vadotmechanism that allows for clients to transparently make remote method 5c66ec88fSEmmanuel Vadotinvocations across DSP and APPS boundaries. This enables developers 6c66ec88fSEmmanuel Vadotto offload tasks to the DSP and free up the application processor for 7c66ec88fSEmmanuel Vadotother tasks. 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot- compatible: 10c66ec88fSEmmanuel Vadot Usage: required 11c66ec88fSEmmanuel Vadot Value type: <stringlist> 12c66ec88fSEmmanuel Vadot Definition: must be "qcom,fastrpc" 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot- label 15c66ec88fSEmmanuel Vadot Usage: required 16c66ec88fSEmmanuel Vadot Value type: <string> 17c66ec88fSEmmanuel Vadot Definition: should specify the dsp domain name this fastrpc 18c66ec88fSEmmanuel Vadot corresponds to. must be one of this: "adsp", "mdsp", "sdsp", "cdsp" 19c66ec88fSEmmanuel Vadot 20*c9ccf3a3SEmmanuel Vadot- qcom,non-secure-domain: 21*c9ccf3a3SEmmanuel Vadot Usage: required 22*c9ccf3a3SEmmanuel Vadot Value type: <boolean> 23*c9ccf3a3SEmmanuel Vadot Definition: Property to specify that dsp domain is non-secure. 24*c9ccf3a3SEmmanuel Vadot 25*c9ccf3a3SEmmanuel Vadot- qcom,vmids: 26*c9ccf3a3SEmmanuel Vadot Usage: optional 27*c9ccf3a3SEmmanuel Vadot Value type: <u32 array> 28*c9ccf3a3SEmmanuel Vadot Definition: Virtual machine IDs for remote processor. 29*c9ccf3a3SEmmanuel Vadot 30c66ec88fSEmmanuel Vadot- #address-cells 31c66ec88fSEmmanuel Vadot Usage: required 32c66ec88fSEmmanuel Vadot Value type: <u32> 33c66ec88fSEmmanuel Vadot Definition: Must be 1 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot- #size-cells 36c66ec88fSEmmanuel Vadot Usage: required 37c66ec88fSEmmanuel Vadot Value type: <u32> 38c66ec88fSEmmanuel Vadot Definition: Must be 0 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot= COMPUTE BANKS 41c66ec88fSEmmanuel VadotEach subnode of the Fastrpc represents compute context banks available 42c66ec88fSEmmanuel Vadoton the dsp. 43c66ec88fSEmmanuel Vadot- All Compute context banks MUST contain the following properties: 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot- compatible: 46c66ec88fSEmmanuel Vadot Usage: required 47c66ec88fSEmmanuel Vadot Value type: <stringlist> 48c66ec88fSEmmanuel Vadot Definition: must be "qcom,fastrpc-compute-cb" 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot- reg 51c66ec88fSEmmanuel Vadot Usage: required 52c66ec88fSEmmanuel Vadot Value type: <u32> 53c66ec88fSEmmanuel Vadot Definition: Context Bank ID. 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot- qcom,nsessions: 56c66ec88fSEmmanuel Vadot Usage: Optional 57c66ec88fSEmmanuel Vadot Value type: <u32> 58c66ec88fSEmmanuel Vadot Defination: A value indicating how many sessions can share this 59c66ec88fSEmmanuel Vadot context bank. Defaults to 1 when this property 60c66ec88fSEmmanuel Vadot is not specified. 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel VadotExample: 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadotadsp-pil { 65c66ec88fSEmmanuel Vadot compatible = "qcom,msm8996-adsp-pil"; 66c66ec88fSEmmanuel Vadot ... 67c66ec88fSEmmanuel Vadot smd-edge { 68c66ec88fSEmmanuel Vadot label = "lpass"; 69c66ec88fSEmmanuel Vadot fastrpc { 70c66ec88fSEmmanuel Vadot compatible = "qcom,fastrpc"; 71c66ec88fSEmmanuel Vadot qcom,smd-channels = "fastrpcsmd-apps-dsp"; 72c66ec88fSEmmanuel Vadot label = "adsp"; 73c66ec88fSEmmanuel Vadot #address-cells = <1>; 74c66ec88fSEmmanuel Vadot #size-cells = <0>; 75c66ec88fSEmmanuel Vadot 76c66ec88fSEmmanuel Vadot cb@1 { 77c66ec88fSEmmanuel Vadot compatible = "qcom,fastrpc-compute-cb"; 78c66ec88fSEmmanuel Vadot reg = <1>; 79c66ec88fSEmmanuel Vadot }; 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot cb@2 { 82c66ec88fSEmmanuel Vadot compatible = "qcom,fastrpc-compute-cb"; 83c66ec88fSEmmanuel Vadot reg = <2>; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot ... 86c66ec88fSEmmanuel Vadot }; 87c66ec88fSEmmanuel Vadot }; 88c66ec88fSEmmanuel Vadot}; 89