Staging
v0.8.1
https://github.com/torvalds/linux
Raw File
Tip revision: 7089db84e356562f8ba737c29e472cc42d530dbc authored by Linus Torvalds on 12 February 2017, 21:03:20 UTC
Linux 4.10-rc8
Tip revision: 7089db8
devicetree.txt
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>;
		};
	}
back to top