devicetree: bindings for Ion
authorLaura Abbott <labbott@redhat.com>
Wed, 31 Aug 2016 00:04:27 +0000 (17:04 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Sep 2016 10:18:55 +0000 (12:18 +0200)
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: Laura Abbott <labbott@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/ion/devicetree.txt [new file with mode: 0644]

diff --git a/drivers/staging/android/ion/devicetree.txt b/drivers/staging/android/ion/devicetree.txt
new file mode 100644 (file)
index 0000000..1687152
--- /dev/null
@@ -0,0 +1,51 @@
+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>;
+               };
+       }