GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / soc / qcom / qcom,smem.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/soc/qcom/qcom,smem.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm Shared Memory Manager
8
9 maintainers:
10   - Andy Gross <agross@kernel.org>
11   - Bjorn Andersson <bjorn.andersson@linaro.org>
12
13 description:
14   This binding describes the Qualcomm Shared Memory Manager, a region of
15   reserved-memory used to share data between various subsystems and OSes in
16   Qualcomm platforms.
17
18 properties:
19   compatible:
20     const: qcom,smem
21
22   reg:
23     maxItems: 1
24
25   memory-region:
26     maxItems: 1
27     description: handle to memory reservation for main SMEM memory region.
28
29   hwlocks:
30     maxItems: 1
31
32   qcom,rpm-msg-ram:
33     $ref: /schemas/types.yaml#/definitions/phandle
34     description: handle to RPM message memory resource
35
36   no-map: true
37
38 required:
39   - compatible
40   - hwlocks
41
42 oneOf:
43   - required:
44       - reg
45       - no-map
46   - required:
47       - memory-region
48
49 additionalProperties: false
50
51 examples:
52   - |
53     reserved-memory {
54         #address-cells = <1>;
55         #size-cells = <1>;
56         ranges;
57
58         smem@fa00000 {
59             compatible = "qcom,smem";
60             reg = <0xfa00000 0x200000>;
61             no-map;
62
63             hwlocks = <&tcsr_mutex 3>;
64         };
65     };
66   - |
67     reserved-memory {
68         #address-cells = <1>;
69         #size-cells = <1>;
70         ranges;
71
72         smem_region: smem@fa00000 {
73             reg = <0xfa00000 0x200000>;
74             no-map;
75         };
76     };
77
78     smem {
79         compatible = "qcom,smem";
80
81         memory-region = <&smem_region>;
82         qcom,rpm-msg-ram = <&rpm_msg_ram>;
83
84         hwlocks = <&tcsr_mutex 3>;
85     };
86
87     soc {
88         #address-cells = <1>;
89         #size-cells = <1>;
90         ranges;
91
92         rpm_msg_ram: sram@fc428000 {
93             compatible = "qcom,rpm-msg-ram";
94             reg = <0xfc428000 0x4000>;
95         };
96     };
97
98 ...