%YAML 1.2
---
$id: "http://devicetree.org/schemas/soc/qcom/qcom,mem-buf.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Qualcomm Technologies, Inc. Memory Buffer Sharing binding

maintainers:
  - Isaac J. Manjarres <isaacm@quicinc.com>

description: |
  The memory buffer sharing driver is used for lending memory
  from one virtual machine to another.

properties:
  compatible:
    items:
      - const: qcom,mem-buf
  qcom,vmid:
    description: integer ID of the current virtual machine.

  qcom,mem-buf-capabilities:
    oneOf:
      - const: supplier
        description:
          Allows the mem-buf driver to supply memory to other VMs through
          remote allocation requests.

      - const: consumer
        description:
          Allows the mem-buf driver to request and accept memory from
          other VMs. VMs with only this capability cannot satisfy remote
          allocation requests.

      - const: dual
        description:
          Allows the mem-buf driver to supply memory to other VMs through
          remote allocation requests, as well as request and accept memory
          from other VMs

required:
  - compatible
  - qcom,mem-buf-capabilities

examples:
  - |
    qcom,mem-buf {
        compatible = "qcom,mem-buf";
        qcom,mem-buf-capabilities = "supplier";
    };

description: |
  Provides inter-VM message transfer services to the qcom,mem-buf driver

properties:
  compatible:
    items:
      - const: qcom,mem-buf-msgq

required:
  - compatible
