Commit e2b0330c authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Bjorn Andersson
Browse files

dt-bindings: soc: qcom: convert qcom,smem bindings to yaml

parent e1d80081
Loading
Loading
Loading
Loading
+0 −57
Original line number Diff line number Diff line
Qualcomm Shared Memory Manager binding

This binding describes the Qualcomm Shared Memory Manager, used to share data
between various subsystems and OSes in Qualcomm platforms.

- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: must be:
		    "qcom,smem"

- memory-region:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: handle to memory reservation for main SMEM memory region.

- qcom,rpm-msg-ram:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: handle to RPM message memory resource

- hwlocks:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: reference to a hwspinlock used to protect allocations from
		    the shared memory

= EXAMPLE
The following example shows the SMEM setup for MSM8974, with a main SMEM region
at 0xfa00000 and the RPM message ram at 0xfc428000:

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		smem_region: smem@fa00000 {
			reg = <0xfa00000 0x200000>;
			no-map;
		};
	};

	smem@fa00000 {
		compatible = "qcom,smem";

		memory-region = <&smem_region>;
		qcom,rpm-msg-ram = <&rpm_msg_ram>;

		hwlocks = <&tcsr_mutex 3>;
	};

	soc {
		rpm_msg_ram: memory@fc428000 {
			compatible = "qcom,rpm-msg-ram";
			reg = <0xfc428000 0x4000>;
		};
	};
+72 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/soc/qcom/qcom,smem.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Qualcomm Shared Memory Manager binding

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.

properties:
  compatible:
    const: qcom,smem

  memory-region:
    maxItems: 1
    description: handle to memory reservation for main SMEM memory region.

  hwlocks:
    maxItems: 1

  qcom,rpm-msg-ram:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: handle to RPM message memory resource

required:
  - compatible
  - memory-region
  - hwlocks

additionalProperties: false

examples:
  - |
    reserved-memory {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        smem_region: smem@fa00000 {
            reg = <0xfa00000 0x200000>;
            no-map;
        };
    };

    smem {
        compatible = "qcom,smem";

        memory-region = <&smem_region>;
        qcom,rpm-msg-ram = <&rpm_msg_ram>;

        hwlocks = <&tcsr_mutex 3>;
    };

    soc {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        rpm_msg_ram: sram@fc428000 {
            compatible = "qcom,rpm-msg-ram";
            reg = <0xfc428000 0x4000>;
        };
    };

...