Linux Renesas SOC kernel development
 help / color / mirror / Atom feed
* [PATCH/RFC 00/05] arm64: dts: r8a7795: salvator-x: IPMMU test code V2
@ 2016-03-17 16:55 Magnus Damm
  2016-03-17 16:55 ` [PATCH/RFC 01/05] arm64: dts: r8a7795: Add IPMMU device nodes Magnus Damm
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Magnus Damm @ 2016-03-17 16:55 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: horms+renesas, Magnus Damm, laurent.pinchart+renesas, joro,
	geert+renesas

arm64: dts: r8a7795: salvator-x: IPMMU test code V2

[PATCH/RFC 01/05] arm64: dts: r8a7795: Add IPMMU device nodes
[PATCH/RFC 02/05] arm64: dts: r8a7795: Enable IPMMU-MM
[PATCH/RFC 03/05] arm64: dts: r8a7795: Hook up SYS-DMAC to IPMMU
[PATCH/RFC 04/05] arm64: dts: r8a7795: Enable IPMMU-DS0
[PATCH/RFC 05/05] arm64: dts: salvator-x: External SCIF3/HSCIF3 loop

Hook up r8a7795 IPMMU to SYS-DMAC and also tie in the external
SCIF3/HSCIF3 loop back adapter via DT. Previous version posted as:

[PATCH/RFC 00/03] ARM: shmobile: r8a7795 Salvator-X IPMMU test code

The DT binding for r8a7795 has been accepted for upstream merge
and this series implements support following such format:

d4e42e7 iommu/ipmmu-vmsa: Add r8a7795 DT binding

Even though the DT binding has been accepted I prefer to hold off
for a bit longer before merging patch 1-4 upstream.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Developed on top of next-20160315 and:
 
 [PATCH v2 00/04] iommu/ipmmu-vmsa: IPMMU multi-arch update V2
 [PATCH 00/04] iommu/ipmmu-vmsa: IPMMU CONFIG_IOMMU_DMA update
 [PATCH 00/10] iommu/ipmmu-vmsa: Initial r8a7795 support

 No special run time or compile time dependencies apart from
 IPMMU DT binding change in the driver that can be merged
 independently from this series.

 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |   26 +++
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           |  155 +++++++++++++++++++-
 2 files changed, 179 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH/RFC 01/05] arm64: dts: r8a7795: Add IPMMU device nodes
  2016-03-17 16:55 [PATCH/RFC 00/05] arm64: dts: r8a7795: salvator-x: IPMMU test code V2 Magnus Damm
@ 2016-03-17 16:55 ` Magnus Damm
  2016-03-17 16:55 ` [PATCH/RFC 02/05] arm64: dts: r8a7795: Enable IPMMU-MM Magnus Damm
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Magnus Damm @ 2016-03-17 16:55 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>
---

 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	2016-03-17 18:42:51.210513000 +0900
@@ -373,6 +373,119 @@
 			power-domains = <&cpg>;
 		};
 
+		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] 5+ messages in thread

* [PATCH/RFC 02/05] arm64: dts: r8a7795: Enable IPMMU-MM
  2016-03-17 16:55 [PATCH/RFC 00/05] arm64: dts: r8a7795: salvator-x: IPMMU test code V2 Magnus Damm
  2016-03-17 16:55 ` [PATCH/RFC 01/05] arm64: dts: r8a7795: Add IPMMU device nodes Magnus Damm
@ 2016-03-17 16:55 ` Magnus Damm
  2016-03-17 16:55 ` [PATCH/RFC 03/05] arm64: dts: r8a7795: Hook up SYS-DMAC to IPMMU Magnus Damm
  2016-03-17 16:56 ` [PATCH/RFC 05/05] arm64: dts: salvator-x: External SCIF3/HSCIF3 loop Magnus Damm
  3 siblings, 0 replies; 5+ messages in thread
From: Magnus Damm @ 2016-03-17 16:55 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 r8a7795 IPMMU-MM node to allow the IPMMU main
device to be probed in case of driver support exists.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 arch/arm64/boot/dts/renesas/r8a7795.dtsi |    1 -
 1 file changed, 1 deletion(-)

--- 0029/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi	2016-03-17 19:00:45.900513000 +0900
@@ -483,7 +483,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] 5+ messages in thread

* [PATCH/RFC 03/05] arm64: dts: r8a7795: Hook up SYS-DMAC to IPMMU
  2016-03-17 16:55 [PATCH/RFC 00/05] arm64: dts: r8a7795: salvator-x: IPMMU test code V2 Magnus Damm
  2016-03-17 16:55 ` [PATCH/RFC 01/05] arm64: dts: r8a7795: Add IPMMU device nodes Magnus Damm
  2016-03-17 16:55 ` [PATCH/RFC 02/05] arm64: dts: r8a7795: Enable IPMMU-MM Magnus Damm
@ 2016-03-17 16:55 ` Magnus Damm
  2016-03-17 16:56 ` [PATCH/RFC 05/05] arm64: dts: salvator-x: External SCIF3/HSCIF3 loop Magnus Damm
  3 siblings, 0 replies; 5+ messages in thread
From: Magnus Damm @ 2016-03-17 16:55 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 IPMMU-MP1, IPMMU-DS0 and IPMMU-DS1.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 arch/arm64/boot/dts/renesas/r8a7795.dtsi |   40 ++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

--- 0028/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi	2016-03-17 18:52:03.720513000 +0900
@@ -319,6 +319,14 @@
 			power-domains = <&cpg>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			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>;
 		};
 
 		audma1: dma-controller@ec720000 {
@@ -351,6 +359,14 @@
 			power-domains = <&cpg>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			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>;
 		};
 
 		pfc: pfc@e6060000 {
@@ -517,6 +533,14 @@
 			power-domains = <&cpg>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			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>;
 		};
 
 		dmac1: dma-controller@e7300000 {
@@ -550,6 +574,14 @@
 			power-domains = <&cpg>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			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>;
 		};
 
 		dmac2: dma-controller@e7310000 {
@@ -583,6 +615,14 @@
 			power-domains = <&cpg>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			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>;
 		};
 
 		avb: ethernet@e6800000 {

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH/RFC 05/05] arm64: dts: salvator-x: External SCIF3/HSCIF3 loop
  2016-03-17 16:55 [PATCH/RFC 00/05] arm64: dts: r8a7795: salvator-x: IPMMU test code V2 Magnus Damm
                   ` (2 preceding siblings ...)
  2016-03-17 16:55 ` [PATCH/RFC 03/05] arm64: dts: r8a7795: Hook up SYS-DMAC to IPMMU Magnus Damm
@ 2016-03-17 16:56 ` Magnus Damm
  3 siblings, 0 replies; 5+ messages in thread
From: Magnus Damm @ 2016-03-17 16:56 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 SCIF3 and HSCIF3 as two new serial ports to the r8a7795
Salvator-X DT file. 

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |   26 ++++++++++++++++++++
 1 file changed, 26 insertions(+)

--- 0001/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ work/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts	2016-03-17 17:14:00.630513000 +0900
@@ -42,6 +42,8 @@
 	aliases {
 		serial0 = &scif2;
 		serial1 = &scif1;
+		serial2 = &scif3;
+		serial3 = &hscif3;
 		ethernet0 = &avb;
 	};
 
@@ -153,6 +155,14 @@
 		renesas,groups = "scif2_data_a";
 		renesas,function = "scif2";
 	};
+	scif3_pins: scif3 { /* TX: 1_11, RX: 1_8 */
+		renesas,groups = "scif3_data_b";
+		renesas,function = "scif3";
+	};
+	hscif3_pins: hscif3 { /* TX: 2_8, RX: 2_7 */
+		renesas,groups = "hscif3_data_d";
+		renesas,function = "hscif3";
+	};
 	scif_clk_pins: scif_clk {
 		renesas,groups = "scif_clk_a";
 		renesas,function = "scif_clk";
@@ -205,6 +215,22 @@
 	pinctrl-names = "default";
 
 	status = "okay";
+};
+
+&scif3 {
+	pinctrl-0 = <&scif3_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+/* SCIF3 TX -> HSCIF3 RX, HSCIF3 TX -> SCIF3 RX */
+
+&hscif3 {
+	pinctrl-0 = <&hscif3_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
 };
 
 &scif2 {

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-03-17 16:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-17 16:55 [PATCH/RFC 00/05] arm64: dts: r8a7795: salvator-x: IPMMU test code V2 Magnus Damm
2016-03-17 16:55 ` [PATCH/RFC 01/05] arm64: dts: r8a7795: Add IPMMU device nodes Magnus Damm
2016-03-17 16:55 ` [PATCH/RFC 02/05] arm64: dts: r8a7795: Enable IPMMU-MM Magnus Damm
2016-03-17 16:55 ` [PATCH/RFC 03/05] arm64: dts: r8a7795: Hook up SYS-DMAC to IPMMU Magnus Damm
2016-03-17 16:56 ` [PATCH/RFC 05/05] arm64: dts: salvator-x: External SCIF3/HSCIF3 loop Magnus Damm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox