0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/soc/qcom/qcom,smem.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006
0007 title: Qualcomm Shared Memory Manager binding
0008
0009 maintainers:
0010 - Andy Gross <agross@kernel.org>
0011 - Bjorn Andersson <bjorn.andersson@linaro.org>
0012
0013 description:
0014 This binding describes the Qualcomm Shared Memory Manager, a region of
0015 reserved-memory used to share data between various subsystems and OSes in
0016 Qualcomm platforms.
0017
0018 properties:
0019 compatible:
0020 const: qcom,smem
0021
0022 reg:
0023 maxItems: 1
0024
0025 memory-region:
0026 maxItems: 1
0027 description: handle to memory reservation for main SMEM memory region.
0028
0029 hwlocks:
0030 maxItems: 1
0031
0032 qcom,rpm-msg-ram:
0033 $ref: /schemas/types.yaml#/definitions/phandle
0034 description: handle to RPM message memory resource
0035
0036 no-map: true
0037
0038 required:
0039 - compatible
0040 - hwlocks
0041
0042 oneOf:
0043 - required:
0044 - reg
0045 - no-map
0046 - required:
0047 - memory-region
0048
0049 additionalProperties: false
0050
0051 examples:
0052 - |
0053 reserved-memory {
0054 #address-cells = <1>;
0055 #size-cells = <1>;
0056 ranges;
0057
0058 smem@fa00000 {
0059 compatible = "qcom,smem";
0060 reg = <0xfa00000 0x200000>;
0061 no-map;
0062
0063 hwlocks = <&tcsr_mutex 3>;
0064 };
0065 };
0066 - |
0067 reserved-memory {
0068 #address-cells = <1>;
0069 #size-cells = <1>;
0070 ranges;
0071
0072 smem_region: smem@fa00000 {
0073 reg = <0xfa00000 0x200000>;
0074 no-map;
0075 };
0076 };
0077
0078 smem {
0079 compatible = "qcom,smem";
0080
0081 memory-region = <&smem_region>;
0082 qcom,rpm-msg-ram = <&rpm_msg_ram>;
0083
0084 hwlocks = <&tcsr_mutex 3>;
0085 };
0086
0087 soc {
0088 #address-cells = <1>;
0089 #size-cells = <1>;
0090 ranges;
0091
0092 rpm_msg_ram: sram@fc428000 {
0093 compatible = "qcom,rpm-msg-ram";
0094 reg = <0xfc428000 0x4000>;
0095 };
0096 };
0097
0098 ...