This patch adds the binding for describing the shared memory used to exchange configuration and tuning data between the co-processor and Digital Image Processing (DIP) unit of the camera ISP system on Mediatek SoCs. Signed-off-by: Frederic Chen <frederic.chen@xxxxxxxxxxxx> --- .../mediatek,reserve-memory-dip_smem.txt | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt diff --git a/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt new file mode 100644 index 000000000000..64c001b476b9 --- /dev/null +++ b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt @@ -0,0 +1,45 @@ +Mediatek DIP Shared Memory binding + +This binding describes the shared memory, which serves the purpose of +describing the shared memory region used to exchange data between Digital +Image Processing (DIP) 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 Digital Image Processing (DIP) 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-dip_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. + If you want to enable the full feature of Digital Processing Unit, + you need 20 MB at least. + + +Example: + +The following example shows the DIP shared memory setup for MT8183. + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + reserve-memory-dip_smem { + compatible = "mediatek,reserve-memory-dip_smem"; + size = <0 0x1400000>; + alignment = <0 0x1000>; + alloc-ranges = <0 0x40000000 0 0x50000000>; + }; + }; -- 2.18.0