| # 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, 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. | |
| hwlocks: | |
| maxItems: 1 | |
| qcom,rpm-msg-ram: | |
| $ref: /schemas/types.yaml#/definitions/phandle | |
| description: handle to RPM message memory resource | |
| no-map: true | |
| required: | |
| - compatible | |
| - hwlocks | |
| oneOf: | |
| - required: | |
| - reg | |
| - no-map | |
| - required: | |
| - memory-region | |
| additionalProperties: false | |
| examples: | |
| - | | |
| reserved-memory { | |
| #address-cells = <1>; | |
| #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; | |
| }; | |
| }; | |
| 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>; | |
| }; | |
| }; | |
| ... |