Qualcomm Technologies, Inc. FastRPC Driver

The FastRPC implements an IPC (Inter-Processor Communication)
mechanism that allows for clients to transparently make remote method
invocations across DSP and APPS boundaries. This enables developers
to offload tasks to the DSP and free up the application processor for
other tasks.

- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: must be "qcom,fastrpc"

- label
	Usage: required
	Value type: <string>
	Definition: should specify the dsp domain name this fastrpc
	corresponds to. must be one of this: "adsp", "mdsp", "sdsp", "cdsp"

- #address-cells
	Usage: required
	Value type: <u32>
	Definition: Must be 1

- #size-cells
	Usage: required
	Value type: <u32>
	Definition: Must be 0

= COMPUTE BANKS
Each subnode of the Fastrpc represents compute context banks available
on the dsp.
- All Compute context banks MUST contain the following properties:

- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: must be "qcom,fastrpc-compute-cb"

- reg
	Usage: required
	Value type: <u32>
	Definition: Context Bank ID.

- qcom,nsessions:
	Usage: Optional
	Value type: <u32>
	Defination: A value indicating how many sessions can share this
		    context bank. Defaults to 1 when this property
		    is not specified.

Example:

adsp-pil {
	compatible = "qcom,msm8996-adsp-pil";
	...
	smd-edge {
		label = "lpass";
		fastrpc {
			compatible = "qcom,fastrpc";
			qcom,smd-channels = "fastrpcsmd-apps-dsp";
			label = "adsp";
			#address-cells = <1>;
			#size-cells = <0>;

			cb@1 {
				compatible = "qcom,fastrpc-compute-cb";
				reg = <1>;
			};

			cb@2 {
				compatible = "qcom,fastrpc-compute-cb";
				reg = <2>;
			};
			...
		};
	};
};
