bindings: Snapshot of dma-buf-heaps bindings

Dma-Buf-Heaps bindings snapshot from msm-6.1 branch
commit 0285b5bf8b6f ("Merge "ARM: dts: msm: Update proxy device
settings"").

Change-Id: Ia18e0e612b848ce4ad7bb4000ca35f1a7dea5ec7
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
This commit is contained in:
Patrick Daly
2023-05-24 15:35:48 -07:00
parent 7706299491
commit d1fe1252ca
2 changed files with 170 additions and 0 deletions

View File

@@ -0,0 +1,108 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/arm/msm/qcom_dma_heap.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: DMA-BUF Heaps Memory Manager binding
maintainers:
- Chris Goldsworthy
description: |
DMA-BUF heaps is a memory manager that allows for sharing of buffers between
different processes and between user space and kernel space. DMA-BUF heaps
manages different memory spaces by separating the memory spaces into heaps.
All child nodes of a qcom,dma-heaps node are interpreted as DMA-BUF heap
configurations for CMA and secure carveout heaps.
properties:
$nodename:
const: qcom,dma-heaps
description: Container of DMA-BUF heap nodes
compatible:
items:
-const: qcom,dma-heaps
patternProperties:
'^qcom,[a-zA-Z]+$':
properties:
qcom,dma-heap-name:
$ref: '/schemas/types.yaml#/definitions/string'
maxItems: 1
description: The name given to this heap.
qcom,dma-heap-type:
$ref: '/schemas/types.yaml#/definitions/string'
maxItems: 1
items:
- enum:
- HEAP_TYPE_SECURE_CARVEOUT
- HEAP_TYPE_CARVEOUT
- HEAP_TYPE_CMA
description: |
The heap type to use for this heap.
qcom,uncached-heap:
Usage: optional
Value type: <boolean>
Definition: Denotes whether this heap provides uncached memory or not.
qcom,dynamic-heap:
Usage: optional
Value type: <boolean>
Definition: Denotes whether a heap can have memory dynamically added and
subtracted from it. Heaps with this property are assumed to start off
with no memory, and must have memory added to them prior to any use.
qcom,token:
$ref: '/schemas/types.yaml#/definitions/uint32'
minItems: 1
description: |
Specifies the set of secure domains which will be able to access
the memory-region.
qcom,max-align:
$ref: '/schemas/types.yaml#/definitions/uint32'
minItems: 1
description: |
Maximum alignment of an allocation, in units of page order.
memory-region:
$ref: '/schemas/types.yaml#/definitions/phandle'
maxItems: 1
description: |
Specifies the reserved memory region that this heap will allocate
memory from. This property is only required for heaps that draw memory
from a particular reserved memory region. Refer to
Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
for more information.
required:
- qcom,dma-heap-name
- qcom,dma-heap-type
required:
- compatible
examples:
- |
qcom,dma-heaps {
compatible = "qcom,dma-heaps";
#address-cells = <1>;
#size-cells = <0>;
qcom,adsp {
qcom,dma-heap-name = "qcom,adsp";
qcom,dma-heap-type = <HEAP_TYPE_CMA>;
memory-region = <&sdsp_mem>;
};
qcom,spss {
qcom,dma-heap-name = "qcom,secure-spss";
qcom,dma-heap-type = <HEAP_TYPE_CMA>;
memory-region = <&sp_mem>;
};
};

View File

@@ -0,0 +1,62 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%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:
- Chris Goldsworthy
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