* [PATCH v3 01/09] arm64: dts: r8a7795: Add IPMMU device nodes
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
@ 2017-03-20 8:35 ` Magnus Damm
2017-03-20 8:35 ` [PATCH v3 02/09] arm64: dts: r8a7795: Tie Audio/SYS-DMAC to IPMMU-DS0/1 and MP1 Magnus Damm
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:35 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Add r8a7795 IPMMU nodes and keep all disabled by default.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
Changes from V2:
- Added Reviewed-by from Laurent - thanks!
Changes from V1:
- None
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 113 ++++++++++++++++++++++++++++++
1 file changed, 113 insertions(+)
--- 0001/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 15:34:20.120607110 +0900
@@ -407,6 +407,119 @@
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
};
+ ipmmu_vi: mmu@febd0000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xfebd0000 0 0x1000>; /* IPMMU-VI */
+ renesas,ipmmu-main = <&ipmmu_mm 11>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_vp: mmu@fe990000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xfe990000 0 0x1000>; /* IPMMU-VP */
+ renesas,ipmmu-main = <&ipmmu_mm 12>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_vc0: mmu@fe6b0000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xfe6b0000 0 0x1000>; /* IPMMU-VC0 */
+ renesas,ipmmu-main = <&ipmmu_mm 9>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_vc1: mmu@fe6f0000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xfe6f0000 0 0x1000>; /* IPMMU-VC1 */
+ renesas,ipmmu-main = <&ipmmu_mm 10>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_pv0: mmu@fd800000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xfd800000 0 0x1000>; /* IPMMU-PV0 */
+ renesas,ipmmu-main = <&ipmmu_mm 6>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_ir: mmu@ff8b0000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xff8b0000 0 0x1000>; /* IPMMU-IR */
+ renesas,ipmmu-main = <&ipmmu_mm 3>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_hc: mmu@e6570000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ 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-r8a7795";
+ reg = <0 0xffc80000 0 0x1000>; /* IPMMU-RT */
+ renesas,ipmmu-main = <&ipmmu_mm 7>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_mp0: mmu@ec670000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xec670000 0 0x1000>; /* IPMMU-MP0 */
+ renesas,ipmmu-main = <&ipmmu_mm 4>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_mp1: mmu@ec680000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xec680000 0 0x1000>; /* IPMMU-MP1 */
+ renesas,ipmmu-main = <&ipmmu_mm 5>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_sy: mmu@e7730000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ reg = <0 0xe7730000 0 0x1000>; /* IPMMU-SY */
+ renesas,ipmmu-main = <&ipmmu_mm 8>;
+ #iommu-cells = <1>;
+ status = "disabled";
+ };
+
+ ipmmu_ds0: mmu@e6740000 {
+ compatible = "renesas,ipmmu-r8a7795";
+ 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-r8a7795";
+ 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-r8a7795";
+ 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";
+ };
+
dmac0: dma-controller@e6700000 {
compatible = "renesas,dmac-r8a7795",
"renesas,rcar-dmac";
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 02/09] arm64: dts: r8a7795: Tie Audio/SYS-DMAC to IPMMU-DS0/1 and MP1
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
2017-03-20 8:35 ` [PATCH v3 01/09] arm64: dts: r8a7795: Add IPMMU device nodes Magnus Damm
@ 2017-03-20 8:35 ` Magnus Damm
2017-03-20 8:35 ` [PATCH v3 03/09] arm64: dts: r8a7795: Point DU/VSPD via FCPVD to IPMMU-VI Magnus Damm
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:35 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Hook up r8a7795 DMAC nodes to the IPMMUs. In particular Audio-DMAC0
and Audio-DMAC1 get connected to IPMMU-MP1, while SYS-DMAC0 gets tied
to IPMMU-DS0 and SYS-DMAC1 and SYS-DMAC2 get tied to IPMMU-DS1.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
Changes from V2:
- Updated description with more detail about SYS-DMAC and Audio-DMAC
- Updated title/subject to include Audio-DMAC
- Added Reviewed-by from Laurent - thanks!
Changes from V1:
- None
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 40 ++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
--- 0002/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 15:45:51.330607110 +0900
@@ -548,6 +548,14 @@
"ch12", "ch13", "ch14", "ch15";
clocks = <&cpg CPG_MOD 219>;
clock-names = "fck";
+ iommus = <&ipmmu_ds0 0>, <&ipmmu_ds0 1>,
+ <&ipmmu_ds0 2>, <&ipmmu_ds0 3>,
+ <&ipmmu_ds0 4>, <&ipmmu_ds0 5>,
+ <&ipmmu_ds0 6>, <&ipmmu_ds0 7>,
+ <&ipmmu_ds0 8>, <&ipmmu_ds0 9>,
+ <&ipmmu_ds0 10>, <&ipmmu_ds0 11>,
+ <&ipmmu_ds0 12>, <&ipmmu_ds0 13>,
+ <&ipmmu_ds0 14>, <&ipmmu_ds0 15>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
#dma-cells = <1>;
dma-channels = <16>;
@@ -581,6 +589,14 @@
"ch12", "ch13", "ch14", "ch15";
clocks = <&cpg CPG_MOD 218>;
clock-names = "fck";
+ 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>,
+ <&ipmmu_ds1 8>, <&ipmmu_ds1 9>,
+ <&ipmmu_ds1 10>, <&ipmmu_ds1 11>,
+ <&ipmmu_ds1 12>, <&ipmmu_ds1 13>,
+ <&ipmmu_ds1 14>, <&ipmmu_ds1 15>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
#dma-cells = <1>;
dma-channels = <16>;
@@ -614,6 +630,14 @@
"ch12", "ch13", "ch14", "ch15";
clocks = <&cpg CPG_MOD 217>;
clock-names = "fck";
+ 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>,
+ <&ipmmu_ds1 24>, <&ipmmu_ds1 25>,
+ <&ipmmu_ds1 26>, <&ipmmu_ds1 27>,
+ <&ipmmu_ds1 28>, <&ipmmu_ds1 29>,
+ <&ipmmu_ds1 30>, <&ipmmu_ds1 31>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
#dma-cells = <1>;
dma-channels = <16>;
@@ -647,6 +671,14 @@
"ch12", "ch13", "ch14", "ch15";
clocks = <&cpg CPG_MOD 502>;
clock-names = "fck";
+ iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
+ <&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
+ <&ipmmu_mp1 4>, <&ipmmu_mp1 5>,
+ <&ipmmu_mp1 6>, <&ipmmu_mp1 7>,
+ <&ipmmu_mp1 8>, <&ipmmu_mp1 9>,
+ <&ipmmu_mp1 10>, <&ipmmu_mp1 11>,
+ <&ipmmu_mp1 12>, <&ipmmu_mp1 13>,
+ <&ipmmu_mp1 14>, <&ipmmu_mp1 15>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
#dma-cells = <1>;
dma-channels = <16>;
@@ -680,6 +712,14 @@
"ch12", "ch13", "ch14", "ch15";
clocks = <&cpg CPG_MOD 501>;
clock-names = "fck";
+ iommus = <&ipmmu_mp1 16>, <&ipmmu_mp1 17>,
+ <&ipmmu_mp1 18>, <&ipmmu_mp1 19>,
+ <&ipmmu_mp1 20>, <&ipmmu_mp1 21>,
+ <&ipmmu_mp1 22>, <&ipmmu_mp1 23>,
+ <&ipmmu_mp1 24>, <&ipmmu_mp1 25>,
+ <&ipmmu_mp1 26>, <&ipmmu_mp1 27>,
+ <&ipmmu_mp1 28>, <&ipmmu_mp1 29>,
+ <&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
#dma-cells = <1>;
dma-channels = <16>;
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 03/09] arm64: dts: r8a7795: Point DU/VSPD via FCPVD to IPMMU-VI
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
2017-03-20 8:35 ` [PATCH v3 01/09] arm64: dts: r8a7795: Add IPMMU device nodes Magnus Damm
2017-03-20 8:35 ` [PATCH v3 02/09] arm64: dts: r8a7795: Tie Audio/SYS-DMAC to IPMMU-DS0/1 and MP1 Magnus Damm
@ 2017-03-20 8:35 ` Magnus Damm
2017-03-20 8:35 ` [PATCH v3 04/09] arm64: dts: r8a7795: Point FDP1 via FCPF to IPMMU-VP Magnus Damm
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:35 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Hook up the FCPVD devices to allow use of the VSP and DU
together with IPMMU-VI.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---
Changes since V2:
- New patch
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 4 ++++
1 file changed, 4 insertions(+)
--- 0004/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 15:57:39.990607110 +0900
@@ -1738,6 +1738,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfea27000 0 0x200>;
clocks = <&cpg CPG_MOD 603>;
+ iommus = <&ipmmu_vi 8>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
};
@@ -1755,6 +1756,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfea2f000 0 0x200>;
clocks = <&cpg CPG_MOD 602>;
+ iommus = <&ipmmu_vi 9>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
};
@@ -1772,6 +1774,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfea37000 0 0x200>;
clocks = <&cpg CPG_MOD 601>;
+ iommus = <&ipmmu_vi 10>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
};
@@ -1789,6 +1792,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfea3f000 0 0x200>;
clocks = <&cpg CPG_MOD 600>;
+ iommus = <&ipmmu_vi 11>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
};
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 04/09] arm64: dts: r8a7795: Point FDP1 via FCPF to IPMMU-VP
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
` (2 preceding siblings ...)
2017-03-20 8:35 ` [PATCH v3 03/09] arm64: dts: r8a7795: Point DU/VSPD via FCPVD to IPMMU-VI Magnus Damm
@ 2017-03-20 8:35 ` Magnus Damm
2017-03-20 8:36 ` [PATCH v3 05/09] arm64: dts: r8a7795: Point VSPBC/VSPBD via FCPVB " Magnus Damm
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:35 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Hook up the FCPF devices to allow use of FDP1 with IPMMU-VP.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---
Changes since V2:
- New patch
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 3 +++
1 file changed, 3 insertions(+)
--- 0007/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 16:19:28.230607110 +0900
@@ -1639,6 +1639,7 @@
compatible = "renesas,fcpf";
reg = <0 0xfe950000 0 0x200>;
clocks = <&cpg CPG_MOD 615>;
+ iommus = <&ipmmu_vp 0>;
power-domains = <&sysc R8A7795_PD_A3VP>;
};
@@ -1646,6 +1647,7 @@
compatible = "renesas,fcpf";
reg = <0 0xfe951000 0 0x200>;
clocks = <&cpg CPG_MOD 614>;
+ iommus = <&ipmmu_vp 1>;
power-domains = <&sysc R8A7795_PD_A3VP>;
};
@@ -1653,6 +1655,7 @@
compatible = "renesas,fcpf";
reg = <0 0xfe952000 0 0x200>;
clocks = <&cpg CPG_MOD 613>;
+ iommus = <&ipmmu_vp 2>;
power-domains = <&sysc R8A7795_PD_A3VP>;
};
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 05/09] arm64: dts: r8a7795: Point VSPBC/VSPBD via FCPVB to IPMMU-VP
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
` (3 preceding siblings ...)
2017-03-20 8:35 ` [PATCH v3 04/09] arm64: dts: r8a7795: Point FDP1 via FCPF to IPMMU-VP Magnus Damm
@ 2017-03-20 8:36 ` Magnus Damm
2017-03-20 8:36 ` [PATCH v3 06/09] arm64: dts: r8a7795: Point VSPI via FCPVI " Magnus Damm
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:36 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Hook up the FCPVB devices to allow use of VSPBC/VSPBD with IPMMU-VP.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---
Changes since V2:
- New patch
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 ++
1 file changed, 2 insertions(+)
--- 0008/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 16:21:50.950607110 +0900
@@ -1632,6 +1632,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfe92f000 0 0x200>;
clocks = <&cpg CPG_MOD 606>;
+ iommus = <&ipmmu_vp 7>;
power-domains = <&sysc R8A7795_PD_A3VP>;
};
@@ -1673,6 +1674,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfe96f000 0 0x200>;
clocks = <&cpg CPG_MOD 607>;
+ iommus = <&ipmmu_vp 5>;
power-domains = <&sysc R8A7795_PD_A3VP>;
};
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 06/09] arm64: dts: r8a7795: Point VSPI via FCPVI to IPMMU-VP
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
` (4 preceding siblings ...)
2017-03-20 8:36 ` [PATCH v3 05/09] arm64: dts: r8a7795: Point VSPBC/VSPBD via FCPVB " Magnus Damm
@ 2017-03-20 8:36 ` Magnus Damm
2017-03-20 8:36 ` [PATCH v3 07/09] arm64: dts: r8a7795: Connect Ethernet-AVB to IPMMU-DS0 Magnus Damm
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:36 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Hook up the FCPVI devices to allow use of VSPI with IPMMU-VP.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---
Changes since V2:
- New patch
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 3 +++
1 file changed, 3 insertions(+)
--- 0010/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 16:26:53.600607110 +0900
@@ -1692,6 +1692,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfe9af000 0 0x200>;
clocks = <&cpg CPG_MOD 611>;
+ iommus = <&ipmmu_vp 8>;
power-domains = <&sysc R8A7795_PD_A3VP>;
};
@@ -1709,6 +1710,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfe9bf000 0 0x200>;
clocks = <&cpg CPG_MOD 610>;
+ iommus = <&ipmmu_vp 9>;
power-domains = <&sysc R8A7795_PD_A3VP>;
};
@@ -1726,6 +1728,7 @@
compatible = "renesas,fcpv";
reg = <0 0xfe9cf000 0 0x200>;
clocks = <&cpg CPG_MOD 609>;
+ iommus = <&ipmmu_vp 10>;
power-domains = <&sysc R8A7795_PD_A3VP>;
};
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 07/09] arm64: dts: r8a7795: Connect Ethernet-AVB to IPMMU-DS0
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
` (5 preceding siblings ...)
2017-03-20 8:36 ` [PATCH v3 06/09] arm64: dts: r8a7795: Point VSPI via FCPVI " Magnus Damm
@ 2017-03-20 8:36 ` Magnus Damm
2017-03-20 8:36 ` [PATCH v3 08/09] arm64: dts: r8a7795: Connect SATA to IPMMU-HC Magnus Damm
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:36 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Add IPMMU-DS0 to the Ethernet-AVB device node.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---
Changes since V2:
- New patch
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 1 +
1 file changed, 1 insertion(+)
--- 0012/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 16:30:42.620607110 +0900
@@ -762,6 +762,7 @@
"ch20", "ch21", "ch22", "ch23",
"ch24";
clocks = <&cpg CPG_MOD 812>;
+ iommus = <&ipmmu_ds0 16>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
phy-mode = "rgmii-txid";
#address-cells = <1>;
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 08/09] arm64: dts: r8a7795: Connect SATA to IPMMU-HC
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
` (6 preceding siblings ...)
2017-03-20 8:36 ` [PATCH v3 07/09] arm64: dts: r8a7795: Connect Ethernet-AVB to IPMMU-DS0 Magnus Damm
@ 2017-03-20 8:36 ` Magnus Damm
2017-03-20 8:36 ` [PATCH v3 09/09] arm64: dts: r8a7795: Enable IPMMU-VI, VP, MP1, DS0, DS1 and MM Magnus Damm
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:36 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Add IPMMU-HC to the SATA device node.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---
Changes since V2:
- New patch
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 1 +
1 file changed, 1 insertion(+)
--- 0014/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 16:31:38.830607110 +0900
@@ -1366,6 +1366,7 @@
reg = <0 0xee300000 0 0x1fff>;
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 815>;
+ iommus = <&ipmmu_hc 2>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
status = "disabled";
};
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 09/09] arm64: dts: r8a7795: Enable IPMMU-VI, VP, MP1, DS0, DS1 and MM
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
` (7 preceding siblings ...)
2017-03-20 8:36 ` [PATCH v3 08/09] arm64: dts: r8a7795: Connect SATA to IPMMU-HC Magnus Damm
@ 2017-03-20 8:36 ` Magnus Damm
2017-05-16 16:39 ` [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Geert Uytterhoeven
2017-08-30 8:15 ` Simon Horman
10 siblings, 0 replies; 12+ messages in thread
From: Magnus Damm @ 2017-03-20 8:36 UTC (permalink / raw)
To: linux-renesas-soc
Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
geert+renesas
From: Magnus Damm <damm+renesas@opensource.se>
Enable the r8a7795 device nodes for IPMMU-VI, IPMMU-VP, IPMMU-MP1,
IPMMU-DS0, IPMMU-DS1 and the shared IPMMU-MM device.
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---
Changes since V2:
- New patch
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 6 ------
1 file changed, 6 deletions(-)
--- 0016/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi 2017-03-20 16:41:34.980607110 +0900
@@ -412,7 +412,6 @@
reg = <0 0xfebd0000 0 0x1000>; /* IPMMU-VI */
renesas,ipmmu-main = <&ipmmu_mm 11>;
#iommu-cells = <1>;
- status = "disabled";
};
ipmmu_vp: mmu@fe990000 {
@@ -420,7 +419,6 @@
reg = <0 0xfe990000 0 0x1000>; /* IPMMU-VP */
renesas,ipmmu-main = <&ipmmu_mm 12>;
#iommu-cells = <1>;
- status = "disabled";
};
ipmmu_vc0: mmu@fe6b0000 {
@@ -484,7 +482,6 @@
reg = <0 0xec680000 0 0x1000>; /* IPMMU-MP1 */
renesas,ipmmu-main = <&ipmmu_mm 5>;
#iommu-cells = <1>;
- status = "disabled";
};
ipmmu_sy: mmu@e7730000 {
@@ -500,7 +497,6 @@
reg = <0 0xe6740000 0 0x1000>; /* IPMMU-DS0 */
renesas,ipmmu-main = <&ipmmu_mm 0>;
#iommu-cells = <1>;
- status = "disabled";
};
ipmmu_ds1: mmu@e7740000 {
@@ -508,7 +504,6 @@
reg = <0 0xe7740000 0 0x1000>; /* IPMMU-DS1 */
renesas,ipmmu-main = <&ipmmu_mm 1>;
#iommu-cells = <1>;
- status = "disabled";
};
ipmmu_mm: mmu@e67b0000 {
@@ -517,7 +512,6 @@
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
- status = "disabled";
};
dmac0: dma-controller@e6700000 {
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
` (8 preceding siblings ...)
2017-03-20 8:36 ` [PATCH v3 09/09] arm64: dts: r8a7795: Enable IPMMU-VI, VP, MP1, DS0, DS1 and MM Magnus Damm
@ 2017-05-16 16:39 ` Geert Uytterhoeven
2017-08-30 8:15 ` Simon Horman
10 siblings, 0 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2017-05-16 16:39 UTC (permalink / raw)
To: Magnus Damm
Cc: Linux-Renesas, Simon Horman, Laurent Pinchart, Joerg Roedel,
Geert Uytterhoeven, Kuninori Morimoto
Hi Magnus,
On Mon, Mar 20, 2017 at 9:35 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> arm64: dts: r8a7795: IPMMU upstream integration V3
>
> [PATCH v3 01/09] arm64: dts: r8a7795: Add IPMMU device nodes
> [PATCH v3 02/09] arm64: dts: r8a7795: Tie Audio/SYS-DMAC to IPMMU-DS0/1 and MP1
> [PATCH v3 03/09] arm64: dts: r8a7795: Point DU/VSPD via FCPVD to IPMMU-VI
> [PATCH v3 04/09] arm64: dts: r8a7795: Point FDP1 via FCPF to IPMMU-VP
> [PATCH v3 05/09] arm64: dts: r8a7795: Point VSPBC/VSPBD via FCPVB to IPMMU-VP
> [PATCH v3 06/09] arm64: dts: r8a7795: Point VSPI via FCPVI to IPMMU-VP
> [PATCH v3 07/09] arm64: dts: r8a7795: Connect Ethernet-AVB to IPMMU-DS0
> [PATCH v3 08/09] arm64: dts: r8a7795: Connect SATA to IPMMU-HC
> [PATCH v3 09/09] arm64: dts: r8a7795: Enable IPMMU-VI, VP, MP1, DS0, DS1 and MM
>
> This series adds DT nodes for IPMMU instances on r8a7795 together with
> connections to various r8a7795 on-chip devices such as Audio-DMAC, SYS-DMAC,
> Ethernet-AVB, SATA and a bunch of multimedia devices that make use of FCP.
>
> 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 stack consists of the following series:
> [PATCH v7 00/07] iommu/ipmmu-vmsa: IPMMU multi-arch update V7
> [PATCH v3 00/09] iommu/ipmmu-vmsa: r8a7795 support V3
> [PATCH v3 0/3] iommu/ipmmu-vmsa: r8a7796 support V3
>
> The final patch in the series enable IPMMU support for all IPMMU instances
> on r8a7795 that are used by IPMMU devices listed above with one exception.
> The exception is the SATA device connected to IPMMU-HC which still is disabled
> pending IPMMU USB integration support. I expect IPMMU USB integration to be
> handled as a second step once this series is agreed on.
>
> The DT binding for r8a7795 has since long been included in mainline
> and this series implements support following such format:
I dropped this series from today's renesas-drivers because of two reasons:
1. IPMMU is busted in v4.12-rc1,
2. The addition of support for R-Car H3 ES2.0 complicated the addition of
IPMMU devices nodes and links from their slaves.
This also means I couldn't apply Morimoto-san's "[PATCH v2 --/--] arm64:
renesas: r8a7796: add IPMMU support for AUDIO DMAC", as it depends
on your series.
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* Re: [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3
2017-03-20 8:35 [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Magnus Damm
` (9 preceding siblings ...)
2017-05-16 16:39 ` [PATCH v3 00/09] arm64: dts: r8a7795: IPMMU upstream integration V3 Geert Uytterhoeven
@ 2017-08-30 8:15 ` Simon Horman
10 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2017-08-30 8:15 UTC (permalink / raw)
To: Magnus Damm
Cc: linux-renesas-soc, laurent.pinchart+renesas, joro, geert+renesas
On Mon, Mar 20, 2017 at 05:35:18PM +0900, Magnus Damm wrote:
> arm64: dts: r8a7795: IPMMU upstream integration V3
>
> [PATCH v3 01/09] arm64: dts: r8a7795: Add IPMMU device nodes
> [PATCH v3 02/09] arm64: dts: r8a7795: Tie Audio/SYS-DMAC to IPMMU-DS0/1 and MP1
> [PATCH v3 03/09] arm64: dts: r8a7795: Point DU/VSPD via FCPVD to IPMMU-VI
> [PATCH v3 04/09] arm64: dts: r8a7795: Point FDP1 via FCPF to IPMMU-VP
> [PATCH v3 05/09] arm64: dts: r8a7795: Point VSPBC/VSPBD via FCPVB to IPMMU-VP
> [PATCH v3 06/09] arm64: dts: r8a7795: Point VSPI via FCPVI to IPMMU-VP
> [PATCH v3 07/09] arm64: dts: r8a7795: Connect Ethernet-AVB to IPMMU-DS0
> [PATCH v3 08/09] arm64: dts: r8a7795: Connect SATA to IPMMU-HC
> [PATCH v3 09/09] arm64: dts: r8a7795: Enable IPMMU-VI, VP, MP1, DS0, DS1 and MM
>
> This series adds DT nodes for IPMMU instances on r8a7795 together with
> connections to various r8a7795 on-chip devices such as Audio-DMAC, SYS-DMAC,
> Ethernet-AVB, SATA and a bunch of multimedia devices that make use of FCP.
>
> 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 stack consists of the following series:
> [PATCH v7 00/07] iommu/ipmmu-vmsa: IPMMU multi-arch update V7
> [PATCH v3 00/09] iommu/ipmmu-vmsa: r8a7795 support V3
> [PATCH v3 0/3] iommu/ipmmu-vmsa: r8a7796 support V3
>
> The final patch in the series enable IPMMU support for all IPMMU instances
> on r8a7795 that are used by IPMMU devices listed above with one exception.
> The exception is the SATA device connected to IPMMU-HC which still is disabled
> pending IPMMU USB integration support. I expect IPMMU USB integration to be
> handled as a second step once this series is agreed on.
>
> The DT binding for r8a7795 has since long been included in mainline
> and this series implements support following such format:
>
> d4e42e7 iommu/ipmmu-vmsa: Add r8a7795 DT binding
>
> Changes since V2:
> - Added the iommus property before power domains - thanks Geert!
> - Added reviewed-by to patch 2 and 3 from Laurent - thanks!
> - Re-added Ethernet and FCPVD patches (They were present in V1 but not V2)
> - Added remaining FCP devices such as FCPF, FCPVB and FCPVI
> - Added SATA device
> - Added final patch to enable various IPMMU devices in the DTS file
>
> Since the DT binding has been merged quite some time ago and the interface
> seems stable enough I see no reason not to queue these up for upstream merge.
Going through old patches I noticed that I seem to have missed this somehow.
I assume its still applicable but wants a rebase. If so could you do so?
^ permalink raw reply [flat|nested] 12+ messages in thread