67 lines
1.7 KiB
Text
67 lines
1.7 KiB
Text
* Memory Share Driver (MEMSHARE)
|
|
|
|
The Memshare driver implements a Kernel QMI service on the
|
|
LA-APSS, which is responsible for providing contiguous physical
|
|
memory to MPSS for use cases when the modem requires additional
|
|
memory (e.g. GPS).
|
|
|
|
Required properties for Memshare
|
|
|
|
-Root Node-
|
|
|
|
- compatible: Must be "qcom,memshare"
|
|
|
|
Required properties for child nodes:
|
|
|
|
- compatible: Must be "qcom,memshare-peripheral"
|
|
|
|
- qcom,peripheral-size: Indicates the size (in bytes) required for that child.
|
|
|
|
- qcom,client-id: Indicates the client id of the child node.
|
|
|
|
- label: Indicates the peripheral information for the node. Should be one of
|
|
the following:
|
|
- modem /* Represent Modem Peripheral */
|
|
- adsp /* Represent ADSP Peripheral */
|
|
- wcnss /* Represent WCNSS Peripheral */
|
|
|
|
Optional properties for child nodes:
|
|
|
|
- qcom,allocate-boot-time: Indicates whether clients needs boot time memory allocation.
|
|
|
|
- qcom,allocate-on-request: Indicates memory allocation happens only upon client request
|
|
|
|
- qcom,shared: Indicates memory allocation should be shared by HLOS and peripheral.
|
|
|
|
Note: qcom,allocate-boot-time and qcom,allocate-on-request are mutually exclusive rite now.
|
|
|
|
- qcom,guard-band: Indicates addition of a guard band memory allocation in addition to the client's memory region.
|
|
|
|
Example 1:
|
|
|
|
qcom,memshare {
|
|
compatible = "qcom,memshare";
|
|
|
|
qcom,client_1 {
|
|
compatible = "qcom,memshare-peripheral";
|
|
qcom,peripheral-size = <0x200000>;
|
|
qcom,client-id = <0>;
|
|
qcom,allocate-boot-time;
|
|
label = "modem";
|
|
};
|
|
};
|
|
|
|
Example 2:
|
|
|
|
qcom,memshare {
|
|
compatible = "qcom,memshare";
|
|
|
|
qcom,client_3 {
|
|
compatible = "qcom,memshare-peripheral";
|
|
qcom,peripheral-size = <0x500000>;
|
|
qcom,client-id = <1>;
|
|
qcom,allocate-on-request;
|
|
qcom,guard-band;
|
|
label = "modem";
|
|
};
|
|
};
|