On Mon, May 21, 2018 at 11:45:01PM +0900, Magnus Damm wrote:
> From: Magnus Damm <damm+rene...@opensource.se>
> 
> Add IPMMU device nodes for the R-Car V3H SoC aka r8a77980.
> 
> The r8a77980 IPMMU is quite similar to r8a77970 however VC0
> has been added. The IMSSTR bit assignment has also been
> reworked. Power domains are also quite different however the
> the documentation is rather unclear about this topic.
> 
> Until we know better VC0 gets assigned to R8A77980_PD_ALWAYS_ON.
> 
> Signed-off-by: Magnus Damm <damm+rene...@opensource.se>
> ---
> 
>  Developed on top of renesas-devel-20180518-v4.17-rc5
> 
>  arch/arm64/boot/dts/renesas/r8a77980.dtsi |   49 
> +++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
> 
> --- 0001/arch/arm64/boot/dts/renesas/r8a77980.dtsi
> +++ work/arch/arm64/boot/dts/renesas/r8a77980.dtsi    2018-05-21 
> 22:31:52.460607110 +0900
> @@ -387,6 +387,55 @@
>                       dma-channels = <16>;
>               };
>  
> +             ipmmu_ds1: mmu@e7740000 {
> +                     compatible = "renesas,ipmmu-r8a77980";
> +                     reg = <0 0xe7740000 0 0x1000>;
> +                     renesas,ipmmu-main = <&ipmmu_mm 0>;
> +                     power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
> +                     #iommu-cells = <1>;
> +             };
> +
> +             ipmmu_ir: mmu@ff8b0000 {
> +                     compatible = "renesas,ipmmu-r8a77980";
> +                     reg = <0 0xff8b0000 0 0x1000>;
> +                     renesas,ipmmu-main = <&ipmmu_mm 3>;
> +                     power-domains = <&sysc R8A77980_PD_A3IR>;
> +                     #iommu-cells = <1>;
> +             };
> +
> +             ipmmu_mm: mmu@e67b0000 {
> +                     compatible = "renesas,ipmmu-r8a77980";
> +                     reg = <0 0xe67b0000 0 0x1000>;
> +                     interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
> +                                  <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
> +                     power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
> +                     #iommu-cells = <1>;
> +             };
> +
> +             ipmmu_rt: mmu@ffc80000 {
> +                     compatible = "renesas,ipmmu-r8a77980";
> +                     reg = <0 0xffc80000 0 0x1000>;
> +                     renesas,ipmmu-main = <&ipmmu_mm 10>;
> +                     power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
> +                     #iommu-cells = <1>;
> +             };
> +
> +             ipmmu_vc0: mmu@fe6b0000 {
> +                     compatible = "renesas,ipmmu-r8a77980";
> +                     reg = <0 0xfe6b0000 0 0x1000>;
> +                     renesas,ipmmu-main = <&ipmmu_mm 12>;
> +                     power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
> +                     #iommu-cells = <1>;
> +             };
> +
> +             ipmmu_vi0: mmu@febd0000 {
> +                     compatible = "renesas,ipmmu-r8a77980";
> +                     reg = <0 0xfebd0000 0 0x1000>;
> +                     renesas,ipmmu-main = <&ipmmu_mm 14>;
> +                     power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
> +                     #iommu-cells = <1>;
> +             };
> +

nit: I believe the IPMMU nodes should go above the AVB rather than the
MMC node to preserve the current node sorting order of:

1) bus address
2) IP block
3) alphabetical

>               mmc0: mmc@ee140000 {
>                       compatible = "renesas,sdhi-r8a77980",
>                                    "renesas,rcar-gen3-sdhi";
> 

Reply via email to