Rtwo/kernel/motorola/sm8550-devicetrees/bindings/arm/msm/heap-sharing.txt
2025-09-30 19:22:48 -05:00

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";
};
};