aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-09-28 11:41:52 -0400
committerArnd Bergmann <arnd@arndb.de>2018-09-28 11:42:26 -0400
commit0526b92e3a7922ca403d21174259ba90e9710c6c (patch)
tree425fe58c9c9a0f1dbf86733da5ab44412a274b46
parentf62309c873110e0e733ef690b2c5eb2578833cd4 (diff)
parent158928f38e1c6f3ac4dd83cf2240ae412179005d (diff)
Merge tag 'renesas-arm64-dt2-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
Second Round of Renesas ARM64 Based SoC DT Updates for v4.20 * Remove unneeded status from thermal nodes * R-Car Gen 3 SoCs: - Use 400kHz for I2C DVFS bus - Revise USB2.0 properties * R-Car Gen 3 SoC based ULCB boards: Add default bootargs * R-Car M3-N (r8a77965) SoC based boards: Enable audio with DMA * R-Car V3M (r8a77970 and V3H (r8a77980) SoCs: - Add compare match timer (CMT) support - Add timer pulse unit (TPU) support * R-Car V3H (r8a77980) and E3 (r8a77990) SoCs: - Attach the SYS-DMAC to the IPMMU * E3 (r8a77990) SoC: Add display output support * R-Car E3 (r8a77990) based Ebisu board: - Enable HDMI and CVBS input, and VGA and HDMI display output * R-Car D3 (r8a77995) SoC: Add LVDS support * R-Car D3 (r8a77995) based Draak board: Enable HDMI display output * tag 'renesas-arm64-dt2-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: dts: renesas: r8a77965: Add Sound and Audio DMAC device nodes arm64: dts: renesas: r8a77995: draak: Enable HDMI display output arm64: dts: renesas: r8a77990: ebisu: Enable VGA and HDMI outputs arm64: dts: renesas: r8a77995: Add LVDS support arm64: dts: renesas: r8a77990: Add display output support arm64: dts: renesas: r8a779{7|8}0: add TPU support arm64: dts: renesas: revise properties for R-Car Gen3 SoCs' usb 2.0 arm64: dts: renesas: ulcb: add default bootargs arm64: dts: renesas: r8a779{7|8}0: add CMT support arm64: dts: renesas: gen3: use 400kHz for I2C DVFS bus arm64: dts: renesas: r8a77980: Attach the SYS-DMAC to the IPMMU arm64: dts: renesas: r8a77990: Attach the SYS-DMAC to the IPMMU arm64: dts: renesas: ebisu: Add HDMI and CVBS input arm64: dts: renesas: Remove unneeded status from thermal nodes Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/arm64/boot/dts/renesas/r8a774a1.dtsi1
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7795.dtsi33
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7796.dtsi17
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77965.dtsi262
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77970.dtsi80
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77980.dtsi97
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts248
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77990.dtsi203
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77995-draak.dts98
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77995.dtsi68
-rw-r--r--arch/arm64/boot/dts/renesas/salvator-common.dtsi2
-rw-r--r--arch/arm64/boot/dts/renesas/ulcb.dtsi3
12 files changed, 1052 insertions, 60 deletions
diff --git a/arch/arm64/boot/dts/renesas/r8a774a1.dtsi b/arch/arm64/boot/dts/renesas/r8a774a1.dtsi
index 046fc937da14..012cbb64246e 100644
--- a/arch/arm64/boot/dts/renesas/r8a774a1.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a774a1.dtsi
@@ -358,7 +358,6 @@
358 power-domains = <&sysc 32>; 358 power-domains = <&sysc 32>;
359 resets = <&cpg 522>; 359 resets = <&cpg 522>;
360 #thermal-sensor-cells = <1>; 360 #thermal-sensor-cells = <1>;
361 status = "okay";
362 }; 361 };
363 362
364 intc_ex: interrupt-controller@e61c0000 { 363 intc_ex: interrupt-controller@e61c0000 {
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index abb361e41ef6..b5f2273caca4 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -455,7 +455,6 @@
455 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 455 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
456 resets = <&cpg 522>; 456 resets = <&cpg 522>;
457 #thermal-sensor-cells = <1>; 457 #thermal-sensor-cells = <1>;
458 status = "okay";
459 }; 458 };
460 459
461 intc_ex: interrupt-controller@e61c0000 { 460 intc_ex: interrupt-controller@e61c0000 {
@@ -698,7 +697,7 @@
698 "renesas,rcar-gen3-usbhs"; 697 "renesas,rcar-gen3-usbhs";
699 reg = <0 0xe6590000 0 0x100>; 698 reg = <0 0xe6590000 0 0x100>;
700 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 699 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
701 clocks = <&cpg CPG_MOD 704>; 700 clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
702 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>, 701 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
703 <&usb_dmac1 0>, <&usb_dmac1 1>; 702 <&usb_dmac1 0>, <&usb_dmac1 1>;
704 dma-names = "ch0", "ch1", "ch2", "ch3"; 703 dma-names = "ch0", "ch1", "ch2", "ch3";
@@ -706,7 +705,7 @@
706 phys = <&usb2_phy0>; 705 phys = <&usb2_phy0>;
707 phy-names = "usb"; 706 phy-names = "usb";
708 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 707 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
709 resets = <&cpg 704>; 708 resets = <&cpg 704>, <&cpg 703>;
710 status = "disabled"; 709 status = "disabled";
711 }; 710 };
712 711
@@ -715,7 +714,7 @@
715 "renesas,rcar-gen3-usbhs"; 714 "renesas,rcar-gen3-usbhs";
716 reg = <0 0xe659c000 0 0x100>; 715 reg = <0 0xe659c000 0 0x100>;
717 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 716 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
718 clocks = <&cpg CPG_MOD 705>; 717 clocks = <&cpg CPG_MOD 705>, <&cpg CPG_MOD 700>;
719 dmas = <&usb_dmac2 0>, <&usb_dmac2 1>, 718 dmas = <&usb_dmac2 0>, <&usb_dmac2 1>,
720 <&usb_dmac3 0>, <&usb_dmac3 1>; 719 <&usb_dmac3 0>, <&usb_dmac3 1>;
721 dma-names = "ch0", "ch1", "ch2", "ch3"; 720 dma-names = "ch0", "ch1", "ch2", "ch3";
@@ -723,7 +722,7 @@
723 phys = <&usb2_phy3>; 722 phys = <&usb2_phy3>;
724 phy-names = "usb"; 723 phy-names = "usb";
725 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 724 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
726 resets = <&cpg 705>; 725 resets = <&cpg 705>, <&cpg 700>;
727 status = "disabled"; 726 status = "disabled";
728 }; 727 };
729 728
@@ -2098,11 +2097,11 @@
2098 compatible = "generic-ohci"; 2097 compatible = "generic-ohci";
2099 reg = <0 0xee080000 0 0x100>; 2098 reg = <0 0xee080000 0 0x100>;
2100 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 2099 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
2101 clocks = <&cpg CPG_MOD 703>; 2100 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
2102 phys = <&usb2_phy0>; 2101 phys = <&usb2_phy0>;
2103 phy-names = "usb"; 2102 phy-names = "usb";
2104 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2103 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
2105 resets = <&cpg 703>; 2104 resets = <&cpg 703>, <&cpg 704>;
2106 status = "disabled"; 2105 status = "disabled";
2107 }; 2106 };
2108 2107
@@ -2134,11 +2133,11 @@
2134 compatible = "generic-ohci"; 2133 compatible = "generic-ohci";
2135 reg = <0 0xee0e0000 0 0x100>; 2134 reg = <0 0xee0e0000 0 0x100>;
2136 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 2135 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
2137 clocks = <&cpg CPG_MOD 700>; 2136 clocks = <&cpg CPG_MOD 700>, <&cpg CPG_MOD 705>;
2138 phys = <&usb2_phy3>; 2137 phys = <&usb2_phy3>;
2139 phy-names = "usb"; 2138 phy-names = "usb";
2140 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2139 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
2141 resets = <&cpg 700>; 2140 resets = <&cpg 700>, <&cpg 705>;
2142 status = "disabled"; 2141 status = "disabled";
2143 }; 2142 };
2144 2143
@@ -2146,12 +2145,12 @@
2146 compatible = "generic-ehci"; 2145 compatible = "generic-ehci";
2147 reg = <0 0xee080100 0 0x100>; 2146 reg = <0 0xee080100 0 0x100>;
2148 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 2147 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
2149 clocks = <&cpg CPG_MOD 703>; 2148 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
2150 phys = <&usb2_phy0>; 2149 phys = <&usb2_phy0>;
2151 phy-names = "usb"; 2150 phy-names = "usb";
2152 companion = <&ohci0>; 2151 companion = <&ohci0>;
2153 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2152 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
2154 resets = <&cpg 703>; 2153 resets = <&cpg 703>, <&cpg 704>;
2155 status = "disabled"; 2154 status = "disabled";
2156 }; 2155 };
2157 2156
@@ -2185,12 +2184,12 @@
2185 compatible = "generic-ehci"; 2184 compatible = "generic-ehci";
2186 reg = <0 0xee0e0100 0 0x100>; 2185 reg = <0 0xee0e0100 0 0x100>;
2187 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 2186 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
2188 clocks = <&cpg CPG_MOD 700>; 2187 clocks = <&cpg CPG_MOD 700>, <&cpg CPG_MOD 705>;
2189 phys = <&usb2_phy3>; 2188 phys = <&usb2_phy3>;
2190 phy-names = "usb"; 2189 phy-names = "usb";
2191 companion = <&ohci3>; 2190 companion = <&ohci3>;
2192 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2191 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
2193 resets = <&cpg 700>; 2192 resets = <&cpg 700>, <&cpg 705>;
2194 status = "disabled"; 2193 status = "disabled";
2195 }; 2194 };
2196 2195
@@ -2199,9 +2198,9 @@
2199 "renesas,rcar-gen3-usb2-phy"; 2198 "renesas,rcar-gen3-usb2-phy";
2200 reg = <0 0xee080200 0 0x700>; 2199 reg = <0 0xee080200 0 0x700>;
2201 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 2200 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
2202 clocks = <&cpg CPG_MOD 703>; 2201 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
2203 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2202 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
2204 resets = <&cpg 703>; 2203 resets = <&cpg 703>, <&cpg 704>;
2205 #phy-cells = <0>; 2204 #phy-cells = <0>;
2206 status = "disabled"; 2205 status = "disabled";
2207 }; 2206 };
@@ -2233,9 +2232,9 @@
2233 "renesas,rcar-gen3-usb2-phy"; 2232 "renesas,rcar-gen3-usb2-phy";
2234 reg = <0 0xee0e0200 0 0x700>; 2233 reg = <0 0xee0e0200 0 0x700>;
2235 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 2234 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
2236 clocks = <&cpg CPG_MOD 700>; 2235 clocks = <&cpg CPG_MOD 700>, <&cpg CPG_MOD 705>;
2237 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2236 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
2238 resets = <&cpg 700>; 2237 resets = <&cpg 700>, <&cpg 705>;
2239 #phy-cells = <0>; 2238 #phy-cells = <0>;
2240 status = "disabled"; 2239 status = "disabled";
2241 }; 2240 };
diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
index 28a0794a4190..1ec6aaa520c1 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -434,7 +434,6 @@
434 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 434 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
435 resets = <&cpg 522>; 435 resets = <&cpg 522>;
436 #thermal-sensor-cells = <1>; 436 #thermal-sensor-cells = <1>;
437 status = "okay";
438 }; 437 };
439 438
440 intc_ex: interrupt-controller@e61c0000 { 439 intc_ex: interrupt-controller@e61c0000 {
@@ -677,7 +676,7 @@
677 "renesas,rcar-gen3-usbhs"; 676 "renesas,rcar-gen3-usbhs";
678 reg = <0 0xe6590000 0 0x100>; 677 reg = <0 0xe6590000 0 0x100>;
679 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 678 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
680 clocks = <&cpg CPG_MOD 704>; 679 clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
681 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>, 680 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
682 <&usb_dmac1 0>, <&usb_dmac1 1>; 681 <&usb_dmac1 0>, <&usb_dmac1 1>;
683 dma-names = "ch0", "ch1", "ch2", "ch3"; 682 dma-names = "ch0", "ch1", "ch2", "ch3";
@@ -685,7 +684,7 @@
685 phys = <&usb2_phy0>; 684 phys = <&usb2_phy0>;
686 phy-names = "usb"; 685 phy-names = "usb";
687 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 686 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
688 resets = <&cpg 704>; 687 resets = <&cpg 704>, <&cpg 703>;
689 status = "disabled"; 688 status = "disabled";
690 }; 689 };
691 690
@@ -1970,11 +1969,11 @@
1970 compatible = "generic-ohci"; 1969 compatible = "generic-ohci";
1971 reg = <0 0xee080000 0 0x100>; 1970 reg = <0 0xee080000 0 0x100>;
1972 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1971 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1973 clocks = <&cpg CPG_MOD 703>; 1972 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
1974 phys = <&usb2_phy0>; 1973 phys = <&usb2_phy0>;
1975 phy-names = "usb"; 1974 phy-names = "usb";
1976 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 1975 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
1977 resets = <&cpg 703>; 1976 resets = <&cpg 703>, <&cpg 704>;
1978 status = "disabled"; 1977 status = "disabled";
1979 }; 1978 };
1980 1979
@@ -1994,12 +1993,12 @@
1994 compatible = "generic-ehci"; 1993 compatible = "generic-ehci";
1995 reg = <0 0xee080100 0 0x100>; 1994 reg = <0 0xee080100 0 0x100>;
1996 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1995 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1997 clocks = <&cpg CPG_MOD 703>; 1996 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
1998 phys = <&usb2_phy0>; 1997 phys = <&usb2_phy0>;
1999 phy-names = "usb"; 1998 phy-names = "usb";
2000 companion = <&ohci0>; 1999 companion = <&ohci0>;
2001 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 2000 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
2002 resets = <&cpg 703>; 2001 resets = <&cpg 703>, <&cpg 704>;
2003 status = "disabled"; 2002 status = "disabled";
2004 }; 2003 };
2005 2004
@@ -2021,9 +2020,9 @@
2021 "renesas,rcar-gen3-usb2-phy"; 2020 "renesas,rcar-gen3-usb2-phy";
2022 reg = <0 0xee080200 0 0x700>; 2021 reg = <0 0xee080200 0 0x700>;
2023 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 2022 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
2024 clocks = <&cpg CPG_MOD 703>; 2023 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
2025 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 2024 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
2026 resets = <&cpg 703>; 2025 resets = <&cpg 703>, <&cpg 704>;
2027 #phy-cells = <0>; 2026 #phy-cells = <0>;
2028 status = "disabled"; 2027 status = "disabled";
2029 }; 2028 };
diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
index 3437d5e34f6a..83946ca2eba5 100644
--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
@@ -12,7 +12,7 @@
12#include <dt-bindings/interrupt-controller/arm-gic.h> 12#include <dt-bindings/interrupt-controller/arm-gic.h>
13#include <dt-bindings/power/r8a77965-sysc.h> 13#include <dt-bindings/power/r8a77965-sysc.h>
14 14
15#define CPG_AUDIO_CLK_I 10 15#define CPG_AUDIO_CLK_I R8A77965_CLK_S0D4
16 16
17/ { 17/ {
18 compatible = "renesas,r8a77965"; 18 compatible = "renesas,r8a77965";
@@ -350,7 +350,6 @@
350 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>; 350 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
351 resets = <&cpg 522>; 351 resets = <&cpg 522>;
352 #thermal-sensor-cells = <1>; 352 #thermal-sensor-cells = <1>;
353 status = "okay";
354 }; 353 };
355 354
356 intc_ex: interrupt-controller@e61c0000 { 355 intc_ex: interrupt-controller@e61c0000 {
@@ -593,7 +592,7 @@
593 "renesas,rcar-gen3-usbhs"; 592 "renesas,rcar-gen3-usbhs";
594 reg = <0 0xe6590000 0 0x100>; 593 reg = <0 0xe6590000 0 0x100>;
595 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 594 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
596 clocks = <&cpg CPG_MOD 704>; 595 clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
597 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>, 596 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
598 <&usb_dmac1 0>, <&usb_dmac1 1>; 597 <&usb_dmac1 0>, <&usb_dmac1 1>;
599 dma-names = "ch0", "ch1", "ch2", "ch3"; 598 dma-names = "ch0", "ch1", "ch2", "ch3";
@@ -601,7 +600,7 @@
601 phys = <&usb2_phy0>; 600 phys = <&usb2_phy0>;
602 phy-names = "usb"; 601 phy-names = "usb";
603 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>; 602 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
604 resets = <&cpg 704>; 603 resets = <&cpg 704>, <&cpg 703>;
605 status = "disabled"; 604 status = "disabled";
606 }; 605 };
607 606
@@ -1402,46 +1401,269 @@
1402 }; 1401 };
1403 1402
1404 rcar_sound: sound@ec500000 { 1403 rcar_sound: sound@ec500000 {
1404 /*
1405 * #sound-dai-cells is required
1406 *
1407 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
1408 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
1409 */
1410 /*
1411 * #clock-cells is required for audio_clkout0/1/2/3
1412 *
1413 * clkout : #clock-cells = <0>; <&rcar_sound>;
1414 * clkout0/1/2/3: #clock-cells = <1>; <&rcar_sound N>;
1415 */
1416 compatible = "renesas,rcar_sound-r8a77965", "renesas,rcar_sound-gen3";
1405 reg = <0 0xec500000 0 0x1000>, /* SCU */ 1417 reg = <0 0xec500000 0 0x1000>, /* SCU */
1406 <0 0xec5a0000 0 0x100>, /* ADG */ 1418 <0 0xec5a0000 0 0x100>, /* ADG */
1407 <0 0xec540000 0 0x1000>, /* SSIU */ 1419 <0 0xec540000 0 0x1000>, /* SSIU */
1408 <0 0xec541000 0 0x280>, /* SSI */ 1420 <0 0xec541000 0 0x280>, /* SSI */
1409 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/ 1421 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
1410 /* placeholder */ 1422 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1423
1424 clocks = <&cpg CPG_MOD 1005>,
1425 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
1426 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
1427 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
1428 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
1429 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
1430 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
1431 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
1432 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
1433 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
1434 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
1435 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
1436 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
1437 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
1438 <&audio_clk_a>, <&audio_clk_b>,
1439 <&audio_clk_c>,
1440 <&cpg CPG_CORE R8A77965_CLK_S0D4>;
1441 clock-names = "ssi-all",
1442 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1443 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1444 "ssi.1", "ssi.0",
1445 "src.9", "src.8", "src.7", "src.6",
1446 "src.5", "src.4", "src.3", "src.2",
1447 "src.1", "src.0",
1448 "mix.1", "mix.0",
1449 "ctu.1", "ctu.0",
1450 "dvc.0", "dvc.1",
1451 "clk_a", "clk_b", "clk_c", "clk_i";
1452 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
1453 resets = <&cpg 1005>,
1454 <&cpg 1006>, <&cpg 1007>,
1455 <&cpg 1008>, <&cpg 1009>,
1456 <&cpg 1010>, <&cpg 1011>,
1457 <&cpg 1012>, <&cpg 1013>,
1458 <&cpg 1014>, <&cpg 1015>;
1459 reset-names = "ssi-all",
1460 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1461 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1462 "ssi.1", "ssi.0";
1463 status = "disabled";
1411 1464
1412 rcar_sound,dvc { 1465 rcar_sound,dvc {
1413 dvc0: dvc-0 { 1466 dvc0: dvc-0 {
1467 dmas = <&audma1 0xbc>;
1468 dma-names = "tx";
1414 }; 1469 };
1415 dvc1: dvc-1 { 1470 dvc1: dvc-1 {
1471 dmas = <&audma1 0xbe>;
1472 dma-names = "tx";
1416 }; 1473 };
1417 }; 1474 };
1418 1475
1476 rcar_sound,mix {
1477 mix0: mix-0 { };
1478 mix1: mix-1 { };
1479 };
1480
1481 rcar_sound,ctu {
1482 ctu00: ctu-0 { };
1483 ctu01: ctu-1 { };
1484 ctu02: ctu-2 { };
1485 ctu03: ctu-3 { };
1486 ctu10: ctu-4 { };
1487 ctu11: ctu-5 { };
1488 ctu12: ctu-6 { };
1489 ctu13: ctu-7 { };
1490 };
1491
1419 rcar_sound,src { 1492 rcar_sound,src {
1420 src0: src-0 { 1493 src0: src-0 {
1494 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
1495 dmas = <&audma0 0x85>, <&audma1 0x9a>;
1496 dma-names = "rx", "tx";
1421 }; 1497 };
1422 src1: src-1 { 1498 src1: src-1 {
1499 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1500 dmas = <&audma0 0x87>, <&audma1 0x9c>;
1501 dma-names = "rx", "tx";
1502 };
1503 src2: src-2 {
1504 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1505 dmas = <&audma0 0x89>, <&audma1 0x9e>;
1506 dma-names = "rx", "tx";
1507 };
1508 src3: src-3 {
1509 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1510 dmas = <&audma0 0x8b>, <&audma1 0xa0>;
1511 dma-names = "rx", "tx";
1512 };
1513 src4: src-4 {
1514 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1515 dmas = <&audma0 0x8d>, <&audma1 0xb0>;
1516 dma-names = "rx", "tx";
1517 };
1518 src5: src-5 {
1519 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1520 dmas = <&audma0 0x8f>, <&audma1 0xb2>;
1521 dma-names = "rx", "tx";
1522 };
1523 src6: src-6 {
1524 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1525 dmas = <&audma0 0x91>, <&audma1 0xb4>;
1526 dma-names = "rx", "tx";
1527 };
1528 src7: src-7 {
1529 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1530 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1531 dma-names = "rx", "tx";
1532 };
1533 src8: src-8 {
1534 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1535 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1536 dma-names = "rx", "tx";
1537 };
1538 src9: src-9 {
1539 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
1540 dmas = <&audma0 0x97>, <&audma1 0xba>;
1541 dma-names = "rx", "tx";
1423 }; 1542 };
1424 }; 1543 };
1425 1544
1426 rcar_sound,ssi { 1545 rcar_sound,ssi {
1427 ssi0: ssi-0 { 1546 ssi0: ssi-0 {
1547 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
1548 dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
1549 dma-names = "rx", "tx", "rxu", "txu";
1428 }; 1550 };
1429 ssi1: ssi-1 { 1551 ssi1: ssi-1 {
1552 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1553 dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
1554 dma-names = "rx", "tx", "rxu", "txu";
1430 }; 1555 };
1431 }; 1556 ssi2: ssi-2 {
1432 1557 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1433 ports { 1558 dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
1434 #address-cells = <1>; 1559 dma-names = "rx", "tx", "rxu", "txu";
1435 #size-cells = <0>;
1436 port@0 {
1437 reg = <0>;
1438 }; 1560 };
1439 port@1 { 1561 ssi3: ssi-3 {
1440 reg = <1>; 1562 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1563 dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
1564 dma-names = "rx", "tx", "rxu", "txu";
1565 };
1566 ssi4: ssi-4 {
1567 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1568 dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
1569 dma-names = "rx", "tx", "rxu", "txu";
1570 };
1571 ssi5: ssi-5 {
1572 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1573 dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
1574 dma-names = "rx", "tx", "rxu", "txu";
1575 };
1576 ssi6: ssi-6 {
1577 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1578 dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
1579 dma-names = "rx", "tx", "rxu", "txu";
1580 };
1581 ssi7: ssi-7 {
1582 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1583 dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
1584 dma-names = "rx", "tx", "rxu", "txu";
1585 };
1586 ssi8: ssi-8 {
1587 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1588 dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
1589 dma-names = "rx", "tx", "rxu", "txu";
1590 };
1591 ssi9: ssi-9 {
1592 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1593 dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
1594 dma-names = "rx", "tx", "rxu", "txu";
1441 }; 1595 };
1442 }; 1596 };
1443 }; 1597 };
1444 1598
1599 audma0: dma-controller@ec700000 {
1600 compatible = "renesas,dmac-r8a77965",
1601 "renesas,rcar-dmac";
1602 reg = <0 0xec700000 0 0x10000>;
1603 interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH
1604 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
1605 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
1606 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
1607 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
1608 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
1609 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
1610 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
1611 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
1612 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
1613 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
1614 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
1615 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
1616 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH
1617 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH
1618 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
1619 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>;
1620 interrupt-names = "error",
1621 "ch0", "ch1", "ch2", "ch3",
1622 "ch4", "ch5", "ch6", "ch7",
1623 "ch8", "ch9", "ch10", "ch11",
1624 "ch12", "ch13", "ch14", "ch15";
1625 clocks = <&cpg CPG_MOD 502>;
1626 clock-names = "fck";
1627 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
1628 resets = <&cpg 502>;
1629 #dma-cells = <1>;
1630 dma-channels = <16>;
1631 };
1632
1633 audma1: dma-controller@ec720000 {
1634 compatible = "renesas,dmac-r8a77965",
1635 "renesas,rcar-dmac";
1636 reg = <0 0xec720000 0 0x10000>;
1637 interrupts = <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH
1638 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
1639 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
1640 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
1641 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
1642 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
1643 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
1644 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
1645 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
1646 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
1647 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH
1648 GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
1649 GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH
1650 GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH
1651 GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH
1652 GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH
1653 GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>;
1654 interrupt-names = "error",
1655 "ch0", "ch1", "ch2", "ch3",
1656 "ch4", "ch5", "ch6", "ch7",
1657 "ch8", "ch9", "ch10", "ch11",
1658 "ch12", "ch13", "ch14", "ch15";
1659 clocks = <&cpg CPG_MOD 501>;
1660 clock-names = "fck";
1661 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
1662 resets = <&cpg 501>;
1663 #dma-cells = <1>;
1664 dma-channels = <16>;
1665 };
1666
1445 xhci0: usb@ee000000 { 1667 xhci0: usb@ee000000 {
1446 compatible = "renesas,xhci-r8a77965", 1668 compatible = "renesas,xhci-r8a77965",
1447 "renesas,rcar-gen3-xhci"; 1669 "renesas,rcar-gen3-xhci";
@@ -1468,11 +1690,11 @@
1468 compatible = "generic-ohci"; 1690 compatible = "generic-ohci";
1469 reg = <0 0xee080000 0 0x100>; 1691 reg = <0 0xee080000 0 0x100>;
1470 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1692 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1471 clocks = <&cpg CPG_MOD 703>; 1693 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
1472 phys = <&usb2_phy0>; 1694 phys = <&usb2_phy0>;
1473 phy-names = "usb"; 1695 phy-names = "usb";
1474 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>; 1696 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
1475 resets = <&cpg 703>; 1697 resets = <&cpg 703>, <&cpg 704>;
1476 status = "disabled"; 1698 status = "disabled";
1477 }; 1699 };
1478 1700
@@ -1492,12 +1714,12 @@
1492 compatible = "generic-ehci"; 1714 compatible = "generic-ehci";
1493 reg = <0 0xee080100 0 0x100>; 1715 reg = <0 0xee080100 0 0x100>;
1494 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1716 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1495 clocks = <&cpg CPG_MOD 703>; 1717 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
1496 phys = <&usb2_phy0>; 1718 phys = <&usb2_phy0>;
1497 phy-names = "usb"; 1719 phy-names = "usb";
1498 companion = <&ohci0>; 1720 companion = <&ohci0>;
1499 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>; 1721 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
1500 resets = <&cpg 703>; 1722 resets = <&cpg 703>, <&cpg 704>;
1501 status = "disabled"; 1723 status = "disabled";
1502 }; 1724 };
1503 1725
@@ -1519,9 +1741,9 @@
1519 "renesas,rcar-gen3-usb2-phy"; 1741 "renesas,rcar-gen3-usb2-phy";
1520 reg = <0 0xee080200 0 0x700>; 1742 reg = <0 0xee080200 0 0x700>;
1521 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1743 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1522 clocks = <&cpg CPG_MOD 703>; 1744 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
1523 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>; 1745 power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
1524 resets = <&cpg 703>; 1746 resets = <&cpg 703>, <&cpg 704>;
1525 #phy-cells = <0>; 1747 #phy-cells = <0>;
1526 status = "disabled"; 1748 status = "disabled";
1527 }; 1749 };
diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index f4b02707390f..cba7885cf7c3 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -209,6 +209,76 @@
209 reg = <0 0xe6060000 0 0x504>; 209 reg = <0 0xe6060000 0 0x504>;
210 }; 210 };
211 211
212 cmt0: timer@e60f0000 {
213 compatible = "renesas,r8a77970-cmt0",
214 "renesas,rcar-gen3-cmt0";
215 reg = <0 0xe60f0000 0 0x1004>;
216 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
217 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
218 clocks = <&cpg CPG_MOD 303>;
219 clock-names = "fck";
220 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
221 resets = <&cpg 303>;
222 status = "disabled";
223 };
224
225 cmt1: timer@e6130000 {
226 compatible = "renesas,r8a77970-cmt1",
227 "renesas,rcar-gen3-cmt1";
228 reg = <0 0xe6130000 0 0x1004>;
229 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
230 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
231 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
232 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
233 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
234 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
235 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
236 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
237 clocks = <&cpg CPG_MOD 302>;
238 clock-names = "fck";
239 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
240 resets = <&cpg 302>;
241 status = "disabled";
242 };
243
244 cmt2: timer@e6140000 {
245 compatible = "renesas,r8a77970-cmt1",
246 "renesas,rcar-gen3-cmt1";
247 reg = <0 0xe6140000 0 0x1004>;
248 interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
249 <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
250 <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
251 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
252 <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
253 <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
254 <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>,
255 <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
256 clocks = <&cpg CPG_MOD 301>;
257 clock-names = "fck";
258 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
259 resets = <&cpg 301>;
260 status = "disabled";
261 };
262
263 cmt3: timer@e6148000 {
264 compatible = "renesas,r8a77970-cmt1",
265 "renesas,rcar-gen3-cmt1";
266 reg = <0 0xe6148000 0 0x1004>;
267 interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
268 <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
269 <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
270 <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>,
271 <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
272 <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
273 <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
274 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>;
275 clocks = <&cpg CPG_MOD 300>;
276 clock-names = "fck";
277 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
278 resets = <&cpg 300>;
279 status = "disabled";
280 };
281
212 cpg: clock-controller@e6150000 { 282 cpg: clock-controller@e6150000 {
213 compatible = "renesas,r8a77970-cpg-mssr"; 283 compatible = "renesas,r8a77970-cpg-mssr";
214 reg = <0 0xe6150000 0 0x1000>; 284 reg = <0 0xe6150000 0 0x1000>;
@@ -544,6 +614,16 @@
544 status = "disabled"; 614 status = "disabled";
545 }; 615 };
546 616
617 tpu: pwm@e6e80000 {
618 compatible = "renesas,tpu-r8a77970", "renesas,tpu";
619 reg = <0 0xe6e80000 0 0x148>;
620 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
621 clocks = <&cpg CPG_MOD 304>;
622 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
623 resets = <&cpg 304>;
624 #pwm-cells = <3>;
625 status = "disabled";
626 };
547 627
548 vin0: video@e6ef0000 { 628 vin0: video@e6ef0000 {
549 compatible = "renesas,vin-r8a77970"; 629 compatible = "renesas,vin-r8a77970";
diff --git a/arch/arm64/boot/dts/renesas/r8a77980.dtsi b/arch/arm64/boot/dts/renesas/r8a77980.dtsi
index fc2a1d62d773..d4952b527d14 100644
--- a/arch/arm64/boot/dts/renesas/r8a77980.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77980.dtsi
@@ -239,6 +239,76 @@
239 reg = <0 0xe6060000 0 0x50c>; 239 reg = <0 0xe6060000 0 0x50c>;
240 }; 240 };
241 241
242 cmt0: timer@e60f0000 {
243 compatible = "renesas,r8a77980-cmt0",
244 "renesas,rcar-gen3-cmt0";
245 reg = <0 0xe60f0000 0 0x1004>;
246 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
247 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
248 clocks = <&cpg CPG_MOD 303>;
249 clock-names = "fck";
250 power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
251 resets = <&cpg 303>;
252 status = "disabled";
253 };
254
255 cmt1: timer@e6130000 {
256 compatible = "renesas,r8a77980-cmt1",
257 "renesas,rcar-gen3-cmt1";
258 reg = <0 0xe6130000 0 0x1004>;
259 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
260 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
261 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
262 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
263 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
264 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
265 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
266 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
267 clocks = <&cpg CPG_MOD 302>;
268 clock-names = "fck";
269 power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
270 resets = <&cpg 302>;
271 status = "disabled";
272 };
273
274 cmt2: timer@e6140000 {
275 compatible = "renesas,r8a77980-cmt1",
276 "renesas,rcar-gen3-cmt1";
277 reg = <0 0xe6140000 0 0x1004>;
278 interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
279 <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
280 <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
281 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
282 <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
283 <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
284 <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>,
285 <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
286 clocks = <&cpg CPG_MOD 301>;
287 clock-names = "fck";
288 power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
289 resets = <&cpg 301>;
290 status = "disabled";
291 };
292
293 cmt3: timer@e6148000 {
294 compatible = "renesas,r8a77980-cmt1",
295 "renesas,rcar-gen3-cmt1";
296 reg = <0 0xe6148000 0 0x1004>;
297 interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
298 <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
299 <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
300 <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>,
301 <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
302 <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
303 <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
304 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>;
305 clocks = <&cpg CPG_MOD 300>;
306 clock-names = "fck";
307 power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
308 resets = <&cpg 300>;
309 status = "disabled";
310 };
311
242 cpg: clock-controller@e6150000 { 312 cpg: clock-controller@e6150000 {
243 compatible = "renesas,r8a77980-cpg-mssr"; 313 compatible = "renesas,r8a77980-cpg-mssr";
244 reg = <0 0xe6150000 0 0x1000>; 314 reg = <0 0xe6150000 0 0x1000>;
@@ -596,6 +666,17 @@
596 status = "disabled"; 666 status = "disabled";
597 }; 667 };
598 668
669 tpu: pwm@e6e80000 {
670 compatible = "renesas,tpu-r8a77980", "renesas,tpu";
671 reg = <0 0xe6e80000 0 0x148>;
672 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
673 clocks = <&cpg CPG_MOD 304>;
674 power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
675 resets = <&cpg 304>;
676 #pwm-cells = <3>;
677 status = "disabled";
678 };
679
599 vin0: video@e6ef0000 { 680 vin0: video@e6ef0000 {
600 compatible = "renesas,vin-r8a77980"; 681 compatible = "renesas,vin-r8a77980";
601 reg = <0 0xe6ef0000 0 0x1000>; 682 reg = <0 0xe6ef0000 0 0x1000>;
@@ -924,6 +1005,14 @@
924 resets = <&cpg 218>; 1005 resets = <&cpg 218>;
925 #dma-cells = <1>; 1006 #dma-cells = <1>;
926 dma-channels = <16>; 1007 dma-channels = <16>;
1008 iommus = <&ipmmu_ds1 0>, <&ipmmu_ds1 1>,
1009 <&ipmmu_ds1 2>, <&ipmmu_ds1 3>,
1010 <&ipmmu_ds1 4>, <&ipmmu_ds1 5>,
1011 <&ipmmu_ds1 6>, <&ipmmu_ds1 7>,
1012 <&ipmmu_ds1 8>, <&ipmmu_ds1 9>,
1013 <&ipmmu_ds1 10>, <&ipmmu_ds1 11>,
1014 <&ipmmu_ds1 12>, <&ipmmu_ds1 13>,
1015 <&ipmmu_ds1 14>, <&ipmmu_ds1 15>;
927 }; 1016 };
928 1017
929 dmac2: dma-controller@e7310000 { 1018 dmac2: dma-controller@e7310000 {
@@ -958,6 +1047,14 @@
958 resets = <&cpg 217>; 1047 resets = <&cpg 217>;
959 #dma-cells = <1>; 1048 #dma-cells = <1>;
960 dma-channels = <16>; 1049 dma-channels = <16>;
1050 iommus = <&ipmmu_ds1 16>, <&ipmmu_ds1 17>,
1051 <&ipmmu_ds1 18>, <&ipmmu_ds1 19>,
1052 <&ipmmu_ds1 20>, <&ipmmu_ds1 21>,
1053 <&ipmmu_ds1 22>, <&ipmmu_ds1 23>,
1054 <&ipmmu_ds1 24>, <&ipmmu_ds1 25>,
1055 <&ipmmu_ds1 26>, <&ipmmu_ds1 27>,
1056 <&ipmmu_ds1 28>, <&ipmmu_ds1 29>,
1057 <&ipmmu_ds1 30>, <&ipmmu_ds1 31>;
961 }; 1058 };
962 1059
963 gether: ethernet@e7400000 { 1060 gether: ethernet@e7400000 {
diff --git a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
index 31934a310ac3..f342dd85b152 100644
--- a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
@@ -28,6 +28,111 @@
28 /* first 128MB is reserved for secure area. */ 28 /* first 128MB is reserved for secure area. */
29 reg = <0x0 0x48000000 0x0 0x38000000>; 29 reg = <0x0 0x48000000 0x0 0x38000000>;
30 }; 30 };
31
32 cvbs-in {
33 compatible = "composite-video-connector";
34 label = "CVBS IN";
35
36 port {
37 cvbs_con: endpoint {
38 remote-endpoint = <&adv7482_ain7>;
39 };
40 };
41 };
42
43 hdmi-in {
44 compatible = "hdmi-connector";
45 label = "HDMI IN";
46 type = "a";
47
48 port {
49 hdmi_in_con: endpoint {
50 remote-endpoint = <&adv7482_hdmi>;
51 };
52 };
53 };
54
55 hdmi-out {
56 compatible = "hdmi-connector";
57 type = "a";
58
59 port {
60 hdmi_con_out: endpoint {
61 remote-endpoint = <&adv7511_out>;
62 };
63 };
64 };
65
66 lvds-decoder {
67 compatible = "thine,thc63lvd1024";
68 vcc-supply = <&reg_3p3v>;
69
70 ports {
71 #address-cells = <1>;
72 #size-cells = <0>;
73
74 port@0 {
75 reg = <0>;
76 thc63lvd1024_in: endpoint {
77 remote-endpoint = <&lvds0_out>;
78 };
79 };
80
81 port@2 {
82 reg = <2>;
83 thc63lvd1024_out: endpoint {
84 remote-endpoint = <&adv7511_in>;
85 };
86 };
87 };
88 };
89
90 vga {
91 compatible = "vga-connector";
92
93 port {
94 vga_in: endpoint {
95 remote-endpoint = <&adv7123_out>;
96 };
97 };
98 };
99
100 vga-encoder {
101 compatible = "adi,adv7123";
102
103 ports {
104 #address-cells = <1>;
105 #size-cells = <0>;
106
107 port@0 {
108 reg = <0>;
109 adv7123_in: endpoint {
110 remote-endpoint = <&du_out_rgb>;
111 };
112 };
113 port@1 {
114 reg = <1>;
115 adv7123_out: endpoint {
116 remote-endpoint = <&vga_in>;
117 };
118 };
119 };
120 };
121
122 reg_3p3v: regulator1 {
123 compatible = "regulator-fixed";
124 regulator-name = "fixed-3.3V";
125 regulator-min-microvolt = <3300000>;
126 regulator-max-microvolt = <3300000>;
127 regulator-boot-on;
128 regulator-always-on;
129 };
130
131 x13_clk: x13 {
132 compatible = "fixed-clock";
133 #clock-cells = <0>;
134 clock-frequency = <74250000>;
135 };
31}; 136};
32 137
33&avb { 138&avb {
@@ -47,6 +152,41 @@
47 }; 152 };
48}; 153};
49 154
155&csi40 {
156 status = "okay";
157
158 ports {
159 port@0 {
160 reg = <0>;
161
162 csi40_in: endpoint {
163 clock-lanes = <0>;
164 data-lanes = <1 2>;
165 remote-endpoint = <&adv7482_txa>;
166 };
167 };
168 };
169};
170
171&du {
172 pinctrl-0 = <&du_pins>;
173 pinctrl-names = "default";
174 status = "okay";
175
176 clocks = <&cpg CPG_MOD 724>,
177 <&cpg CPG_MOD 723>,
178 <&x13_clk>;
179 clock-names = "du.0", "du.1", "dclkin.0";
180
181 ports {
182 port@0 {
183 endpoint {
184 remote-endpoint = <&adv7123_in>;
185 };
186 };
187 };
188};
189
50&ehci0 { 190&ehci0 {
51 status = "okay"; 191 status = "okay";
52}; 192};
@@ -55,6 +195,105 @@
55 clock-frequency = <48000000>; 195 clock-frequency = <48000000>;
56}; 196};
57 197
198&i2c0 {
199 status = "okay";
200
201 hdmi-encoder@39 {
202 compatible = "adi,adv7511w";
203 reg = <0x39>;
204 interrupt-parent = <&gpio1>;
205 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
206
207 adi,input-depth = <8>;
208 adi,input-colorspace = "rgb";
209 adi,input-clock = "1x";
210 adi,input-style = <1>;
211 adi,input-justification = "evenly";
212
213 ports {
214 #address-cells = <1>;
215 #size-cells = <0>;
216
217 port@0 {
218 reg = <0>;
219 adv7511_in: endpoint {
220 remote-endpoint = <&thc63lvd1024_out>;
221 };
222 };
223
224 port@1 {
225 reg = <1>;
226 adv7511_out: endpoint {
227 remote-endpoint = <&hdmi_con_out>;
228 };
229 };
230 };
231 };
232
233 video-receiver@70 {
234 compatible = "adi,adv7482";
235 reg = <0x70>;
236
237 #address-cells = <1>;
238 #size-cells = <0>;
239
240 interrupt-parent = <&gpio0>;
241 interrupt-names = "intrq1", "intrq2";
242 interrupts = <7 IRQ_TYPE_LEVEL_LOW>,
243 <17 IRQ_TYPE_LEVEL_LOW>;
244
245 port@7 {
246 reg = <7>;
247
248 adv7482_ain7: endpoint {
249 remote-endpoint = <&cvbs_con>;
250 };
251 };
252
253 port@8 {
254 reg = <8>;
255
256 adv7482_hdmi: endpoint {
257 remote-endpoint = <&hdmi_in_con>;
258 };
259 };
260
261 port@a {
262 reg = <0xa>;
263
264 adv7482_txa: endpoint {
265 clock-lanes = <0>;
266 data-lanes = <1 2>;
267 remote-endpoint = <&csi40_in>;
268 };
269 };
270 };
271};
272
273&lvds0 {
274 status = "okay";
275
276 clocks = <&cpg CPG_MOD 727>,
277 <&x13_clk>,
278 <&extal_clk>;
279 clock-names = "fck", "dclkin.0", "extal";
280
281 ports {
282 port@1 {
283 lvds0_out: endpoint {
284 remote-endpoint = <&thc63lvd1024_in>;
285 };
286 };
287 };
288};
289
290&lvds1 {
291 clocks = <&cpg CPG_MOD 727>,
292 <&x13_clk>,
293 <&extal_clk>;
294 clock-names = "fck", "dclkin.0", "extal";
295};
296
58&ohci0 { 297&ohci0 {
59 status = "okay"; 298 status = "okay";
60}; 299};
@@ -67,6 +306,11 @@
67 }; 306 };
68 }; 307 };
69 308
309 du_pins: du {
310 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
311 function = "du";
312 };
313
70 pwm3_pins: pwm3 { 314 pwm3_pins: pwm3 {
71 groups = "pwm3_b"; 315 groups = "pwm3_b";
72 function = "pwm3"; 316 function = "pwm3";
@@ -118,6 +362,10 @@
118 status = "okay"; 362 status = "okay";
119}; 363};
120 364
365&vin4 {
366 status = "okay";
367};
368
121&xhci0 { 369&xhci0 {
122 pinctrl-0 = <&usb30_pins>; 370 pinctrl-0 = <&usb30_pins>;
123 pinctrl-names = "default"; 371 pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77990.dtsi b/arch/arm64/boot/dts/renesas/r8a77990.dtsi
index 5ce268cda03b..9509dc05665f 100644
--- a/arch/arm64/boot/dts/renesas/r8a77990.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77990.dtsi
@@ -373,6 +373,14 @@
373 resets = <&cpg 219>; 373 resets = <&cpg 219>;
374 #dma-cells = <1>; 374 #dma-cells = <1>;
375 dma-channels = <16>; 375 dma-channels = <16>;
376 iommus = <&ipmmu_ds0 0>, <&ipmmu_ds0 1>,
377 <&ipmmu_ds0 2>, <&ipmmu_ds0 3>,
378 <&ipmmu_ds0 4>, <&ipmmu_ds0 5>,
379 <&ipmmu_ds0 6>, <&ipmmu_ds0 7>,
380 <&ipmmu_ds0 8>, <&ipmmu_ds0 9>,
381 <&ipmmu_ds0 10>, <&ipmmu_ds0 11>,
382 <&ipmmu_ds0 12>, <&ipmmu_ds0 13>,
383 <&ipmmu_ds0 14>, <&ipmmu_ds0 15>;
376 }; 384 };
377 385
378 dmac1: dma-controller@e7300000 { 386 dmac1: dma-controller@e7300000 {
@@ -407,6 +415,14 @@
407 resets = <&cpg 218>; 415 resets = <&cpg 218>;
408 #dma-cells = <1>; 416 #dma-cells = <1>;
409 dma-channels = <16>; 417 dma-channels = <16>;
418 iommus = <&ipmmu_ds1 0>, <&ipmmu_ds1 1>,
419 <&ipmmu_ds1 2>, <&ipmmu_ds1 3>,
420 <&ipmmu_ds1 4>, <&ipmmu_ds1 5>,
421 <&ipmmu_ds1 6>, <&ipmmu_ds1 7>,
422 <&ipmmu_ds1 8>, <&ipmmu_ds1 9>,
423 <&ipmmu_ds1 10>, <&ipmmu_ds1 11>,
424 <&ipmmu_ds1 12>, <&ipmmu_ds1 13>,
425 <&ipmmu_ds1 14>, <&ipmmu_ds1 15>;
410 }; 426 };
411 427
412 dmac2: dma-controller@e7310000 { 428 dmac2: dma-controller@e7310000 {
@@ -441,6 +457,14 @@
441 resets = <&cpg 217>; 457 resets = <&cpg 217>;
442 #dma-cells = <1>; 458 #dma-cells = <1>;
443 dma-channels = <16>; 459 dma-channels = <16>;
460 iommus = <&ipmmu_ds1 16>, <&ipmmu_ds1 17>,
461 <&ipmmu_ds1 18>, <&ipmmu_ds1 19>,
462 <&ipmmu_ds1 20>, <&ipmmu_ds1 21>,
463 <&ipmmu_ds1 22>, <&ipmmu_ds1 23>,
464 <&ipmmu_ds1 24>, <&ipmmu_ds1 25>,
465 <&ipmmu_ds1 26>, <&ipmmu_ds1 27>,
466 <&ipmmu_ds1 28>, <&ipmmu_ds1 29>,
467 <&ipmmu_ds1 30>, <&ipmmu_ds1 31>;
444 }; 468 };
445 469
446 ipmmu_ds0: mmu@e6740000 { 470 ipmmu_ds0: mmu@e6740000 {
@@ -769,11 +793,11 @@
769 compatible = "generic-ohci"; 793 compatible = "generic-ohci";
770 reg = <0 0xee080000 0 0x100>; 794 reg = <0 0xee080000 0 0x100>;
771 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 795 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
772 clocks = <&cpg CPG_MOD 703>; 796 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
773 phys = <&usb2_phy0>; 797 phys = <&usb2_phy0>;
774 phy-names = "usb"; 798 phy-names = "usb";
775 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; 799 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
776 resets = <&cpg 703>; 800 resets = <&cpg 703>, <&cpg 704>;
777 status = "disabled"; 801 status = "disabled";
778 }; 802 };
779 803
@@ -781,12 +805,12 @@
781 compatible = "generic-ehci"; 805 compatible = "generic-ehci";
782 reg = <0 0xee080100 0 0x100>; 806 reg = <0 0xee080100 0 0x100>;
783 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 807 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
784 clocks = <&cpg CPG_MOD 703>; 808 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
785 phys = <&usb2_phy0>; 809 phys = <&usb2_phy0>;
786 phy-names = "usb"; 810 phy-names = "usb";
787 companion = <&ohci0>; 811 companion = <&ohci0>;
788 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; 812 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
789 resets = <&cpg 703>; 813 resets = <&cpg 703>, <&cpg 704>;
790 status = "disabled"; 814 status = "disabled";
791 }; 815 };
792 816
@@ -795,9 +819,9 @@
795 "renesas,rcar-gen3-usb2-phy"; 819 "renesas,rcar-gen3-usb2-phy";
796 reg = <0 0xee080200 0 0x700>; 820 reg = <0 0xee080200 0 0x700>;
797 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 821 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
798 clocks = <&cpg CPG_MOD 703>; 822 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
799 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; 823 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
800 resets = <&cpg 703>; 824 resets = <&cpg 703>, <&cpg 704>;
801 #phy-cells = <0>; 825 #phy-cells = <0>;
802 status = "disabled"; 826 status = "disabled";
803 }; 827 };
@@ -819,6 +843,82 @@
819 resets = <&cpg 408>; 843 resets = <&cpg 408>;
820 }; 844 };
821 845
846 vspb0: vsp@fe960000 {
847 compatible = "renesas,vsp2";
848 reg = <0 0xfe960000 0 0x8000>;
849 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
850 clocks = <&cpg CPG_MOD 626>;
851 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
852 resets = <&cpg 626>;
853 renesas,fcp = <&fcpvb0>;
854 };
855
856 fcpvb0: fcp@fe96f000 {
857 compatible = "renesas,fcpv";
858 reg = <0 0xfe96f000 0 0x200>;
859 clocks = <&cpg CPG_MOD 607>;
860 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
861 resets = <&cpg 607>;
862 iommus = <&ipmmu_vp0 5>;
863 };
864
865 vspi0: vsp@fe9a0000 {
866 compatible = "renesas,vsp2";
867 reg = <0 0xfe9a0000 0 0x8000>;
868 interrupts = <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>;
869 clocks = <&cpg CPG_MOD 631>;
870 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
871 resets = <&cpg 631>;
872 renesas,fcp = <&fcpvi0>;
873 };
874
875 fcpvi0: fcp@fe9af000 {
876 compatible = "renesas,fcpv";
877 reg = <0 0xfe9af000 0 0x200>;
878 clocks = <&cpg CPG_MOD 611>;
879 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
880 resets = <&cpg 611>;
881 iommus = <&ipmmu_vp0 8>;
882 };
883
884 vspd0: vsp@fea20000 {
885 compatible = "renesas,vsp2";
886 reg = <0 0xfea20000 0 0x7000>;
887 interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
888 clocks = <&cpg CPG_MOD 623>;
889 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
890 resets = <&cpg 623>;
891 renesas,fcp = <&fcpvd0>;
892 };
893
894 fcpvd0: fcp@fea27000 {
895 compatible = "renesas,fcpv";
896 reg = <0 0xfea27000 0 0x200>;
897 clocks = <&cpg CPG_MOD 603>;
898 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
899 resets = <&cpg 603>;
900 iommus = <&ipmmu_vi0 8>;
901 };
902
903 vspd1: vsp@fea28000 {
904 compatible = "renesas,vsp2";
905 reg = <0 0xfea28000 0 0x7000>;
906 interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
907 clocks = <&cpg CPG_MOD 622>;
908 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
909 resets = <&cpg 622>;
910 renesas,fcp = <&fcpvd1>;
911 };
912
913 fcpvd1: fcp@fea2f000 {
914 compatible = "renesas,fcpv";
915 reg = <0 0xfea2f000 0 0x200>;
916 clocks = <&cpg CPG_MOD 602>;
917 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
918 resets = <&cpg 602>;
919 iommus = <&ipmmu_vi0 9>;
920 };
921
822 csi40: csi2@feaa0000 { 922 csi40: csi2@feaa0000 {
823 compatible = "renesas,r8a77990-csi2", "renesas,rcar-gen3-csi2"; 923 compatible = "renesas,r8a77990-csi2", "renesas,rcar-gen3-csi2";
824 reg = <0 0xfeaa0000 0 0x10000>; 924 reg = <0 0xfeaa0000 0 0x10000>;
@@ -850,6 +950,97 @@
850 }; 950 };
851 }; 951 };
852 952
953 du: display@feb00000 {
954 compatible = "renesas,du-r8a77990";
955 reg = <0 0xfeb00000 0 0x80000>;
956 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
957 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
958 clocks = <&cpg CPG_MOD 724>,
959 <&cpg CPG_MOD 723>;
960 clock-names = "du.0", "du.1";
961 vsps = <&vspd0 0 &vspd1 0>;
962 status = "disabled";
963
964 ports {
965 #address-cells = <1>;
966 #size-cells = <0>;
967
968 port@0 {
969 reg = <0>;
970 du_out_rgb: endpoint {
971 };
972 };
973
974 port@1 {
975 reg = <1>;
976 du_out_lvds0: endpoint {
977 remote-endpoint = <&lvds0_in>;
978 };
979 };
980
981 port@2 {
982 reg = <2>;
983 du_out_lvds1: endpoint {
984 remote-endpoint = <&lvds1_in>;
985 };
986 };
987 };
988 };
989
990 lvds0: lvds-encoder@feb90000 {
991 compatible = "renesas,r8a77990-lvds";
992 reg = <0 0xfeb90000 0 0x20>;
993 clocks = <&cpg CPG_MOD 727>;
994 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
995 resets = <&cpg 727>;
996 status = "disabled";
997
998 ports {
999 #address-cells = <1>;
1000 #size-cells = <0>;
1001
1002 port@0 {
1003 reg = <0>;
1004 lvds0_in: endpoint {
1005 remote-endpoint = <&du_out_lvds0>;
1006 };
1007 };
1008
1009 port@1 {
1010 reg = <1>;
1011 lvds0_out: endpoint {
1012 };
1013 };
1014 };
1015 };
1016
1017 lvds1: lvds-encoder@feb90100 {
1018 compatible = "renesas,r8a77990-lvds";
1019 reg = <0 0xfeb90100 0 0x20>;
1020 clocks = <&cpg CPG_MOD 727>;
1021 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
1022 resets = <&cpg 726>;
1023 status = "disabled";
1024
1025 ports {
1026 #address-cells = <1>;
1027 #size-cells = <0>;
1028
1029 port@0 {
1030 reg = <0>;
1031 lvds1_in: endpoint {
1032 remote-endpoint = <&du_out_lvds1>;
1033 };
1034 };
1035
1036 port@1 {
1037 reg = <1>;
1038 lvds1_out: endpoint {
1039 };
1040 };
1041 };
1042 };
1043
853 prr: chipid@fff00044 { 1044 prr: chipid@fff00044 {
854 compatible = "renesas,prr"; 1045 compatible = "renesas,prr";
855 reg = <0 0xfff00044 0 4>; 1046 reg = <0 0xfff00044 0 4>;
diff --git a/arch/arm64/boot/dts/renesas/r8a77995-draak.dts b/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
index e39b73005381..2405eaad0296 100644
--- a/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
@@ -2,7 +2,7 @@
2/* 2/*
3 * Device Tree Source for the Draak board 3 * Device Tree Source for the Draak board
4 * 4 *
5 * Copyright (C) 2016 Renesas Electronics Corp. 5 * Copyright (C) 2016-2018 Renesas Electronics Corp.
6 * Copyright (C) 2017 Glider bvba 6 * Copyright (C) 2017 Glider bvba
7 */ 7 */
8 8
@@ -45,6 +45,41 @@
45 }; 45 };
46 }; 46 };
47 47
48 hdmi-out {
49 compatible = "hdmi-connector";
50 type = "a";
51
52 port {
53 hdmi_con_out: endpoint {
54 remote-endpoint = <&adv7511_out>;
55 };
56 };
57 };
58
59 lvds-decoder {
60 compatible = "thine,thc63lvd1024";
61 vcc-supply = <&reg_3p3v>;
62
63 ports {
64 #address-cells = <1>;
65 #size-cells = <0>;
66
67 port@0 {
68 reg = <0>;
69 thc63lvd1024_in: endpoint {
70 remote-endpoint = <&lvds0_out>;
71 };
72 };
73
74 port@2 {
75 reg = <2>;
76 thc63lvd1024_out: endpoint {
77 remote-endpoint = <&adv7511_in>;
78 };
79 };
80 };
81 };
82
48 memory@48000000 { 83 memory@48000000 {
49 device_type = "memory"; 84 device_type = "memory";
50 /* first 128MB is reserved for secure area. */ 85 /* first 128MB is reserved for secure area. */
@@ -190,6 +225,43 @@
190 225
191 }; 226 };
192 227
228 hdmi-encoder@39 {
229 compatible = "adi,adv7511w";
230 reg = <0x39>, <0x3f>, <0x38>, <0x3c>;
231 reg-names = "main", "edid", "packet", "cec";
232 interrupt-parent = <&gpio1>;
233 interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
234
235 /* Depends on LVDS */
236 max-clock = <135000000>;
237 min-vrefresh = <50>;
238
239 adi,input-depth = <8>;
240 adi,input-colorspace = "rgb";
241 adi,input-clock = "1x";
242 adi,input-style = <1>;
243 adi,input-justification = "evenly";
244
245 ports {
246 #address-cells = <1>;
247 #size-cells = <0>;
248
249 port@0 {
250 reg = <0>;
251 adv7511_in: endpoint {
252 remote-endpoint = <&thc63lvd1024_out>;
253 };
254 };
255
256 port@1 {
257 reg = <1>;
258 adv7511_out: endpoint {
259 remote-endpoint = <&hdmi_con_out>;
260 };
261 };
262 };
263 };
264
193 hdmi-decoder@4c { 265 hdmi-decoder@4c {
194 compatible = "adi,adv7612"; 266 compatible = "adi,adv7612";
195 reg = <0x4c>; 267 reg = <0x4c>;
@@ -240,6 +312,30 @@
240 status = "okay"; 312 status = "okay";
241}; 313};
242 314
315&lvds0 {
316 status = "okay";
317
318 clocks = <&cpg CPG_MOD 727>,
319 <&x12_clk>,
320 <&extal_clk>;
321 clock-names = "fck", "dclkin.0", "extal";
322
323 ports {
324 port@1 {
325 lvds0_out: endpoint {
326 remote-endpoint = <&thc63lvd1024_in>;
327 };
328 };
329 };
330};
331
332&lvds1 {
333 clocks = <&cpg CPG_MOD 727>,
334 <&x12_clk>,
335 <&extal_clk>;
336 clock-names = "fck", "dclkin.0", "extal";
337};
338
243&ohci0 { 339&ohci0 {
244 status = "okay"; 340 status = "okay";
245}; 341};
diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
index 625ba2b302c7..214f4954b321 100644
--- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
@@ -829,11 +829,11 @@
829 compatible = "generic-ohci"; 829 compatible = "generic-ohci";
830 reg = <0 0xee080000 0 0x100>; 830 reg = <0 0xee080000 0 0x100>;
831 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 831 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
832 clocks = <&cpg CPG_MOD 703>; 832 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
833 phys = <&usb2_phy0>; 833 phys = <&usb2_phy0>;
834 phy-names = "usb"; 834 phy-names = "usb";
835 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; 835 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
836 resets = <&cpg 703>; 836 resets = <&cpg 703>, <&cpg 704>;
837 status = "disabled"; 837 status = "disabled";
838 }; 838 };
839 839
@@ -841,12 +841,12 @@
841 compatible = "generic-ehci"; 841 compatible = "generic-ehci";
842 reg = <0 0xee080100 0 0x100>; 842 reg = <0 0xee080100 0 0x100>;
843 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 843 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
844 clocks = <&cpg CPG_MOD 703>; 844 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
845 phys = <&usb2_phy0>; 845 phys = <&usb2_phy0>;
846 phy-names = "usb"; 846 phy-names = "usb";
847 companion = <&ohci0>; 847 companion = <&ohci0>;
848 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; 848 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
849 resets = <&cpg 703>; 849 resets = <&cpg 703>, <&cpg 704>;
850 status = "disabled"; 850 status = "disabled";
851 }; 851 };
852 852
@@ -855,9 +855,9 @@
855 "renesas,rcar-gen3-usb2-phy"; 855 "renesas,rcar-gen3-usb2-phy";
856 reg = <0 0xee080200 0 0x700>; 856 reg = <0 0xee080200 0 0x700>;
857 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 857 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
858 clocks = <&cpg CPG_MOD 703>; 858 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
859 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; 859 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
860 resets = <&cpg 703>; 860 resets = <&cpg 703>, <&cpg 704>;
861 #phy-cells = <0>; 861 #phy-cells = <0>;
862 status = "disabled"; 862 status = "disabled";
863 }; 863 };
@@ -972,12 +972,68 @@
972 port@1 { 972 port@1 {
973 reg = <1>; 973 reg = <1>;
974 du_out_lvds0: endpoint { 974 du_out_lvds0: endpoint {
975 remote-endpoint = <&lvds0_in>;
975 }; 976 };
976 }; 977 };
977 978
978 port@2 { 979 port@2 {
979 reg = <2>; 980 reg = <2>;
980 du_out_lvds1: endpoint { 981 du_out_lvds1: endpoint {
982 remote-endpoint = <&lvds1_in>;
983 };
984 };
985 };
986 };
987
988 lvds0: lvds-encoder@feb90000 {
989 compatible = "renesas,r8a77995-lvds";
990 reg = <0 0xfeb90000 0 0x20>;
991 clocks = <&cpg CPG_MOD 727>;
992 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
993 resets = <&cpg 727>;
994 status = "disabled";
995
996 ports {
997 #address-cells = <1>;
998 #size-cells = <0>;
999
1000 port@0 {
1001 reg = <0>;
1002 lvds0_in: endpoint {
1003 remote-endpoint = <&du_out_lvds0>;
1004 };
1005 };
1006
1007 port@1 {
1008 reg = <1>;
1009 lvds0_out: endpoint {
1010 };
1011 };
1012 };
1013 };
1014
1015 lvds1: lvds-encoder@feb90100 {
1016 compatible = "renesas,r8a77995-lvds";
1017 reg = <0 0xfeb90100 0 0x20>;
1018 clocks = <&cpg CPG_MOD 727>;
1019 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
1020 resets = <&cpg 726>;
1021 status = "disabled";
1022
1023 ports {
1024 #address-cells = <1>;
1025 #size-cells = <0>;
1026
1027 port@0 {
1028 reg = <0>;
1029 lvds1_in: endpoint {
1030 remote-endpoint = <&du_out_lvds1>;
1031 };
1032 };
1033
1034 port@1 {
1035 reg = <1>;
1036 lvds1_out: endpoint {
981 }; 1037 };
982 }; 1038 };
983 }; 1039 };
diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
index d298f7c9ada1..7f91ff524109 100644
--- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
@@ -474,6 +474,8 @@
474&i2c_dvfs { 474&i2c_dvfs {
475 status = "okay"; 475 status = "okay";
476 476
477 clock-frequency = <400000>;
478
477 pmic: pmic@30 { 479 pmic: pmic@30 {
478 pinctrl-0 = <&irq0_pins>; 480 pinctrl-0 = <&irq0_pins>;
479 pinctrl-names = "default"; 481 pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi b/arch/arm64/boot/dts/renesas/ulcb.dtsi
index 7e6078508ba0..89daca7356df 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -18,6 +18,7 @@
18 }; 18 };
19 19
20 chosen { 20 chosen {
21 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
21 stdout-path = "serial0:115200n8"; 22 stdout-path = "serial0:115200n8";
22 }; 23 };
23 24
@@ -241,6 +242,8 @@
241&i2c_dvfs { 242&i2c_dvfs {
242 status = "okay"; 243 status = "okay";
243 244
245 clock-frequency = <400000>;
246
244 pmic: pmic@30 { 247 pmic: pmic@30 {
245 pinctrl-0 = <&irq0_pins>; 248 pinctrl-0 = <&irq0_pins>;
246 pinctrl-names = "default"; 249 pinctrl-names = "default";