ARM: dts: msm: bindings: Add the fastrpc node and child nodes
Bindings for fastrpc nodes and the child nodes. Change-Id: Ic967b92d2324d5f9671614f62973c5f9820d6b4b Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
This commit is contained in:
@@ -4,30 +4,95 @@
|
|||||||
$id: "http://devicetree.org/schemas/qdsp/msm-fastrpc.yaml#"
|
$id: "http://devicetree.org/schemas/qdsp/msm-fastrpc.yaml#"
|
||||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
title: ADSP remote heap region
|
title: Qualcomm Technologies, Inc. FastRPC Driver
|
||||||
|
|
||||||
description:
|
description:
|
||||||
Defines the ADSP remote heap region. Device used for CMA allocations
|
The MSM FastRPC driver implements an IPC (Inter-Processor Communication)
|
||||||
and mappings for both secure and non-secure usecases.
|
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.qcom,adsprpc-mem node defines the ADSP remote heap region.
|
||||||
|
Device is used for CMA allocations and mappings for both secure and
|
||||||
|
non-secure usecases.
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Anirudh Raghavendra <quic_araghave@quicinc.com>
|
- Anirudh Raghavendra <quic_araghave@quicinc.com>
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible :
|
||||||
const: qcom,adsprpc-mem
|
oneOf:
|
||||||
|
- items:
|
||||||
|
- "qcom,msm-fastrpc-adsp"
|
||||||
|
- "qcom,msm-fastrpc-compute"
|
||||||
|
|
||||||
required:
|
optional:
|
||||||
- compatible
|
- qcom,rpc-latency-us : FastRPC QoS latency vote
|
||||||
- memory-region
|
- qcom,adsp-remoteheap-vmid : FastRPC remote heap VMID list
|
||||||
- restrict-access
|
- qcom,secure-context-bank : Bool indicating secure FastRPC context bank.
|
||||||
|
- qcom,fastrpc-legacy-remote-heap : Bool indicating hypervisor is not supported.
|
||||||
|
- qcom,fastrpc-adsp-audio-pdr : Flag to enable ADSP Audio PDR
|
||||||
|
- qcom,secure-domains : FastRPC secure domain configuration
|
||||||
|
- qcom,fastrpc-adsp-sensors-pdr : Flag to enable Sensors PDR
|
||||||
|
|
||||||
additionalProperties: false
|
child-node:
|
||||||
|
description:
|
||||||
|
Child nodes representing the compute context banks
|
||||||
|
properties:
|
||||||
|
required:
|
||||||
|
- compatible : Must be "qcom,msm-fastrpc-compute-cb"
|
||||||
|
- label : Label describing the channel this context bank belongs to
|
||||||
|
- iommus : A list of phandle and IOMMU specifier pairs that describe the
|
||||||
|
IOMMU master interfaces of the device
|
||||||
|
- dma-coherent : A flag marking a context bank as I/O coherent
|
||||||
|
- shared-cb : A value indicating how many fastrpc sessions can share a
|
||||||
|
context bank
|
||||||
|
|
||||||
examples:
|
child-node:
|
||||||
- |
|
description:
|
||||||
|
Child node for rpmsg instead of glink for IPC
|
||||||
|
properties:
|
||||||
|
required:
|
||||||
|
- compatible : Must be "qcom,msm-fastrpc-rpmsg"
|
||||||
|
|
||||||
|
child-node:
|
||||||
|
description:
|
||||||
|
Child node representing the Remote Heap region
|
||||||
|
properties:
|
||||||
|
required:
|
||||||
|
- compatible : Must be "qcom,msm-adsprpc-mem-region"
|
||||||
|
- memory-region : CMA region which is owned by this device
|
||||||
|
- restrict-access : Blocking vote for hyp_assign_phys function call
|
||||||
|
|
||||||
|
Example:
|
||||||
|
qcom,msm_fastrpc {
|
||||||
|
compatible = "qcom,msm-fastrpc-compute";
|
||||||
|
qcom,fastrpc-rpmsg;
|
||||||
|
qcom,rpc-latency-us = <235>;
|
||||||
|
qcom,adsp-remoteheap-vmid = <22 37>;
|
||||||
|
qcom,fastrpc-adsp-sensors-pdr;
|
||||||
|
|
||||||
|
qcom,msm_fastrpc_rpmsg {
|
||||||
|
compatible = "qcom,msm-fastrpc-rpmsg";
|
||||||
|
qcom,glink-channels = "fastrpcglink-apps-dsp";
|
||||||
|
intents = <0x64 64>;
|
||||||
|
};
|
||||||
|
|
||||||
|
qcom,msm_fastrpc_compute_cb_1 {
|
||||||
|
compatible = "qcom,msm-fastrpc-compute-cb";
|
||||||
|
label = "cdsprpc-smd";
|
||||||
|
qcom,secure-context-bank;
|
||||||
|
iommus = <&apps_smmu 0x1401 0x0>;
|
||||||
|
dma-coherent;
|
||||||
|
};
|
||||||
|
qcom,msm_fastrpc_compute_cb_2 {
|
||||||
|
compatible = "qcom,msm-fastrpc-compute-cb";
|
||||||
|
label = "sdsprpc-smd";
|
||||||
|
iommus = <&apps_smmu 0x1402 0x0>;
|
||||||
|
shared-cb = <5>;
|
||||||
|
};
|
||||||
qcom,adsprpc-mem {
|
qcom,adsprpc-mem {
|
||||||
compatible = "qcom,msm-adsprpc-mem-region";
|
compatible = "qcom,msm-adsprpc-mem-region";
|
||||||
memory-region = <&adsp_mem>;
|
memory-region = <&adsp_mem>;
|
||||||
restrict-access;
|
restrict-access;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
Reference in New Issue
Block a user