All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jernej Skrabec <jernej.skrabec@siol.net>
To: maxime.ripard@bootlin.com, wens@csie.org, robh+dt@kernel.org
Cc: airlied@linux.ie, gustavo@padovan.org,
	maarten.lankhorst@linux.intel.com, seanpaul@chromium.org,
	mark.rutland@arm.com, dri-devel@lists.freedesktop.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-sunxi@googlegroups.com
Subject: [PATCH v3 23/24] ARM: dts: sun8i: r40: Add HDMI pipeline
Date: Mon, 25 Jun 2018 14:03:03 +0200	[thread overview]
Message-ID: <20180625120304.7543-24-jernej.skrabec@siol.net> (raw)
In-Reply-To: <20180625120304.7543-1-jernej.skrabec@siol.net>

Add all entries needed for HDMI to function properly.

Since R40 has highly configurable pipeline, both mixers and both TCON
TVs are added. Board specific DT should then connect them together
trough TCON TOP muxers to best fit the purpose of the board.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
 arch/arm/boot/dts/sun8i-r40.dtsi | 269 +++++++++++++++++++++++++++++++
 1 file changed, 269 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
index 173dcc1652d2..a2a75fb04caf 100644
--- a/arch/arm/boot/dts/sun8i-r40.dtsi
+++ b/arch/arm/boot/dts/sun8i-r40.dtsi
@@ -42,8 +42,11 @@
  */
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/sun8i-de2.h>
 #include <dt-bindings/clock/sun8i-r40-ccu.h>
+#include <dt-bindings/clock/sun8i-tcon-top.h>
 #include <dt-bindings/reset/sun8i-r40-ccu.h>
+#include <dt-bindings/reset/sun8i-de2.h>
 
 / {
 	#address-cells = <1>;
@@ -99,12 +102,76 @@
 		};
 	};
 
+	de: display-engine {
+		compatible = "allwinner,sun8i-r40-display-engine",
+			     "allwinner,sun8i-h3-display-engine";
+		allwinner,pipelines = <&mixer0>, <&mixer1>;
+		status = "disabled";
+	};
+
 	soc {
 		compatible = "simple-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges;
 
+		display_clocks: clock@1000000 {
+			compatible = "allwinner,sun8i-r40-de2-clk",
+				     "allwinner,sun8i-h3-de2-clk";
+			reg = <0x01000000 0x100000>;
+			clocks = <&ccu CLK_DE>,
+				 <&ccu CLK_BUS_DE>;
+			clock-names = "mod",
+				      "bus";
+			resets = <&ccu RST_BUS_DE>;
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+		};
+
+		mixer0: mixer@1100000 {
+			compatible = "allwinner,sun8i-r40-de2-mixer-0";
+			reg = <0x01100000 0x100000>;
+			clocks = <&display_clocks CLK_BUS_MIXER0>,
+				 <&display_clocks CLK_MIXER0>;
+			clock-names = "bus",
+				      "mod";
+			resets = <&display_clocks RST_MIXER0>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				mixer0_out: port@1 {
+					reg = <1>;
+					mixer0_out_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_mixer0_in_mixer0>;
+					};
+				};
+			};
+		};
+
+		mixer1: mixer@1200000 {
+			compatible = "allwinner,sun8i-r40-de2-mixer-1";
+			reg = <0x01200000 0x100000>;
+			clocks = <&display_clocks CLK_BUS_MIXER1>,
+				 <&display_clocks CLK_MIXER1>;
+			clock-names = "bus",
+				      "mod";
+			resets = <&display_clocks RST_WB>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				mixer1_out: port@1 {
+					reg = <1>;
+					mixer1_out_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_mixer1_in_mixer1>;
+					};
+				};
+			};
+		};
+
 		nmi_intc: interrupt-controller@1c00030 {
 			compatible = "allwinner,sun7i-a20-sc-nmi";
 			interrupt-controller;
@@ -451,6 +518,163 @@
 			#size-cells = <0>;
 		};
 
+		tcon_top: tcon-top@1c70000 {
+			compatible = "allwinner,sun8i-r40-tcon-top";
+			reg = <0x01c70000 0x1000>;
+			clocks = <&ccu CLK_BUS_TCON_TOP>,
+				 <&ccu CLK_TCON_TV0>,
+				 <&ccu CLK_TVE0>,
+				 <&ccu CLK_TCON_TV1>,
+				 <&ccu CLK_TVE1>,
+				 <&ccu CLK_DSI_DPHY>;
+			clock-names = "bus",
+				      "tcon-tv0",
+				      "tve0",
+				      "tcon-tv1",
+				      "tve1",
+				      "dsi";
+			clock-output-names = "tcon-top-tv0",
+					     "tcon-top-tv1",
+					     "tcon-top-dsi";
+			resets = <&ccu RST_BUS_TCON_TOP>;
+			#clock-cells = <1>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_top_mixer0_in: port@0 {
+					reg = <0>;
+
+					tcon_top_mixer0_in_mixer0: endpoint {
+						remote-endpoint = <&mixer0_out_tcon_top>;
+					};
+				};
+
+				tcon_top_mixer0_out: port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <1>;
+
+					tcon_top_mixer0_out_tcon_lcd0: endpoint@0 {
+						reg = <0>;
+					};
+
+					tcon_top_mixer0_out_tcon_lcd1: endpoint@1 {
+						reg = <1>;
+					};
+
+					tcon_top_mixer0_out_tcon_tv0: endpoint@2 {
+						reg = <2>;
+					};
+
+					tcon_top_mixer0_out_tcon_tv1: endpoint@3 {
+						reg = <3>;
+					};
+				};
+
+				tcon_top_mixer1_in: port@2 {
+					reg = <2>;
+
+					tcon_top_mixer1_in_mixer1: endpoint {
+						remote-endpoint = <&mixer1_out_tcon_top>;
+					};
+				};
+
+				tcon_top_mixer1_out: port@3 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <3>;
+
+					tcon_top_mixer1_out_tcon_lcd0: endpoint@0 {
+						reg = <0>;
+					};
+
+					tcon_top_mixer1_out_tcon_lcd1: endpoint@1 {
+						reg = <1>;
+					};
+
+					tcon_top_mixer1_out_tcon_tv0: endpoint@2 {
+						reg = <2>;
+					};
+
+					tcon_top_mixer1_out_tcon_tv1: endpoint@3 {
+						reg = <3>;
+					};
+				};
+
+				tcon_top_hdmi_in: port@4 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <4>;
+
+					tcon_top_hdmi_in_tcon_tv0: endpoint@0 {
+						reg = <0>;
+					};
+
+					tcon_top_hdmi_in_tcon_tv1: endpoint@1 {
+						reg = <1>;
+					};
+				};
+
+				tcon_top_hdmi_out: port@5 {
+					reg = <5>;
+
+					tcon_top_hdmi_out_hdmi: endpoint {
+						remote-endpoint = <&hdmi_in_tcon_top>;
+					};
+				};
+			};
+		};
+
+		tcon_tv0: lcd-controller@1c73000 {
+			compatible = "allwinner,sun8i-r40-tcon-tv",
+				     "allwinner,sun8i-a83t-tcon-tv";
+			reg = <0x01c73000 0x1000>;
+			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>;
+			clock-names = "ahb", "tcon-ch1";
+			resets = <&ccu RST_BUS_TCON_TV0>;
+			reset-names = "lcd";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_tv0_in: port@0 {
+					reg = <0>;
+				};
+
+				tcon_tv0_out: port@1 {
+					reg = <1>;
+				};
+			};
+		};
+
+		tcon_tv1: lcd-controller@1c74000 {
+			compatible = "allwinner,sun8i-r40-tcon-tv",
+				     "allwinner,sun8i-a83t-tcon-tv";
+			reg = <0x01c74000 0x1000>;
+			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_TCON_TV1>, <&tcon_top 1>;
+			clock-names = "ahb", "tcon-ch1";
+			resets = <&ccu RST_BUS_TCON_TV1>;
+			reset-names = "lcd";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_tv1_in: port@0 {
+					reg = <0>;
+				};
+
+				tcon_tv1_out: port@1 {
+					reg = <1>;
+				};
+			};
+		};
+
 		gic: interrupt-controller@1c81000 {
 			compatible = "arm,gic-400";
 			reg = <0x01c81000 0x1000>,
@@ -461,6 +685,51 @@
 			#interrupt-cells = <3>;
 			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
 		};
+
+		hdmi: hdmi@1ee0000 {
+			compatible = "allwinner,sun8i-r40-dw-hdmi",
+				     "allwinner,sun8i-a83t-dw-hdmi";
+			reg = <0x01ee0000 0x10000>;
+			reg-io-width = <1>;
+			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_HDMI0>, <&ccu CLK_HDMI_SLOW>,
+				 <&ccu CLK_HDMI>;
+			clock-names = "iahb", "isfr", "tmds";
+			resets = <&ccu RST_BUS_HDMI1>;
+			reset-names = "ctrl";
+			phys = <&hdmi_phy>;
+			phy-names = "hdmi-phy";
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				hdmi_in: port@0 {
+					reg = <0>;
+
+					hdmi_in_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_hdmi_out_hdmi>;
+					};
+				};
+
+				hdmi_out: port@1 {
+					reg = <1>;
+				};
+			};
+		};
+
+		hdmi_phy: hdmi-phy@1ef0000 {
+			compatible = "allwinner,sun8i-r40-hdmi-phy",
+				     "allwinner,sun50i-a64-hdmi-phy";
+			reg = <0x01ef0000 0x10000>;
+			clocks = <&ccu CLK_BUS_HDMI1>, <&ccu CLK_HDMI_SLOW>,
+				 <&ccu 7>, <&ccu 16>;
+			clock-names = "bus", "mod", "pll-0", "pll-1";
+			resets = <&ccu RST_BUS_HDMI0>;
+			reset-names = "phy";
+			#phy-cells = <0>;
+		};
 	};
 
 	timer {
-- 
2.18.0


WARNING: multiple messages have this Message-ID (diff)
From: Jernej Skrabec <jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
To: maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org,
	wens-jdAy2FN1RRM@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Cc: airlied-cv59FeDIM0c@public.gmane.org,
	gustavo-THi1TnShQwVAfugRpC6u6w@public.gmane.org,
	maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: [PATCH v3 23/24] ARM: dts: sun8i: r40: Add HDMI pipeline
Date: Mon, 25 Jun 2018 14:03:03 +0200	[thread overview]
Message-ID: <20180625120304.7543-24-jernej.skrabec@siol.net> (raw)
In-Reply-To: <20180625120304.7543-1-jernej.skrabec-gGgVlfcn5nU@public.gmane.org>

Add all entries needed for HDMI to function properly.

Since R40 has highly configurable pipeline, both mixers and both TCON
TVs are added. Board specific DT should then connect them together
trough TCON TOP muxers to best fit the purpose of the board.

Signed-off-by: Jernej Skrabec <jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
---
 arch/arm/boot/dts/sun8i-r40.dtsi | 269 +++++++++++++++++++++++++++++++
 1 file changed, 269 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
index 173dcc1652d2..a2a75fb04caf 100644
--- a/arch/arm/boot/dts/sun8i-r40.dtsi
+++ b/arch/arm/boot/dts/sun8i-r40.dtsi
@@ -42,8 +42,11 @@
  */
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/sun8i-de2.h>
 #include <dt-bindings/clock/sun8i-r40-ccu.h>
+#include <dt-bindings/clock/sun8i-tcon-top.h>
 #include <dt-bindings/reset/sun8i-r40-ccu.h>
+#include <dt-bindings/reset/sun8i-de2.h>
 
 / {
 	#address-cells = <1>;
@@ -99,12 +102,76 @@
 		};
 	};
 
+	de: display-engine {
+		compatible = "allwinner,sun8i-r40-display-engine",
+			     "allwinner,sun8i-h3-display-engine";
+		allwinner,pipelines = <&mixer0>, <&mixer1>;
+		status = "disabled";
+	};
+
 	soc {
 		compatible = "simple-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges;
 
+		display_clocks: clock@1000000 {
+			compatible = "allwinner,sun8i-r40-de2-clk",
+				     "allwinner,sun8i-h3-de2-clk";
+			reg = <0x01000000 0x100000>;
+			clocks = <&ccu CLK_DE>,
+				 <&ccu CLK_BUS_DE>;
+			clock-names = "mod",
+				      "bus";
+			resets = <&ccu RST_BUS_DE>;
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+		};
+
+		mixer0: mixer@1100000 {
+			compatible = "allwinner,sun8i-r40-de2-mixer-0";
+			reg = <0x01100000 0x100000>;
+			clocks = <&display_clocks CLK_BUS_MIXER0>,
+				 <&display_clocks CLK_MIXER0>;
+			clock-names = "bus",
+				      "mod";
+			resets = <&display_clocks RST_MIXER0>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				mixer0_out: port@1 {
+					reg = <1>;
+					mixer0_out_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_mixer0_in_mixer0>;
+					};
+				};
+			};
+		};
+
+		mixer1: mixer@1200000 {
+			compatible = "allwinner,sun8i-r40-de2-mixer-1";
+			reg = <0x01200000 0x100000>;
+			clocks = <&display_clocks CLK_BUS_MIXER1>,
+				 <&display_clocks CLK_MIXER1>;
+			clock-names = "bus",
+				      "mod";
+			resets = <&display_clocks RST_WB>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				mixer1_out: port@1 {
+					reg = <1>;
+					mixer1_out_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_mixer1_in_mixer1>;
+					};
+				};
+			};
+		};
+
 		nmi_intc: interrupt-controller@1c00030 {
 			compatible = "allwinner,sun7i-a20-sc-nmi";
 			interrupt-controller;
@@ -451,6 +518,163 @@
 			#size-cells = <0>;
 		};
 
+		tcon_top: tcon-top@1c70000 {
+			compatible = "allwinner,sun8i-r40-tcon-top";
+			reg = <0x01c70000 0x1000>;
+			clocks = <&ccu CLK_BUS_TCON_TOP>,
+				 <&ccu CLK_TCON_TV0>,
+				 <&ccu CLK_TVE0>,
+				 <&ccu CLK_TCON_TV1>,
+				 <&ccu CLK_TVE1>,
+				 <&ccu CLK_DSI_DPHY>;
+			clock-names = "bus",
+				      "tcon-tv0",
+				      "tve0",
+				      "tcon-tv1",
+				      "tve1",
+				      "dsi";
+			clock-output-names = "tcon-top-tv0",
+					     "tcon-top-tv1",
+					     "tcon-top-dsi";
+			resets = <&ccu RST_BUS_TCON_TOP>;
+			#clock-cells = <1>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_top_mixer0_in: port@0 {
+					reg = <0>;
+
+					tcon_top_mixer0_in_mixer0: endpoint {
+						remote-endpoint = <&mixer0_out_tcon_top>;
+					};
+				};
+
+				tcon_top_mixer0_out: port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <1>;
+
+					tcon_top_mixer0_out_tcon_lcd0: endpoint@0 {
+						reg = <0>;
+					};
+
+					tcon_top_mixer0_out_tcon_lcd1: endpoint@1 {
+						reg = <1>;
+					};
+
+					tcon_top_mixer0_out_tcon_tv0: endpoint@2 {
+						reg = <2>;
+					};
+
+					tcon_top_mixer0_out_tcon_tv1: endpoint@3 {
+						reg = <3>;
+					};
+				};
+
+				tcon_top_mixer1_in: port@2 {
+					reg = <2>;
+
+					tcon_top_mixer1_in_mixer1: endpoint {
+						remote-endpoint = <&mixer1_out_tcon_top>;
+					};
+				};
+
+				tcon_top_mixer1_out: port@3 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <3>;
+
+					tcon_top_mixer1_out_tcon_lcd0: endpoint@0 {
+						reg = <0>;
+					};
+
+					tcon_top_mixer1_out_tcon_lcd1: endpoint@1 {
+						reg = <1>;
+					};
+
+					tcon_top_mixer1_out_tcon_tv0: endpoint@2 {
+						reg = <2>;
+					};
+
+					tcon_top_mixer1_out_tcon_tv1: endpoint@3 {
+						reg = <3>;
+					};
+				};
+
+				tcon_top_hdmi_in: port@4 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <4>;
+
+					tcon_top_hdmi_in_tcon_tv0: endpoint@0 {
+						reg = <0>;
+					};
+
+					tcon_top_hdmi_in_tcon_tv1: endpoint@1 {
+						reg = <1>;
+					};
+				};
+
+				tcon_top_hdmi_out: port@5 {
+					reg = <5>;
+
+					tcon_top_hdmi_out_hdmi: endpoint {
+						remote-endpoint = <&hdmi_in_tcon_top>;
+					};
+				};
+			};
+		};
+
+		tcon_tv0: lcd-controller@1c73000 {
+			compatible = "allwinner,sun8i-r40-tcon-tv",
+				     "allwinner,sun8i-a83t-tcon-tv";
+			reg = <0x01c73000 0x1000>;
+			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>;
+			clock-names = "ahb", "tcon-ch1";
+			resets = <&ccu RST_BUS_TCON_TV0>;
+			reset-names = "lcd";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_tv0_in: port@0 {
+					reg = <0>;
+				};
+
+				tcon_tv0_out: port@1 {
+					reg = <1>;
+				};
+			};
+		};
+
+		tcon_tv1: lcd-controller@1c74000 {
+			compatible = "allwinner,sun8i-r40-tcon-tv",
+				     "allwinner,sun8i-a83t-tcon-tv";
+			reg = <0x01c74000 0x1000>;
+			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_TCON_TV1>, <&tcon_top 1>;
+			clock-names = "ahb", "tcon-ch1";
+			resets = <&ccu RST_BUS_TCON_TV1>;
+			reset-names = "lcd";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_tv1_in: port@0 {
+					reg = <0>;
+				};
+
+				tcon_tv1_out: port@1 {
+					reg = <1>;
+				};
+			};
+		};
+
 		gic: interrupt-controller@1c81000 {
 			compatible = "arm,gic-400";
 			reg = <0x01c81000 0x1000>,
@@ -461,6 +685,51 @@
 			#interrupt-cells = <3>;
 			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
 		};
+
+		hdmi: hdmi@1ee0000 {
+			compatible = "allwinner,sun8i-r40-dw-hdmi",
+				     "allwinner,sun8i-a83t-dw-hdmi";
+			reg = <0x01ee0000 0x10000>;
+			reg-io-width = <1>;
+			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_HDMI0>, <&ccu CLK_HDMI_SLOW>,
+				 <&ccu CLK_HDMI>;
+			clock-names = "iahb", "isfr", "tmds";
+			resets = <&ccu RST_BUS_HDMI1>;
+			reset-names = "ctrl";
+			phys = <&hdmi_phy>;
+			phy-names = "hdmi-phy";
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				hdmi_in: port@0 {
+					reg = <0>;
+
+					hdmi_in_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_hdmi_out_hdmi>;
+					};
+				};
+
+				hdmi_out: port@1 {
+					reg = <1>;
+				};
+			};
+		};
+
+		hdmi_phy: hdmi-phy@1ef0000 {
+			compatible = "allwinner,sun8i-r40-hdmi-phy",
+				     "allwinner,sun50i-a64-hdmi-phy";
+			reg = <0x01ef0000 0x10000>;
+			clocks = <&ccu CLK_BUS_HDMI1>, <&ccu CLK_HDMI_SLOW>,
+				 <&ccu 7>, <&ccu 16>;
+			clock-names = "bus", "mod", "pll-0", "pll-1";
+			resets = <&ccu RST_BUS_HDMI0>;
+			reset-names = "phy";
+			#phy-cells = <0>;
+		};
 	};
 
 	timer {
-- 
2.18.0

WARNING: multiple messages have this Message-ID (diff)
From: jernej.skrabec@siol.net (Jernej Skrabec)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 23/24] ARM: dts: sun8i: r40: Add HDMI pipeline
Date: Mon, 25 Jun 2018 14:03:03 +0200	[thread overview]
Message-ID: <20180625120304.7543-24-jernej.skrabec@siol.net> (raw)
In-Reply-To: <20180625120304.7543-1-jernej.skrabec@siol.net>

Add all entries needed for HDMI to function properly.

Since R40 has highly configurable pipeline, both mixers and both TCON
TVs are added. Board specific DT should then connect them together
trough TCON TOP muxers to best fit the purpose of the board.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
 arch/arm/boot/dts/sun8i-r40.dtsi | 269 +++++++++++++++++++++++++++++++
 1 file changed, 269 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
index 173dcc1652d2..a2a75fb04caf 100644
--- a/arch/arm/boot/dts/sun8i-r40.dtsi
+++ b/arch/arm/boot/dts/sun8i-r40.dtsi
@@ -42,8 +42,11 @@
  */
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/sun8i-de2.h>
 #include <dt-bindings/clock/sun8i-r40-ccu.h>
+#include <dt-bindings/clock/sun8i-tcon-top.h>
 #include <dt-bindings/reset/sun8i-r40-ccu.h>
+#include <dt-bindings/reset/sun8i-de2.h>
 
 / {
 	#address-cells = <1>;
@@ -99,12 +102,76 @@
 		};
 	};
 
+	de: display-engine {
+		compatible = "allwinner,sun8i-r40-display-engine",
+			     "allwinner,sun8i-h3-display-engine";
+		allwinner,pipelines = <&mixer0>, <&mixer1>;
+		status = "disabled";
+	};
+
 	soc {
 		compatible = "simple-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges;
 
+		display_clocks: clock at 1000000 {
+			compatible = "allwinner,sun8i-r40-de2-clk",
+				     "allwinner,sun8i-h3-de2-clk";
+			reg = <0x01000000 0x100000>;
+			clocks = <&ccu CLK_DE>,
+				 <&ccu CLK_BUS_DE>;
+			clock-names = "mod",
+				      "bus";
+			resets = <&ccu RST_BUS_DE>;
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+		};
+
+		mixer0: mixer at 1100000 {
+			compatible = "allwinner,sun8i-r40-de2-mixer-0";
+			reg = <0x01100000 0x100000>;
+			clocks = <&display_clocks CLK_BUS_MIXER0>,
+				 <&display_clocks CLK_MIXER0>;
+			clock-names = "bus",
+				      "mod";
+			resets = <&display_clocks RST_MIXER0>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				mixer0_out: port at 1 {
+					reg = <1>;
+					mixer0_out_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_mixer0_in_mixer0>;
+					};
+				};
+			};
+		};
+
+		mixer1: mixer at 1200000 {
+			compatible = "allwinner,sun8i-r40-de2-mixer-1";
+			reg = <0x01200000 0x100000>;
+			clocks = <&display_clocks CLK_BUS_MIXER1>,
+				 <&display_clocks CLK_MIXER1>;
+			clock-names = "bus",
+				      "mod";
+			resets = <&display_clocks RST_WB>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				mixer1_out: port at 1 {
+					reg = <1>;
+					mixer1_out_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_mixer1_in_mixer1>;
+					};
+				};
+			};
+		};
+
 		nmi_intc: interrupt-controller at 1c00030 {
 			compatible = "allwinner,sun7i-a20-sc-nmi";
 			interrupt-controller;
@@ -451,6 +518,163 @@
 			#size-cells = <0>;
 		};
 
+		tcon_top: tcon-top at 1c70000 {
+			compatible = "allwinner,sun8i-r40-tcon-top";
+			reg = <0x01c70000 0x1000>;
+			clocks = <&ccu CLK_BUS_TCON_TOP>,
+				 <&ccu CLK_TCON_TV0>,
+				 <&ccu CLK_TVE0>,
+				 <&ccu CLK_TCON_TV1>,
+				 <&ccu CLK_TVE1>,
+				 <&ccu CLK_DSI_DPHY>;
+			clock-names = "bus",
+				      "tcon-tv0",
+				      "tve0",
+				      "tcon-tv1",
+				      "tve1",
+				      "dsi";
+			clock-output-names = "tcon-top-tv0",
+					     "tcon-top-tv1",
+					     "tcon-top-dsi";
+			resets = <&ccu RST_BUS_TCON_TOP>;
+			#clock-cells = <1>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_top_mixer0_in: port at 0 {
+					reg = <0>;
+
+					tcon_top_mixer0_in_mixer0: endpoint {
+						remote-endpoint = <&mixer0_out_tcon_top>;
+					};
+				};
+
+				tcon_top_mixer0_out: port at 1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <1>;
+
+					tcon_top_mixer0_out_tcon_lcd0: endpoint at 0 {
+						reg = <0>;
+					};
+
+					tcon_top_mixer0_out_tcon_lcd1: endpoint at 1 {
+						reg = <1>;
+					};
+
+					tcon_top_mixer0_out_tcon_tv0: endpoint at 2 {
+						reg = <2>;
+					};
+
+					tcon_top_mixer0_out_tcon_tv1: endpoint at 3 {
+						reg = <3>;
+					};
+				};
+
+				tcon_top_mixer1_in: port at 2 {
+					reg = <2>;
+
+					tcon_top_mixer1_in_mixer1: endpoint {
+						remote-endpoint = <&mixer1_out_tcon_top>;
+					};
+				};
+
+				tcon_top_mixer1_out: port at 3 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <3>;
+
+					tcon_top_mixer1_out_tcon_lcd0: endpoint at 0 {
+						reg = <0>;
+					};
+
+					tcon_top_mixer1_out_tcon_lcd1: endpoint at 1 {
+						reg = <1>;
+					};
+
+					tcon_top_mixer1_out_tcon_tv0: endpoint at 2 {
+						reg = <2>;
+					};
+
+					tcon_top_mixer1_out_tcon_tv1: endpoint at 3 {
+						reg = <3>;
+					};
+				};
+
+				tcon_top_hdmi_in: port at 4 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <4>;
+
+					tcon_top_hdmi_in_tcon_tv0: endpoint at 0 {
+						reg = <0>;
+					};
+
+					tcon_top_hdmi_in_tcon_tv1: endpoint at 1 {
+						reg = <1>;
+					};
+				};
+
+				tcon_top_hdmi_out: port at 5 {
+					reg = <5>;
+
+					tcon_top_hdmi_out_hdmi: endpoint {
+						remote-endpoint = <&hdmi_in_tcon_top>;
+					};
+				};
+			};
+		};
+
+		tcon_tv0: lcd-controller at 1c73000 {
+			compatible = "allwinner,sun8i-r40-tcon-tv",
+				     "allwinner,sun8i-a83t-tcon-tv";
+			reg = <0x01c73000 0x1000>;
+			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>;
+			clock-names = "ahb", "tcon-ch1";
+			resets = <&ccu RST_BUS_TCON_TV0>;
+			reset-names = "lcd";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_tv0_in: port at 0 {
+					reg = <0>;
+				};
+
+				tcon_tv0_out: port at 1 {
+					reg = <1>;
+				};
+			};
+		};
+
+		tcon_tv1: lcd-controller at 1c74000 {
+			compatible = "allwinner,sun8i-r40-tcon-tv",
+				     "allwinner,sun8i-a83t-tcon-tv";
+			reg = <0x01c74000 0x1000>;
+			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_TCON_TV1>, <&tcon_top 1>;
+			clock-names = "ahb", "tcon-ch1";
+			resets = <&ccu RST_BUS_TCON_TV1>;
+			reset-names = "lcd";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon_tv1_in: port at 0 {
+					reg = <0>;
+				};
+
+				tcon_tv1_out: port at 1 {
+					reg = <1>;
+				};
+			};
+		};
+
 		gic: interrupt-controller at 1c81000 {
 			compatible = "arm,gic-400";
 			reg = <0x01c81000 0x1000>,
@@ -461,6 +685,51 @@
 			#interrupt-cells = <3>;
 			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
 		};
+
+		hdmi: hdmi at 1ee0000 {
+			compatible = "allwinner,sun8i-r40-dw-hdmi",
+				     "allwinner,sun8i-a83t-dw-hdmi";
+			reg = <0x01ee0000 0x10000>;
+			reg-io-width = <1>;
+			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_HDMI0>, <&ccu CLK_HDMI_SLOW>,
+				 <&ccu CLK_HDMI>;
+			clock-names = "iahb", "isfr", "tmds";
+			resets = <&ccu RST_BUS_HDMI1>;
+			reset-names = "ctrl";
+			phys = <&hdmi_phy>;
+			phy-names = "hdmi-phy";
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				hdmi_in: port at 0 {
+					reg = <0>;
+
+					hdmi_in_tcon_top: endpoint {
+						remote-endpoint = <&tcon_top_hdmi_out_hdmi>;
+					};
+				};
+
+				hdmi_out: port at 1 {
+					reg = <1>;
+				};
+			};
+		};
+
+		hdmi_phy: hdmi-phy at 1ef0000 {
+			compatible = "allwinner,sun8i-r40-hdmi-phy",
+				     "allwinner,sun50i-a64-hdmi-phy";
+			reg = <0x01ef0000 0x10000>;
+			clocks = <&ccu CLK_BUS_HDMI1>, <&ccu CLK_HDMI_SLOW>,
+				 <&ccu 7>, <&ccu 16>;
+			clock-names = "bus", "mod", "pll-0", "pll-1";
+			resets = <&ccu RST_BUS_HDMI0>;
+			reset-names = "phy";
+			#phy-cells = <0>;
+		};
 	};
 
 	timer {
-- 
2.18.0

  parent reply	other threads:[~2018-06-25 12:05 UTC|newest]

Thread overview: 269+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-25 12:02 [PATCH v3 00/24] Add support for R40 HDMI pipeline Jernej Skrabec
2018-06-25 12:02 ` Jernej Skrabec
2018-06-25 12:02 ` Jernej Skrabec
2018-06-25 12:02 ` [PATCH v3 01/24] clk: sunxi-ng: r40: Add minimal rate for video PLLs Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02 ` [PATCH v3 02/24] clk: sunxi-ng: r40: Allow setting parent rate to display related clocks Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02 ` [PATCH v3 03/24] clk: sunxi-ng: r40: Export video PLLs Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:30   ` Chen-Yu Tsai
2018-06-25 12:30     ` Chen-Yu Tsai
2018-06-25 12:30     ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 04/24] dt-bindings: display: sunxi-drm: Add TCON TOP description Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 17:33   ` Rob Herring
2018-06-25 17:33     ` Rob Herring
2018-06-25 17:33     ` Rob Herring
2018-06-25 12:02 ` [PATCH v3 05/24] drm/sun4i: Add TCON TOP driver Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  1:47   ` Chen-Yu Tsai
2018-06-28  1:47     ` Chen-Yu Tsai
2018-06-28  1:47     ` Chen-Yu Tsai
2018-06-29 19:09     ` Jernej Škrabec
2018-06-29 19:09       ` Jernej Škrabec
2018-06-29 19:09       ` Jernej Škrabec
2018-06-30  1:13       ` [linux-sunxi] " Chen-Yu Tsai
2018-06-30  1:13         ` Chen-Yu Tsai
2018-06-30  1:13         ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 06/24] drm/sun4i: Fix releasing node when enumerating enpoints Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  1:53   ` [linux-sunxi] " Chen-Yu Tsai
2018-06-28  1:53     ` Chen-Yu Tsai
2018-06-28  1:53     ` Chen-Yu Tsai
2018-06-29 19:15     ` [linux-sunxi] " Jernej Škrabec
2018-06-29 19:15       ` Jernej Škrabec
2018-06-29 19:15       ` Jernej Škrabec
2018-06-30  1:09       ` [linux-sunxi] " Chen-Yu Tsai
2018-06-30  1:09         ` Chen-Yu Tsai
2018-06-30  1:09         ` Chen-Yu Tsai
2018-06-30  1:09         ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 07/24] drm/sun4i: Split out code for enumerating endpoints in output port Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  1:57   ` [linux-sunxi] " Chen-Yu Tsai
2018-06-28  1:57     ` Chen-Yu Tsai
2018-06-28  1:57     ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 08/24] drm/sun4i: Add support for traversing graph with TCON TOP Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  1:57   ` Chen-Yu Tsai
2018-06-28  1:57     ` Chen-Yu Tsai
2018-06-28  1:57     ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 09/24] drm/sun4i: Don't skip TCONs if they don't have channel 0 Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  1:51   ` Chen-Yu Tsai
2018-06-28  1:51     ` Chen-Yu Tsai
2018-06-28  1:51     ` Chen-Yu Tsai
2018-06-28  4:45     ` Jernej Škrabec
2018-06-28  4:45       ` Jernej Škrabec
2018-06-28  4:45       ` Jernej Škrabec
2018-06-28  6:24       ` [linux-sunxi] " Chen-Yu Tsai
2018-06-28  6:24         ` Chen-Yu Tsai
2018-06-28  6:24         ` Chen-Yu Tsai
2018-07-01  8:27         ` [linux-sunxi] " Jernej Škrabec
2018-07-01  8:27           ` Jernej Škrabec
2018-07-01  8:27           ` Jernej Škrabec
2018-07-01 15:11           ` [linux-sunxi] " Chen-Yu Tsai
2018-07-01 15:11             ` Chen-Yu Tsai
2018-07-01 15:11             ` Chen-Yu Tsai
2018-07-05  7:03             ` [linux-sunxi] " Maxime Ripard
2018-07-05  7:03               ` Maxime Ripard
2018-07-05  7:03               ` Maxime Ripard
2018-07-05 20:03               ` [linux-sunxi] " Jernej Škrabec
2018-07-05 20:03                 ` Jernej Škrabec
2018-07-05 20:03                 ` Jernej Škrabec
2018-07-09  8:59                 ` [linux-sunxi] " Maxime Ripard
2018-07-09  8:59                   ` Maxime Ripard
2018-07-09  8:59                   ` Maxime Ripard
2018-06-25 12:02 ` [PATCH v3 10/24] drm/sun4i: tcon: Generalize engine search algorithm Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:06   ` Chen-Yu Tsai
2018-06-28  2:06     ` Chen-Yu Tsai
2018-06-28  2:06     ` Chen-Yu Tsai
2018-06-28  4:48     ` Jernej Škrabec
2018-06-28  4:48       ` Jernej Škrabec
2018-06-28  4:48       ` Jernej Škrabec
2018-06-28 18:25       ` Maxime Ripard
2018-06-28 18:25         ` Maxime Ripard
2018-06-28 18:25         ` Maxime Ripard
2018-06-29 19:06         ` Jernej Škrabec
2018-06-29 19:06           ` Jernej Škrabec
2018-06-29 19:06           ` Jernej Škrabec
2018-07-01 19:09           ` [linux-sunxi] " Jernej Škrabec
2018-07-01 19:09             ` Jernej Škrabec
2018-07-01 19:09             ` Jernej Škrabec
2018-07-01 19:09             ` Jernej Škrabec
2018-07-02  8:56             ` [linux-sunxi] " Maxime Ripard
2018-07-02  8:56               ` Maxime Ripard
2018-07-02  8:56               ` Maxime Ripard
2018-06-25 12:02 ` [PATCH v3 11/24] drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1 Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:08   ` Chen-Yu Tsai
2018-06-28  2:08     ` Chen-Yu Tsai
2018-06-28  2:08     ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 12/24] drm/sun4i: Don't check for panel or bridge on TV TCONs Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:17   ` Chen-Yu Tsai
2018-06-28  2:17     ` Chen-Yu Tsai
2018-06-28  2:17     ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 13/24] dt-bindings: display: sun4i-drm: Add R40 mixer compatibles Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:17   ` Chen-Yu Tsai
2018-06-28  2:17     ` Chen-Yu Tsai
2018-06-28  2:17     ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 14/24] drm/sun4i: Add support for R40 mixers Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:18   ` Chen-Yu Tsai
2018-06-28  2:18     ` Chen-Yu Tsai
2018-06-28  2:18     ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 15/24] dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:19   ` Chen-Yu Tsai
2018-06-28  2:19     ` Chen-Yu Tsai
2018-06-28  2:19     ` Chen-Yu Tsai
2018-06-28  4:51     ` Jernej Škrabec
2018-06-28  4:51       ` Jernej Škrabec
2018-06-28  4:51       ` Jernej Škrabec
2018-06-28  7:00       ` [linux-sunxi] " Chen-Yu Tsai
2018-06-28  7:00         ` Chen-Yu Tsai
2018-06-28  7:00         ` Chen-Yu Tsai
2018-06-29 19:32         ` [linux-sunxi] " Jernej Škrabec
2018-06-29 19:32           ` Jernej Škrabec
2018-06-29 19:32           ` Jernej Škrabec
2018-07-04  4:05           ` [linux-sunxi] " Chen-Yu Tsai
2018-07-04  4:05             ` Chen-Yu Tsai
2018-07-04  4:05             ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 16/24] drm/sun4i: Enable DW HDMI PHY clock Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:22   ` Chen-Yu Tsai
2018-06-28  2:22     ` Chen-Yu Tsai
2018-06-28  2:22     ` Chen-Yu Tsai
2018-06-28  4:52     ` Jernej Škrabec
2018-06-28  4:52       ` Jernej Škrabec
2018-06-28  4:52       ` Jernej Škrabec
2018-06-29 19:19     ` Jernej Škrabec
2018-06-29 19:19       ` Jernej Škrabec
2018-06-29 19:19       ` Jernej Škrabec
2018-06-30  1:11       ` Chen-Yu Tsai
2018-06-30  1:11         ` Chen-Yu Tsai
2018-06-30  1:11         ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 17/24] drm/sun4i: Don't change clock bits in DW HDMI PHY driver Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:24   ` Chen-Yu Tsai
2018-06-28  2:24     ` Chen-Yu Tsai
2018-06-28  2:24     ` Chen-Yu Tsai
2018-06-29 19:23     ` Jernej Škrabec
2018-06-29 19:23       ` Jernej Škrabec
2018-06-29 19:23       ` Jernej Škrabec
2018-06-25 12:02 ` [PATCH v3 18/24] drm/sun4i: DW HDMI PHY: Add support for second PLL Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:25   ` Chen-Yu Tsai
2018-06-28  2:25     ` Chen-Yu Tsai
2018-06-28  2:25     ` Chen-Yu Tsai
2018-06-28  4:56     ` Jernej Škrabec
2018-06-28  4:56       ` Jernej Škrabec
2018-06-28  4:56       ` Jernej Škrabec
2018-06-28  6:59       ` [linux-sunxi] " Chen-Yu Tsai
2018-06-28  6:59         ` Chen-Yu Tsai
2018-06-28  6:59         ` Chen-Yu Tsai
2018-06-25 12:02 ` [PATCH v3 19/24] drm/sun4i: Add support for second clock parent to DW HDMI PHY clk driver Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-25 12:02   ` Jernej Skrabec
2018-06-28  2:30   ` [linux-sunxi] " Chen-Yu Tsai
2018-06-28  2:30     ` Chen-Yu Tsai
2018-06-28  2:30     ` Chen-Yu Tsai
2018-06-25 12:03 ` [PATCH v3 20/24] drm/sun4i: Add support for A64 HDMI PHY Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-28  2:30   ` Chen-Yu Tsai
2018-06-28  2:30     ` Chen-Yu Tsai
2018-06-28  2:30     ` Chen-Yu Tsai
2018-06-25 12:03 ` [PATCH v3 21/24] drm: of: Export drm_crtc_port_mask() Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-28  2:32   ` Chen-Yu Tsai
2018-06-28  2:32     ` Chen-Yu Tsai
2018-06-28  2:32     ` Chen-Yu Tsai
2018-06-25 12:03 ` [PATCH v3 22/24] drm/sun4i: DW HDMI: Expand algorithm for possible crtcs Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-28  2:42   ` Chen-Yu Tsai
2018-06-28  2:42     ` Chen-Yu Tsai
2018-06-28  2:42     ` Chen-Yu Tsai
2018-06-25 12:03 ` Jernej Skrabec [this message]
2018-06-25 12:03   ` [PATCH v3 23/24] ARM: dts: sun8i: r40: Add HDMI pipeline Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-28  2:50   ` Chen-Yu Tsai
2018-06-28  2:50     ` Chen-Yu Tsai
2018-06-28  2:50     ` Chen-Yu Tsai
2018-06-28  5:15     ` Jernej Škrabec
2018-06-28  5:15       ` Jernej Škrabec
2018-06-28  5:15       ` Jernej Škrabec
2018-06-28  6:51       ` [linux-sunxi] " Chen-Yu Tsai
2018-06-28  6:51         ` Chen-Yu Tsai
2018-06-28  6:51         ` Chen-Yu Tsai
2018-07-01 10:41         ` [linux-sunxi] " Jernej Škrabec
2018-07-01 10:41           ` Jernej Škrabec
2018-07-01 10:41           ` Jernej Škrabec
2018-07-01 13:52           ` [linux-sunxi] " Chen-Yu Tsai
2018-07-01 13:52             ` Chen-Yu Tsai
2018-07-01 13:52             ` Chen-Yu Tsai
2018-07-01 15:13             ` [linux-sunxi] " Jernej Škrabec
2018-07-01 15:13               ` Jernej Škrabec
2018-07-01 15:13               ` Jernej Škrabec
2018-07-01 15:35               ` [linux-sunxi] " Chen-Yu Tsai
2018-07-01 15:35                 ` Chen-Yu Tsai
2018-07-01 15:35                 ` Chen-Yu Tsai
2018-07-01 19:25                 ` [linux-sunxi] " Jernej Škrabec
2018-07-01 19:25                   ` Jernej Škrabec
2018-07-01 19:25                   ` Jernej Škrabec
2018-07-02 21:39                   ` [linux-sunxi] " Jernej Škrabec
2018-07-02 21:39                     ` Jernej Škrabec
2018-07-02 21:39                     ` Jernej Škrabec
2018-07-02 21:39                     ` Jernej Škrabec
2018-06-25 12:03 ` [PATCH v3 24/24] ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-25 12:03   ` Jernej Skrabec
2018-06-28  2:51   ` [linux-sunxi] " Chen-Yu Tsai
2018-06-28  2:51     ` Chen-Yu Tsai
2018-06-28  2:51     ` Chen-Yu Tsai
2018-06-25 12:07 ` [linux-sunxi] [PATCH v3 00/24] Add support for R40 HDMI pipeline Jernej Škrabec
2018-06-25 12:07   ` Jernej Škrabec
2018-06-25 12:07   ` Jernej Škrabec
2018-06-25 16:43 ` Maxime Ripard
2018-06-25 16:43   ` Maxime Ripard
2018-06-25 16:43   ` Maxime Ripard
2018-06-27 18:02 ` Maxime Ripard
2018-06-27 18:02   ` Maxime Ripard
2018-06-27 18:02   ` Maxime Ripard
2018-06-27 19:50   ` Maxime Ripard
2018-06-27 19:50     ` Maxime Ripard
2018-06-27 19:50     ` Maxime Ripard
2018-06-27 20:25     ` Jernej Škrabec
2018-06-27 20:25       ` Jernej Škrabec
2018-06-27 20:25       ` Jernej Škrabec
2018-06-28  8:41       ` Maxime Ripard
2018-06-28  8:41         ` Maxime Ripard
2018-06-28  8:41         ` Maxime Ripard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180625120304.7543-24-jernej.skrabec@siol.net \
    --to=jernej.skrabec@siol.net \
    --cc=airlied@linux.ie \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gustavo@padovan.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=robh+dt@kernel.org \
    --cc=seanpaul@chromium.org \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.