18c2ecf20Sopenharmony_ciQualcomm Shared Memory Manager binding
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThis binding describes the Qualcomm Shared Memory Manager, used to share data
48c2ecf20Sopenharmony_cibetween various subsystems and OSes in Qualcomm platforms.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci- compatible:
78c2ecf20Sopenharmony_ci	Usage: required
88c2ecf20Sopenharmony_ci	Value type: <stringlist>
98c2ecf20Sopenharmony_ci	Definition: must be:
108c2ecf20Sopenharmony_ci		    "qcom,smem"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci- memory-region:
138c2ecf20Sopenharmony_ci	Usage: required
148c2ecf20Sopenharmony_ci	Value type: <prop-encoded-array>
158c2ecf20Sopenharmony_ci	Definition: handle to memory reservation for main SMEM memory region.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci- qcom,rpm-msg-ram:
188c2ecf20Sopenharmony_ci	Usage: required
198c2ecf20Sopenharmony_ci	Value type: <prop-encoded-array>
208c2ecf20Sopenharmony_ci	Definition: handle to RPM message memory resource
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci- hwlocks:
238c2ecf20Sopenharmony_ci	Usage: required
248c2ecf20Sopenharmony_ci	Value type: <prop-encoded-array>
258c2ecf20Sopenharmony_ci	Definition: reference to a hwspinlock used to protect allocations from
268c2ecf20Sopenharmony_ci		    the shared memory
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci= EXAMPLE
298c2ecf20Sopenharmony_ciThe following example shows the SMEM setup for MSM8974, with a main SMEM region
308c2ecf20Sopenharmony_ciat 0xfa00000 and the RPM message ram at 0xfc428000:
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	reserved-memory {
338c2ecf20Sopenharmony_ci		#address-cells = <1>;
348c2ecf20Sopenharmony_ci		#size-cells = <1>;
358c2ecf20Sopenharmony_ci		ranges;
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci		smem_region: smem@fa00000 {
388c2ecf20Sopenharmony_ci			reg = <0xfa00000 0x200000>;
398c2ecf20Sopenharmony_ci			no-map;
408c2ecf20Sopenharmony_ci		};
418c2ecf20Sopenharmony_ci	};
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	smem@fa00000 {
448c2ecf20Sopenharmony_ci		compatible = "qcom,smem";
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci		memory-region = <&smem_region>;
478c2ecf20Sopenharmony_ci		qcom,rpm-msg-ram = <&rpm_msg_ram>;
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci		hwlocks = <&tcsr_mutex 3>;
508c2ecf20Sopenharmony_ci	};
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci	soc {
538c2ecf20Sopenharmony_ci		rpm_msg_ram: memory@fc428000 {
548c2ecf20Sopenharmony_ci			compatible = "qcom,rpm-msg-ram";
558c2ecf20Sopenharmony_ci			reg = <0xfc428000 0x4000>;
568c2ecf20Sopenharmony_ci		};
578c2ecf20Sopenharmony_ci	};
58