# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/firmware/gunyah-cma-mem.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Contiguous memory allocator for Virtual Machines

maintainers:
  - Prakruthi Deepak Heragu <quic_pheragu@quicinc.com>
  - Elliot Berman <quic_eberman@quicinc.com>

description: |+
  gunyah-cma-mem is a CMA memory manager that allows VMMs to use
  contiguous memory to backup Virtual Machines running on Gunyah. These
  regions are pre-defined by the firmware to have special attributes
  like memory encryption.

properties:
  compatible:
      - const: gunyah-cma-vm-mem

  memory-region:
    $ref: '/schemas/types.yaml#/definitions/phandle'
    items:
      - description: |
          Describes the specific reserved memory region that this allocator
          will allocate memory from for a Virtual Machine. Refer to
          Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
          for more information.

  memory-region-names:
    $ref: /schemas/types.yaml#/definitions/string-array
    items:
      - description: Name of the memory-region to be used by VMM for operation

required:
  - compatible
  - memory-region
  - memory-region-names

example:
  - |
    gunyah-cma-mem {
	compatible = "gunyah-cma-vm-mem";
	memory-region = <&trust_ui_vm_mem &oem_vm_mem>;
	memory-region-names = "trustedvm_cma" , "oemvm_cma";
    };

