Commit 7a99e87e authored by Bjorn Andersson's avatar Bjorn Andersson

dt-bindings: soc: smem: Make indirection optional

In the olden days the Qualcomm shared memory (SMEM) region consisted of
multiple chunks of memory, so SMEM was described as a standalone node
with references to its various memory regions.

But practically all modern Qualcomm platforms has a single reserved memory
region used for SMEM. So rather than having to use two nodes to describe
the one SMEM region, update the binding to allow the reserved-memory
region alone to describe SMEM.

The olden format is preserved as valid, as this is widely used already.
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20210930182111.57353-3-bjorn.andersson@linaro.org
parent d0fe6491
...@@ -10,14 +10,18 @@ maintainers: ...@@ -10,14 +10,18 @@ maintainers:
- Andy Gross <agross@kernel.org> - Andy Gross <agross@kernel.org>
- Bjorn Andersson <bjorn.andersson@linaro.org> - Bjorn Andersson <bjorn.andersson@linaro.org>
description: | description:
This binding describes the Qualcomm Shared Memory Manager, used to share data This binding describes the Qualcomm Shared Memory Manager, a region of
between various subsystems and OSes in Qualcomm platforms. reserved-memory used to share data between various subsystems and OSes in
Qualcomm platforms.
properties: properties:
compatible: compatible:
const: qcom,smem const: qcom,smem
reg:
maxItems: 1
memory-region: memory-region:
maxItems: 1 maxItems: 1
description: handle to memory reservation for main SMEM memory region. description: handle to memory reservation for main SMEM memory region.
...@@ -29,11 +33,19 @@ properties: ...@@ -29,11 +33,19 @@ properties:
$ref: /schemas/types.yaml#/definitions/phandle $ref: /schemas/types.yaml#/definitions/phandle
description: handle to RPM message memory resource description: handle to RPM message memory resource
no-map: true
required: required:
- compatible - compatible
- memory-region
- hwlocks - hwlocks
oneOf:
- required:
- reg
- no-map
- required:
- memory-region
additionalProperties: false additionalProperties: false
examples: examples:
...@@ -43,6 +55,20 @@ examples: ...@@ -43,6 +55,20 @@ examples:
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
smem@fa00000 {
compatible = "qcom,smem";
reg = <0xfa00000 0x200000>;
no-map;
hwlocks = <&tcsr_mutex 3>;
};
};
- |
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
smem_region: smem@fa00000 { smem_region: smem@fa00000 {
reg = <0xfa00000 0x200000>; reg = <0xfa00000 0x200000>;
no-map; no-map;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment