[RESEND][PATCHv2 1/3] ion: Devicetree bindings for Ion
flat view
From: robh+dt@kernel.org (Rob Herring)
Date: 2016-01-11 23:29:01
Also in:
linux-devicetree, lkml
On Mon, Jan 11, 2016 at 3:39 PM, Laura Abbott [off-list ref] wrote:
quoted hunk ↗ jump to hunk
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 <redacted> --- drivers/staging/android/ion/devicetree.txt | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 drivers/staging/android/ion/devicetree.txtdiff --git a/drivers/staging/android/ion/devicetree.txt b/drivers/staging/android/ion/devicetree.txt new file mode 100644 index 0000000..e1ea537 --- /dev/null +++ b/drivers/staging/android/ion/devicetree.txt@@ -0,0 +1,50 @@ +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. + +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)
Why would all of them not require a memory region other than system heap?
quoted hunk ↗ jump to hunk
+ +Example: + + ion { + compatbile = "qcom,msm8916-ion", "linux,ion"; + #address-cells = <1>; + #size-cells = <0>; + + ion-system-heap { + compatbile = "qcom,system-heap", "linux,ion-heap-system" + };
What is the purpose of this in DT? Don't we always want/need a system heap? How does it vary by platform?
quoted hunk ↗ jump to hunk
+ ion-camera-region { + compatible = "qcom,camera-heap", "linux,ion-heap-dma" + memory-region = <&camera_region>;
Why not just add a property (or properties) to the camera_region node that ION drivers can search for? Rob