Skip to content

Commit

Permalink
dt-bindings: soc: smem: Make indirection optional
Browse files Browse the repository at this point in the history
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: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20210930182111.57353-3-bjorn.andersson@linaro.org
  • Loading branch information
Bjorn Andersson committed Oct 15, 2021
1 parent d0fe649 commit 7a99e87
Showing 1 changed file with 30 additions and 4 deletions.
34 changes: 30 additions & 4 deletions Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,18 @@ maintainers:
- Andy Gross <agross@kernel.org>
- Bjorn Andersson <bjorn.andersson@linaro.org>

description: |
This binding describes the Qualcomm Shared Memory Manager, used to share data
between various subsystems and OSes in Qualcomm platforms.
description:
This binding describes the Qualcomm Shared Memory Manager, a region of
reserved-memory used to share data between various subsystems and OSes in
Qualcomm platforms.

properties:
compatible:
const: qcom,smem

reg:
maxItems: 1

memory-region:
maxItems: 1
description: handle to memory reservation for main SMEM memory region.
Expand All @@ -29,11 +33,19 @@ properties:
$ref: /schemas/types.yaml#/definitions/phandle
description: handle to RPM message memory resource

no-map: true

required:
- compatible
- memory-region
- hwlocks

oneOf:
- required:
- reg
- no-map
- required:
- memory-region

additionalProperties: false

examples:
Expand All @@ -43,6 +55,20 @@ examples:
#size-cells = <1>;
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 {
reg = <0xfa00000 0x200000>;
no-map;
Expand Down

0 comments on commit 7a99e87

Please sign in to comment.