Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76a96d86 authored by Laura Abbott's avatar Laura Abbott Committed by Greg Kroah-Hartman
Browse files

devicetree: bindings for Ion



This adds a base set of devicetree bindings for the Ion memory
manager. This supports setting up the generic set of heaps and
their properties.

Signed-off-by: default avatarLaura Abbott <labbott@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 02b23803
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
Ion Memory Manager

Ion is a memory manager that allows for sharing of buffers via dma-buf.
Ion allows for different types of allocation via an abstraction called
a 'heap'. A heap represents a specific type of memory. Each heap has
a different type. There can be multiple instances of the same heap
type.

Specific heap instances are tied to heap IDs. Heap IDs are not to be specified
in the devicetree.

Required properties for Ion

- compatible: "linux,ion" PLUS a compatible property for the device

All child nodes of a linux,ion node are interpreted as heaps

required properties for heaps

- compatible: compatible string for a heap type PLUS a compatible property
for the specific instance of the heap. Current heap types
-- linux,ion-heap-system
-- linux,ion-heap-system-contig
-- linux,ion-heap-carveout
-- linux,ion-heap-chunk
-- linux,ion-heap-dma
-- linux,ion-heap-custom

Optional properties
- memory-region: A phandle to a memory region. Required for DMA heap type
(see reserved-memory.txt for details on the reservation)

Example:

	ion {
		compatbile = "hisilicon,ion", "linux,ion";

		ion-system-heap {
			compatbile = "hisilicon,system-heap", "linux,ion-heap-system"
		};

		ion-camera-region {
			compatible = "hisilicon,camera-heap", "linux,ion-heap-dma"
			memory-region = <&camera_region>;
		};

		ion-fb-region {
			compatbile = "hisilicon,fb-heap", "linux,ion-heap-dma"
			memory-region = <&fb_region>;
		};
	}