1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
* 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
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";
};
};
|