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