summaryrefslogtreecommitdiff
path: root/bindings/arm/msm/heap-sharing.txt
blob: 03b1efdd60f0f10f1fc0e4678bdd6f5bc4f17c9d (plain)
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";
	};
};