[PATCH 4/5] dt-bindings: iommu: Add binding for mediatek IOMMU

Mark Rutland mark.rutland at arm.com
Fri Mar 6 03:21:37 PST 2015


On Fri, Mar 06, 2015 at 10:48:19AM +0000, yong.wu at mediatek.com wrote:
> From: Yong Wu <yong.wu at mediatek.com>
> 
> This patch add mediatek iommu dts binding document.
> 
> Signed-off-by: Yong Wu <yong.wu at mediatek.com>
> ---
>  .../devicetree/bindings/iommu/mediatek,iommu.txt   | 41 ++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
> 
> diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
> new file mode 100644
> index 0000000..db01c92
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
> @@ -0,0 +1,41 @@
> +/******************************************************/
> +/*    Mediatek IOMMU Hardware block diagram           */
> +/******************************************************/
> +              EMI (External Memory Interface)
> +               |
> +              m4u (Multimedia Memory Management Unit)
> +               |
> +              smi (Smart Multimedia Interface)
> +               |
> +        +---------------+-------
> +        |               |
> +        |               |
> +    vdec larb       disp larb      ... SoCs have different local arbiter(larb).
> +        |               |
> +        |               |
> +   +----+----+    +-----+-----+
> +   |    |    |    |     |     |    ...
> +   |    |    |    |     |     |    ...
> +   |    |    |    |     |     |    ...
> +  MC   PP   VLD  OVL0 RDMA0 WDMA0  ... There are different ports in each larb.
> +
> +Required properties:
> +- compatible : must be "mediatek,mt8173-iommu"

s/iommu/m4u/ -- the name should match what the hardware is called.

> +- reg : m4u register base

... and size

> +- interrupts : must contain the interrupts from each internal translation unit

How many "internal translation units" are there?

How should the interrupts be ordered?

How do these relate to the larbs?

> +- clocks : must contain one entry for each clock-name
> +- clock-name: m4u clock

This does not match the example.

s/clock-name/clock-names/

Please format this like a list, with names quoted, e.g.

- clock-names: must contain:
  * "m4u" - The functional clock for the m4u

> +- larb : must contain the larbes of current platform

s/larbes/local arbiters/

How should these be ordered? Surely there's a relationship with
registers/interrupts/etc in this unit?

> +- iommu-cells : must be 1. Specifies the client PortID as defined in
> +dt-binding/iommu/mt**-iommu-port.h

Give the absolute filename.

The include file should be added in this patch (it's part of the
binding). The whole patch should be moved earlier in the series.

Thanks,
Mark.

> +
> +Example:
> +		iommu: mmsys_iommu at 10205000 {
> +			compatible = "mediatek,mt8173-iommu";
> +			reg = <0 0x10205000 0 0x1000>;
> +			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_LOW>;
> +			clocks = <&infrasys INFRA_M4U>;
> +			clock-names = "infra_m4u";
> +			larb = <&larb0 &larb1 &larb2 &larb3 &larb4 &larb5>;
> +			#iommu-cells = <1>;
> +		};
> \ No newline at end of file
> -- 
> 1.8.1.1.dirty
> 
> 



More information about the linux-arm-kernel mailing list