* [PATCH v2 1/5] arm64: dts: renesas: r8a77970: sort includes
2017-11-10 13:25 [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration Simon Horman
@ 2017-11-10 13:25 ` Simon Horman
2017-11-23 10:28 ` Geert Uytterhoeven
2017-11-10 13:25 ` [PATCH v2 2/5] arm64: dts: renesas: r8a77970: Add IPMMU device nodes Simon Horman
` (4 subsequent siblings)
5 siblings, 1 reply; 9+ messages in thread
From: Simon Horman @ 2017-11-10 13:25 UTC (permalink / raw)
To: linux-arm-kernel
Sort includes used in r8a77970 DTS to improve maintainability
and for consistency with other R-Car DTS files.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index 75d09f1724f0..8b97842aedb7 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -9,9 +9,9 @@
* kind, whether express or implied.
*/
-#include <dt-bindings/interrupt-controller/irq.h>
-#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/renesas-cpg-mssr.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
/ {
compatible = "renesas,r8a77970";
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v2 1/5] arm64: dts: renesas: r8a77970: sort includes
2017-11-10 13:25 ` [PATCH v2 1/5] arm64: dts: renesas: r8a77970: sort includes Simon Horman
@ 2017-11-23 10:28 ` Geert Uytterhoeven
2017-11-24 10:36 ` Simon Horman
0 siblings, 1 reply; 9+ messages in thread
From: Geert Uytterhoeven @ 2017-11-23 10:28 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Nov 10, 2017 at 2:25 PM, Simon Horman
<horms+renesas@verge.net.au> wrote:
> Sort includes used in r8a77970 DTS to improve maintainability
> and for consistency with other R-Car DTS files.
>
> 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] 9+ messages in thread* [PATCH v2 1/5] arm64: dts: renesas: r8a77970: sort includes
2017-11-23 10:28 ` Geert Uytterhoeven
@ 2017-11-24 10:36 ` Simon Horman
0 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2017-11-24 10:36 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Nov 23, 2017 at 11:28:21AM +0100, Geert Uytterhoeven wrote:
> On Fri, Nov 10, 2017 at 2:25 PM, Simon Horman
> <horms+renesas@verge.net.au> wrote:
> > Sort includes used in r8a77970 DTS to improve maintainability
> > and for consistency with other R-Car DTS files.
> >
> > Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Thanks, applied.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 2/5] arm64: dts: renesas: r8a77970: Add IPMMU device nodes
2017-11-10 13:25 [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration Simon Horman
2017-11-10 13:25 ` [PATCH v2 1/5] arm64: dts: renesas: r8a77970: sort includes Simon Horman
@ 2017-11-10 13:25 ` Simon Horman
2017-11-10 13:25 ` [PATCH v2 3/5] arm64: dts: renesas: r8a77970: Tie SYS-DMAC to IPMMU-DS1 Simon Horman
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2017-11-10 13:25 UTC (permalink / raw)
To: linux-arm-kernel
Add r8a77970 IPMMU nodes and keep all disabled by default.
Based on work for the r8a7796 by Magnus Damm
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2
* Drop mostly redundant comments from nodes
* Add power domains
* Correct compat string used for IPMMU-DS1
* Added reviewed by tag from Geert Uytterhoeven
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 47 +++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index 8b97842aedb7..5f73ee2dfd6d 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -12,6 +12,7 @@
#include <dt-bindings/clock/renesas-cpg-mssr.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/power/r8a77970-sysc.h>
/ {
compatible = "renesas,r8a77970";
@@ -134,6 +135,52 @@
#power-domain-cells = <1>;
};
+ ipmmu_vi0: mmu at febd0000 {
+ compatible = "renesas,ipmmu-r8a77970";
+ reg = <0 0xfebd0000 0 0x1000>;
+ renesas,ipmmu-main = <&ipmmu_mm 9>;
+ power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_ir: mmu at ff8b0000 {
+ compatible = "renesas,ipmmu-r8a77970";
+ reg = <0 0xff8b0000 0 0x1000>;
+ renesas,ipmmu-main = <&ipmmu_mm 3>;
+ power-domains = <&sysc R8A77970_PD_A3IR>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_rt: mmu at ffc80000 {
+ compatible = "renesas,ipmmu-r8a77970";
+ reg = <0 0xffc80000 0 0x1000>;
+ renesas,ipmmu-main = <&ipmmu_mm 7>;
+ power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_ds1: mmu at e7740000 {
+ compatible = "renesas,ipmmu-r8a77970";
+ reg = <0 0xe7740000 0 0x1000>;
+ renesas,ipmmu-main = <&ipmmu_mm 1>;
+ power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_mm: mmu at e67b0000 {
+ compatible = "renesas,ipmmu-r8a77970";
+ reg = <0 0xe67b0000 0 0x1000>;
+ interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
+ power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
intc_ex: interrupt-controller at e61c0000 {
compatible = "renesas,intc-ex-r8a77970", "renesas,irqc";
#interrupt-cells = <2>;
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v2 3/5] arm64: dts: renesas: r8a77970: Tie SYS-DMAC to IPMMU-DS1
2017-11-10 13:25 [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration Simon Horman
2017-11-10 13:25 ` [PATCH v2 1/5] arm64: dts: renesas: r8a77970: sort includes Simon Horman
2017-11-10 13:25 ` [PATCH v2 2/5] arm64: dts: renesas: r8a77970: Add IPMMU device nodes Simon Horman
@ 2017-11-10 13:25 ` Simon Horman
2017-11-10 13:25 ` [PATCH v2 4/5] arm64: dts: renesas: r8a77970: Connect Ethernet-AVB to IPMMU-RT Simon Horman
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2017-11-10 13:25 UTC (permalink / raw)
To: linux-arm-kernel
Hook up r8a77970 DMAC nodes to the IPMMU. In particular
SYS-DMAC1 and SYS-DMAC2 get tied to IPMMU-DS1.
Based on work for the r8a7796 by Magnus Damm.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2
* Added reviewed by tag from Geert Uytterhoeven
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index 5f73ee2dfd6d..108c6159c847 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -224,6 +224,10 @@
resets = <&cpg 218>;
#dma-cells = <1>;
dma-channels = <8>;
+ iommus = <&ipmmu_ds1 0>, <&ipmmu_ds1 1>,
+ <&ipmmu_ds1 2>, <&ipmmu_ds1 3>,
+ <&ipmmu_ds1 4>, <&ipmmu_ds1 5>,
+ <&ipmmu_ds1 6>, <&ipmmu_ds1 7>;
};
dmac2: dma-controller at e7310000 {
@@ -248,6 +252,10 @@
resets = <&cpg 217>;
#dma-cells = <1>;
dma-channels = <8>;
+ iommus = <&ipmmu_ds1 16>, <&ipmmu_ds1 17>,
+ <&ipmmu_ds1 18>, <&ipmmu_ds1 19>,
+ <&ipmmu_ds1 20>, <&ipmmu_ds1 21>,
+ <&ipmmu_ds1 22>, <&ipmmu_ds1 23>;
};
hscif0: serial at e6540000 {
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v2 4/5] arm64: dts: renesas: r8a77970: Connect Ethernet-AVB to IPMMU-RT
2017-11-10 13:25 [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration Simon Horman
` (2 preceding siblings ...)
2017-11-10 13:25 ` [PATCH v2 3/5] arm64: dts: renesas: r8a77970: Tie SYS-DMAC to IPMMU-DS1 Simon Horman
@ 2017-11-10 13:25 ` Simon Horman
2017-11-10 13:25 ` [PATCH v2 5/5] arm64: dts: renesas: r8a77970: Enable IPMMU-DS1, RT and MM Simon Horman
2017-11-28 8:29 ` [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration Simon Horman
5 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2017-11-10 13:25 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>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2
* Added reviewed by tag from Geert Uytterhoeven
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index 108c6159c847..0f93484e650a 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -440,6 +440,7 @@
power-domains = <&sysc 32>;
resets = <&cpg 812>;
phy-mode = "rgmii-id";
+ iommus = <&ipmmu_rt 3>;
#address-cells = <1>;
#size-cells = <0>;
};
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v2 5/5] arm64: dts: renesas: r8a77970: Enable IPMMU-DS1, RT and MM
2017-11-10 13:25 [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration Simon Horman
` (3 preceding siblings ...)
2017-11-10 13:25 ` [PATCH v2 4/5] arm64: dts: renesas: r8a77970: Connect Ethernet-AVB to IPMMU-RT Simon Horman
@ 2017-11-10 13:25 ` Simon Horman
2017-11-28 8:29 ` [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration Simon Horman
5 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2017-11-10 13:25 UTC (permalink / raw)
To: linux-arm-kernel
Enable the r8a77970 device nodes for IPMMU-DS1, IPMMU-RT
and the shared IPMMU-MM device.
Based on work for the r8a7796 by Magnus Damm.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2
* Added reviewed by tag from Geert Uytterhoeven
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 3 ---
1 file changed, 3 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index 0f93484e650a..636b57a2edde 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -159,7 +159,6 @@
renesas,ipmmu-main = <&ipmmu_mm 7>;
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
#iommu-cells = <1>;
- status = "disabled";
};
ipmmu_ds1: mmu at e7740000 {
@@ -168,7 +167,6 @@
renesas,ipmmu-main = <&ipmmu_mm 1>;
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
#iommu-cells = <1>;
- status = "disabled";
};
ipmmu_mm: mmu at e67b0000 {
@@ -178,7 +176,6 @@
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
#iommu-cells = <1>;
- status = "disabled";
};
intc_ex: interrupt-controller at e61c0000 {
--
2.11.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration
2017-11-10 13:25 [PATCH v2 0/5] arm64: dts: renesas: r8a77970: IPMMU upstream integration Simon Horman
` (4 preceding siblings ...)
2017-11-10 13:25 ` [PATCH v2 5/5] arm64: dts: renesas: r8a77970: Enable IPMMU-DS1, RT and MM Simon Horman
@ 2017-11-28 8:29 ` Simon Horman
5 siblings, 0 replies; 9+ messages in thread
From: Simon Horman @ 2017-11-28 8:29 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Nov 10, 2017 at 02:25:48PM +0100, Simon Horman wrote:
> This series adds DT nodes for IPMMU instances on r8a77970 together with
> connections to r8a77970 on-chip devices: SYS-DMAC and 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 test stack for this patchset is a merge of
> * The iommu/next branch of the vfio tree
> * renesas-devel-20171110-v4.14-rc8 tag of the renesas tree
>
> With the following applied:
> * [PATCH v4 0/3] iommu/ipmmu-vmsa: r8a7796 support V4
> * [PATCH 0/2] iommu/ipmmu-vmsa: r8a779(70|95) support
>
> The final patch in the series enable IPMMU support for all IPMMU
> instances on r8a77970 that are used by IPMMU devices listed above.
>
> The DT binding for r8a77970 are 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-20171110-v4.14-rc8
>
> Changes since V1:
> * Drop mostly redundant comments from nodes
> * Add power domains
> * Correct compat string used for IPMMU-DS1
>
> Simon Horman (5):
> arm64: dts: renesas: r8a77970: sort includes
> arm64: dts: renesas: r8a77970: Add IPMMU device nodes
> arm64: dts: renesas: r8a77970: Tie SYS-DMAC to IPMMU-DS1
> arm64: dts: renesas: r8a77970: Connect Ethernet-AVB to IPMMU-RT
> arm64: dts: renesas: r8a77970: Enable IPMMU-DS1, RT and MM
This series has been applied for v4.16.
^ permalink raw reply [flat|nested] 9+ messages in thread