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