* [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 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