This patch adds the binding for describing the shared memory used to exchange configuration and tuning data between the co-processor and Pass 1 (P1) unit of the camera ISP system on Mediatek SoCs. Signed-off-by: Frederic Chen <frederic.chen@xxxxxxxxxxxx> --- .../mediatek,reserve-memory-cam_smem.txt | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-cam_smem.txt diff --git a/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-cam_smem.txt b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-cam_smem.txt new file mode 100644 index 0000000..05c1bf1 --- /dev/null +++ b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-cam_smem.txt @@ -0,0 +1,44 @@ +Mediatek ISP Pass 1 Shared Memory binding + +This binding describes the shared memory, which serves the purpose of +describing the shared memory region used to exchange data between Pass 1 +unit of Image Signal Processor (ISP) and the 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 Pass 1 unit of ISP can access memory through the iommu so it +uses the 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-cam_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. + + +Example: + +The following example shows the ISP Pass1 shared memory setup for MT8183. + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + reserve-memory-cam_smem { + compatible = "mediatek,reserve-memory-cam_smem"; + size = <0 0x1400000>; + alignment = <0 0x1000>; + alloc-ranges = <0 0x40000000 0 0x50000000>; + }; + }; -- 1.9.1