* [PATCH 0/2] dts: renesas: r8a77995: IPMMU upstream integration @ 2017-11-01 10:35 ` Simon Horman 0 siblings, 0 replies; 12+ messages in thread From: Simon Horman @ 2017-11-01 10:35 UTC (permalink / raw) To: linux-renesas-soc; +Cc: linux-arm-kernel, Magnus Damm, Simon Horman This series adds DT nodes for IPMMU instances on r8a77995 together with connections to the r8a77995 on-chip device Ethernet-AVB. With these patches applied a white list enabled IPMMU driver may be used to check silicon revision and then enable IPMMU in the known working cases. The recommended IPMMU driver patch is iommu/next with the following applied: [PATCH v5 00/09] iommu/ipmmu-vmsa: r8a7795 support V5 [PATCH v4 0/3] iommu/ipmmu-vmsa: r8a7796 support V4 [PATCH 0/2] iommu/ipmmu-vmsa: r8a779(70|95) support A patch to enable IPMMU devices is not included in this series as Ethernet-AVB, the only device to which IPMMU is hooked up to, is disabled. The DT binding for r8a77995 has been submitted (as part of the r8a779(70|95) series noted above) in conjunction with this patchset. This is based on work by Magnus Damm. Based on renesas-devel-20171101-v4.14-rc7 Simon Horman (2): arm64: dts: renesas: r8a77995: Add IPMMU device nodes arm64: dts: renesas: r8a77995: Connect Ethernet-AVB to IPMMU-RT arch/arm64/boot/dts/renesas/r8a77995.dtsi | 83 +++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) -- 2.11.0 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/2] dts: renesas: r8a77995: IPMMU upstream integration @ 2017-11-01 10:35 ` Simon Horman 0 siblings, 0 replies; 12+ messages in thread From: Simon Horman @ 2017-11-01 10:35 UTC (permalink / raw) To: linux-arm-kernel This series adds DT nodes for IPMMU instances on r8a77995 together with connections to the r8a77995 on-chip device Ethernet-AVB. With these patches applied a white list enabled IPMMU driver may be used to check silicon revision and then enable IPMMU in the known working cases. The recommended IPMMU driver patch is iommu/next with the following applied: [PATCH v5 00/09] iommu/ipmmu-vmsa: r8a7795 support V5 [PATCH v4 0/3] iommu/ipmmu-vmsa: r8a7796 support V4 [PATCH 0/2] iommu/ipmmu-vmsa: r8a779(70|95) support A patch to enable IPMMU devices is not included in this series as Ethernet-AVB, the only device to which IPMMU is hooked up to, is disabled. The DT binding for r8a77995 has been submitted (as part of the r8a779(70|95) series noted above) in conjunction with this patchset. This is based on work by Magnus Damm. Based on renesas-devel-20171101-v4.14-rc7 Simon Horman (2): arm64: dts: renesas: r8a77995: Add IPMMU device nodes arm64: dts: renesas: r8a77995: Connect Ethernet-AVB to IPMMU-RT arch/arm64/boot/dts/renesas/r8a77995.dtsi | 83 +++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) -- 2.11.0 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] arm64: dts: renesas: r8a77995: Add IPMMU device nodes 2017-11-01 10:35 ` Simon Horman @ 2017-11-01 10:35 ` Simon Horman -1 siblings, 0 replies; 12+ messages in thread From: Simon Horman @ 2017-11-01 10:35 UTC (permalink / raw) To: linux-renesas-soc; +Cc: linux-arm-kernel, Magnus Damm, Simon Horman Add r8a77995 IPMMU nodes and keep all disabled by default. Based on work for the r8a7795 and r8a7796 by Magnus Damm Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- arch/arm64/boot/dts/renesas/r8a77995.dtsi | 82 +++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi b/arch/arm64/boot/dts/renesas/r8a77995.dtsi index 788e3afae6e3..641c4ddf0647 100644 --- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi @@ -108,6 +108,88 @@ interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; }; + ipmmu_vi0: mmu@febd0000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xfebd0000 0 0x1000>; /* IPMMU-VI0 */ + renesas,ipmmu-main = <&ipmmu_mm 14>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_vp0: mmu@fe990000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xfe990000 0 0x1000>; /* IPMMU-VP0 */ + renesas,ipmmu-main = <&ipmmu_mm 16>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_vc0: mmu@fe6b0000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xfe6b0000 0 0x1000>; /* IPMMU-VC0 */ + renesas,ipmmu-main = <&ipmmu_mm 12>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_pv0: mmu@fd800000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xfd800000 0 0x1000>; /* IPMMU-PV0 */ + renesas,ipmmu-main = <&ipmmu_mm 6>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_hc: mmu@e6570000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xe6570000 0 0x1000>; /* IPMMU-HC */ + renesas,ipmmu-main = <&ipmmu_mm 2>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_rt: mmu@ffc80000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xffc80000 0 0x1000>; /* IPMMU-RT */ + renesas,ipmmu-main = <&ipmmu_mm 10>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_mp: mmu@ec670000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xec670000 0 0x1000>; /* IPMMU-MP */ + renesas,ipmmu-main = <&ipmmu_mm 4>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_ds0: mmu@e6740000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xe6740000 0 0x1000>; /* IPMMU-DS0 */ + renesas,ipmmu-main = <&ipmmu_mm 0>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_ds1: mmu@e7740000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xe7740000 0 0x1000>; /* IPMMU-DS1 */ + renesas,ipmmu-main = <&ipmmu_mm 1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_mm: mmu@e67b0000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xe67b0000 0 0x1000>; /* IPMMU-MM */ + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; + #iommu-cells = <1>; + status = "disabled"; + }; + + cpg: clock-controller@e6150000 { compatible = "renesas,r8a77995-cpg-mssr"; reg = <0 0xe6150000 0 0x1000>; -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 1/2] arm64: dts: renesas: r8a77995: Add IPMMU device nodes @ 2017-11-01 10:35 ` Simon Horman 0 siblings, 0 replies; 12+ messages in thread From: Simon Horman @ 2017-11-01 10:35 UTC (permalink / raw) To: linux-arm-kernel Add r8a77995 IPMMU nodes and keep all disabled by default. Based on work for the r8a7795 and r8a7796 by Magnus Damm Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- arch/arm64/boot/dts/renesas/r8a77995.dtsi | 82 +++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi b/arch/arm64/boot/dts/renesas/r8a77995.dtsi index 788e3afae6e3..641c4ddf0647 100644 --- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi @@ -108,6 +108,88 @@ interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; }; + ipmmu_vi0: mmu at febd0000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xfebd0000 0 0x1000>; /* IPMMU-VI0 */ + renesas,ipmmu-main = <&ipmmu_mm 14>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_vp0: mmu at fe990000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xfe990000 0 0x1000>; /* IPMMU-VP0 */ + renesas,ipmmu-main = <&ipmmu_mm 16>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_vc0: mmu at fe6b0000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xfe6b0000 0 0x1000>; /* IPMMU-VC0 */ + renesas,ipmmu-main = <&ipmmu_mm 12>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_pv0: mmu at fd800000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xfd800000 0 0x1000>; /* IPMMU-PV0 */ + renesas,ipmmu-main = <&ipmmu_mm 6>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_hc: mmu at e6570000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xe6570000 0 0x1000>; /* IPMMU-HC */ + renesas,ipmmu-main = <&ipmmu_mm 2>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_rt: mmu at ffc80000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xffc80000 0 0x1000>; /* IPMMU-RT */ + renesas,ipmmu-main = <&ipmmu_mm 10>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_mp: mmu at ec670000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xec670000 0 0x1000>; /* IPMMU-MP */ + renesas,ipmmu-main = <&ipmmu_mm 4>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_ds0: mmu at e6740000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xe6740000 0 0x1000>; /* IPMMU-DS0 */ + renesas,ipmmu-main = <&ipmmu_mm 0>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_ds1: mmu at e7740000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xe7740000 0 0x1000>; /* IPMMU-DS1 */ + renesas,ipmmu-main = <&ipmmu_mm 1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + ipmmu_mm: mmu at e67b0000 { + compatible = "renesas,ipmmu-r8a77995"; + reg = <0 0xe67b0000 0 0x1000>; /* IPMMU-MM */ + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; + #iommu-cells = <1>; + status = "disabled"; + }; + + cpg: clock-controller at e6150000 { compatible = "renesas,r8a77995-cpg-mssr"; reg = <0 0xe6150000 0 0x1000>; -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] arm64: dts: renesas: r8a77995: Add IPMMU device nodes 2017-11-01 10:35 ` Simon Horman @ 2017-11-07 10:13 ` Geert Uytterhoeven -1 siblings, 0 replies; 12+ messages in thread From: Geert Uytterhoeven @ 2017-11-07 10:13 UTC (permalink / raw) To: Simon Horman; +Cc: Linux-Renesas, linux-arm-kernel, Magnus Damm On Wed, Nov 1, 2017 at 11:35 AM, Simon Horman <horms+renesas@verge.net.au> wrote: > Add r8a77995 IPMMU nodes and keep all disabled by default. > > Based on work for the r8a7795 and r8a7796 by Magnus Damm > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> My comment for r8a7795.dtsi about IPMMU-* comments is applicable here, too. My comment about power-domains properties probably isn't, as R-Car D3 doesn't have I/O power domains, which table 16.2 doesn't take into account. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] arm64: dts: renesas: r8a77995: Add IPMMU device nodes @ 2017-11-07 10:13 ` Geert Uytterhoeven 0 siblings, 0 replies; 12+ messages in thread From: Geert Uytterhoeven @ 2017-11-07 10:13 UTC (permalink / raw) To: linux-arm-kernel On Wed, Nov 1, 2017 at 11:35 AM, Simon Horman <horms+renesas@verge.net.au> wrote: > Add r8a77995 IPMMU nodes and keep all disabled by default. > > Based on work for the r8a7795 and r8a7796 by Magnus Damm > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> My comment for r8a7795.dtsi about IPMMU-* comments is applicable here, too. My comment about power-domains properties probably isn't, as R-Car D3 doesn't have I/O power domains, which table 16.2 doesn't take into account. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] arm64: dts: renesas: r8a77995: Add IPMMU device nodes 2017-11-07 10:13 ` Geert Uytterhoeven @ 2017-11-10 12:07 ` Simon Horman -1 siblings, 0 replies; 12+ messages in thread From: Simon Horman @ 2017-11-10 12:07 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: Linux-Renesas, linux-arm-kernel, Magnus Damm On Tue, Nov 07, 2017 at 11:13:36AM +0100, Geert Uytterhoeven wrote: > On Wed, Nov 1, 2017 at 11:35 AM, Simon Horman > <horms+renesas@verge.net.au> wrote: > > Add r8a77995 IPMMU nodes and keep all disabled by default. > > > > Based on work for the r8a7795 and r8a7796 by Magnus Damm > > > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> > > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > > My comment for r8a7795.dtsi about IPMMU-* comments is applicable here, too. Thanks, I will drop those comments. > My comment about power-domains properties probably isn't, as R-Car D3 > doesn't have I/O power domains, which table 16.2 doesn't take into account. Thanks, I will not add power domains at this time. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] arm64: dts: renesas: r8a77995: Add IPMMU device nodes @ 2017-11-10 12:07 ` Simon Horman 0 siblings, 0 replies; 12+ messages in thread From: Simon Horman @ 2017-11-10 12:07 UTC (permalink / raw) To: linux-arm-kernel On Tue, Nov 07, 2017 at 11:13:36AM +0100, Geert Uytterhoeven wrote: > On Wed, Nov 1, 2017 at 11:35 AM, Simon Horman > <horms+renesas@verge.net.au> wrote: > > Add r8a77995 IPMMU nodes and keep all disabled by default. > > > > Based on work for the r8a7795 and r8a7796 by Magnus Damm > > > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> > > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > > My comment for r8a7795.dtsi about IPMMU-* comments is applicable here, too. Thanks, I will drop those comments. > My comment about power-domains properties probably isn't, as R-Car D3 > doesn't have I/O power domains, which table 16.2 doesn't take into account. Thanks, I will not add power domains at this time. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] arm64: dts: renesas: r8a77995: Connect Ethernet-AVB to IPMMU-RT 2017-11-01 10:35 ` Simon Horman @ 2017-11-01 10:35 ` Simon Horman -1 siblings, 0 replies; 12+ messages in thread From: Simon Horman @ 2017-11-01 10:35 UTC (permalink / raw) To: linux-renesas-soc; +Cc: linux-arm-kernel, Magnus Damm, Simon Horman Add IPMMU-RT to the Ethernet-AVB device node. Based on work by Magnus Damm for the r8a7795. Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- arch/arm64/boot/dts/renesas/r8a77995.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi b/arch/arm64/boot/dts/renesas/r8a77995.dtsi index 641c4ddf0647..1f4532b2cf3e 100644 --- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi @@ -389,6 +389,7 @@ power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; resets = <&cpg 812>; phy-mode = "rgmii-txid"; + iommus = <&ipmmu_ds0 16>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] arm64: dts: renesas: r8a77995: Connect Ethernet-AVB to IPMMU-RT @ 2017-11-01 10:35 ` Simon Horman 0 siblings, 0 replies; 12+ messages in thread From: Simon Horman @ 2017-11-01 10:35 UTC (permalink / raw) To: linux-arm-kernel Add IPMMU-RT to the Ethernet-AVB device node. Based on work by Magnus Damm for the r8a7795. Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- arch/arm64/boot/dts/renesas/r8a77995.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi b/arch/arm64/boot/dts/renesas/r8a77995.dtsi index 641c4ddf0647..1f4532b2cf3e 100644 --- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi @@ -389,6 +389,7 @@ power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; resets = <&cpg 812>; phy-mode = "rgmii-txid"; + iommus = <&ipmmu_ds0 16>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] arm64: dts: renesas: r8a77995: Connect Ethernet-AVB to IPMMU-RT 2017-11-01 10:35 ` Simon Horman @ 2017-11-07 10:14 ` Geert Uytterhoeven -1 siblings, 0 replies; 12+ messages in thread From: Geert Uytterhoeven @ 2017-11-07 10:14 UTC (permalink / raw) To: Simon Horman; +Cc: Linux-Renesas, linux-arm-kernel, Magnus Damm On Wed, Nov 1, 2017 at 11:35 AM, Simon Horman <horms+renesas@verge.net.au> wrote: > Add IPMMU-RT to the Ethernet-AVB device node. > > Based on work by Magnus Damm for the r8a7795. > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] arm64: dts: renesas: r8a77995: Connect Ethernet-AVB to IPMMU-RT @ 2017-11-07 10:14 ` Geert Uytterhoeven 0 siblings, 0 replies; 12+ messages in thread From: Geert Uytterhoeven @ 2017-11-07 10:14 UTC (permalink / raw) To: linux-arm-kernel On Wed, Nov 1, 2017 at 11:35 AM, Simon Horman <horms+renesas@verge.net.au> wrote: > Add IPMMU-RT to the Ethernet-AVB device node. > > Based on work by Magnus Damm for the r8a7795. > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2017-11-10 12:07 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-11-01 10:35 [PATCH 0/2] dts: renesas: r8a77995: IPMMU upstream integration Simon Horman 2017-11-01 10:35 ` Simon Horman 2017-11-01 10:35 ` [PATCH 1/2] arm64: dts: renesas: r8a77995: Add IPMMU device nodes Simon Horman 2017-11-01 10:35 ` Simon Horman 2017-11-07 10:13 ` Geert Uytterhoeven 2017-11-07 10:13 ` Geert Uytterhoeven 2017-11-10 12:07 ` Simon Horman 2017-11-10 12:07 ` Simon Horman 2017-11-01 10:35 ` [PATCH 2/2] arm64: dts: renesas: r8a77995: Connect Ethernet-AVB to IPMMU-RT Simon Horman 2017-11-01 10:35 ` Simon Horman 2017-11-07 10:14 ` Geert Uytterhoeven 2017-11-07 10:14 ` Geert Uytterhoeven
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.