mirror of
https://github.com/Evolution-X-Devices/kernel_xiaomi_sm8450-devicetrees
synced 2026-02-01 08:51:30 +00:00
dt-bindings: Add device-tree bindings for the ION memory manager
Add the device-tree bindings that describe the device-tree properties for the MSM ION memory manager. Change-Id: I757dc97ebcde58a71f4358d54eacf11478e109c3
This commit is contained in:
134
bindings/arm/msm/msm_ion.yaml
Normal file
134
bindings/arm/msm/msm_ion.yaml
Normal file
@@ -0,0 +1,134 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/arm/msm/msm_ion.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: ION Memory Manager binding
|
||||
|
||||
maintainers:
|
||||
- Isaac J. Manjarres <isaacm@quicinc.com>
|
||||
|
||||
description: |
|
||||
ION is a memory manager that allows for sharing of buffers between different
|
||||
processes and between user space and kernel space. ION manages different
|
||||
memory spaces by separating the memory spaces into heaps.
|
||||
|
||||
All child nodes of a qcom,msm-ion node are interpreted as ION heap
|
||||
configurations.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: qcom,ion
|
||||
description: Container of ION heap nodes
|
||||
|
||||
compatible:
|
||||
items:
|
||||
-const: qcom,msm-ion
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
'^qcom,ion-heap@[0-9]+$':
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
description: The ID assigned to this heap.
|
||||
|
||||
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.
|
||||
|
||||
qcom,ion-heap-type:
|
||||
$ref: '/schemas/types.yaml#/definitions/string'
|
||||
maxItems: 1
|
||||
items:
|
||||
- enum:
|
||||
- SYSTEM
|
||||
- CARVEOUT
|
||||
- SECURE_CARVEOUT
|
||||
- DMA
|
||||
- HYP_CMA
|
||||
- SYSTEM_SECURE
|
||||
- SECURE_DMA
|
||||
description: |
|
||||
The heap type to use for this heap. Heaps of type SECURE_CARVEOUT
|
||||
are expected to contain multiple child nodes, as seen below.
|
||||
|
||||
$nodename:
|
||||
properties:
|
||||
memory-region:
|
||||
$ref: '/schemas/types.yaml#/definitions/phandle'
|
||||
maxItems: 1
|
||||
description: |
|
||||
Specifies the reserved memory region that this heap will allocate
|
||||
memory from. Refer to the reserved-memory binding documentation
|
||||
for more information.
|
||||
|
||||
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.
|
||||
|
||||
required:
|
||||
- memory-region
|
||||
- token
|
||||
|
||||
required:
|
||||
- reg
|
||||
- qcom,ion-heap-type
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
|
||||
examples:
|
||||
- |
|
||||
qcom,ion {
|
||||
compatible = "qcom,msm-ion";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
system_heap: qcom,ion-heap@25 {
|
||||
reg = <25>;
|
||||
qcom,ion-heap-type = "SYSTEM";
|
||||
};
|
||||
|
||||
qcom,ion-heap@22 { /* ADSP HEAP */
|
||||
reg = <22>;
|
||||
memory-region = <&adsp_mem>;
|
||||
qcom,ion-heap-type = "DMA";
|
||||
};
|
||||
|
||||
qcom,ion-heap@10 { /* SECURE DISPLAY HEAP */
|
||||
reg = <10>;
|
||||
memory-region = <&secure_display_memory>;
|
||||
qcom,ion-heap-type = "HYP_CMA";
|
||||
};
|
||||
|
||||
qcom,ion-heap@9 {
|
||||
reg = <9>;
|
||||
qcom,ion-heap-type = "SYSTEM_SECURE";
|
||||
};
|
||||
|
||||
qcom,ion-heap@14 {
|
||||
reg = <14>;
|
||||
qcom,ion-heap-type = "SECURE_CARVEOUT";
|
||||
node1 {
|
||||
memory-region = <&cp_region>;
|
||||
token = <ION_FLAG_CP_TOUCH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user