xref: /freebsd/sys/contrib/device-tree/Bindings/soc/qcom/qcom,smem.txt (revision 2e3507c25e42292b45a5482e116d278f5515d04d)
1Qualcomm Shared Memory Manager binding
2
3This binding describes the Qualcomm Shared Memory Manager, used to share data
4between various subsystems and OSes in Qualcomm platforms.
5
6- compatible:
7	Usage: required
8	Value type: <stringlist>
9	Definition: must be:
10		    "qcom,smem"
11
12- memory-region:
13	Usage: required
14	Value type: <prop-encoded-array>
15	Definition: handle to memory reservation for main SMEM memory region.
16
17- qcom,rpm-msg-ram:
18	Usage: required
19	Value type: <prop-encoded-array>
20	Definition: handle to RPM message memory resource
21
22- hwlocks:
23	Usage: required
24	Value type: <prop-encoded-array>
25	Definition: reference to a hwspinlock used to protect allocations from
26		    the shared memory
27
28= EXAMPLE
29The following example shows the SMEM setup for MSM8974, with a main SMEM region
30at 0xfa00000 and the RPM message ram at 0xfc428000:
31
32	reserved-memory {
33		#address-cells = <1>;
34		#size-cells = <1>;
35		ranges;
36
37		smem_region: smem@fa00000 {
38			reg = <0xfa00000 0x200000>;
39			no-map;
40		};
41	};
42
43	smem@fa00000 {
44		compatible = "qcom,smem";
45
46		memory-region = <&smem_region>;
47		qcom,rpm-msg-ram = <&rpm_msg_ram>;
48
49		hwlocks = <&tcsr_mutex 3>;
50	};
51
52	soc {
53		rpm_msg_ram: memory@fc428000 {
54			compatible = "qcom,rpm-msg-ram";
55			reg = <0xfc428000 0x4000>;
56		};
57	};
58