On Tue, Apr 23, 2019 at 06:45:00PM +0800, Jerry-ch Chen wrote: > From: Jerry-ch Chen <jerry-ch.chen@xxxxxxxxxxxx> > > This patch adds the binding for describing the shared memory > used to exchange meta data between the co-processor and Face > Detection (FD) unit of the camera system on Mediatek SoCs. > > Signed-off-by: Jerry-ch Chen <jerry-ch.chen@xxxxxxxxxxxx> > --- > .../mediatek,reserve-memory-fd_smem.txt | 44 +++++++++++++++++++ > 1 file changed, 44 insertions(+) > create mode 100644 Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > > diff --git a/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > new file mode 100644 > index 000000000000..52ae5071e238 > --- /dev/null > +++ b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > @@ -0,0 +1,44 @@ > +Mediatek FD Shared Memory binding > + > +This binding describes the shared memory, which serves the purpose of > +describing the shared memory region used to exchange data between Face > +Detection hardware (FD) and co-processor in Mediatek SoCs. > + > +The co-processor doesn't have the iommu so we need to use the physical > +address to access the shared buffer in the firmware. > + > +The Face Detection hardware (FD) can access memory through mt8183 IOMMU so > +it can use dma address to access the memory region. > +(See iommu/mediatek,iommu.txt for the detailed description of Mediatek IOMMU) > + > + > +Required properties: > + > +- compatible: must be "mediatek,reserve-memory-fd_smem" > + > +- reg: required for static allocation (see reserved-memory.txt for > + the detailed usage) > + > +- alloc-range: required for dynamic allocation. The range must > + between 0x00000400 and 0x100000000 due to the co-processer's > + addressing limitation > + > +- size: required for dynamic allocation. The unit is bytes. > + for Face Detection Unit, you need 1 MB at least. What's the most? I don't think you really need reserved memory here if you don't need a fixed address. The size is not that big that a contiguous allocation shouldn't be a problem (though with IOMMU you don't even need that). 'dma-ranges' can be used to set the kernel's dma mask and ensure a range below 0x10000000. Rob