Skip to contentSkip to conversation

ARM: dts: rockchip: add basic display nodes

PATCH New Heiko Stübner 2 participants 5 messages Jan 21, 2015 – Jan 25, 2015 Device tree bindings

lore
Share & tools
lore
#0 lore raw

cover ARM: dts: rockchip: add basic display nodes

The core drm support will be part of 3.19 and the hdmi support will enter the 3.20 kernel - so add at least the basic devicetree nodes.

I've pulled these patches out of the Chromium tree, adapted them to the current mainline dts and have been using them with a bunch of code on top with the vga connector of a firefly board for a week or so.

@Daniel et all: I hope I've kept all the tags and attributions intact. If anything is wrong please holler.

Andy Yan (1):
ARM: dts: rockchip: add rk3288 hdmi nodes

Daniel Kurtz (1):
ARM: dts: rockchip: Add rk3288 vop and display-subsystem

 arch/arm/boot/dts/rk3288.dtsi | 76 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)
Signature · 1 line
2.1.1
#1 lore raw

PATCH 1/2 ARM: dts: rockchip: Add rk3288 vop and display-subsystem

Add devicetree nodes for rk3288 VOP (Video Output Processors), and the top level display-subsystem root node.

Later patches add endpoints (eDP, HDMI, LVDS, etc) that attach to the VOPs' output ports.

---
 arch/arm/boot/dts/rk3288.dtsi | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/arm/boot/dts/rk3288.dtsi +39 -0
index 2a878a3..1d22238 100644
@@ -149,6 +149,11 @@
 		clock-frequency = <24000000>;
 	};
 
+	display-subsystem {
+		compatible = "rockchip,display-subsystem";
+		ports = <&vopl_out>, <&vopb_out>;
+	};
+
 	sdmmc: dwmmc at ff0c0000 {
 		compatible = "rockchip,rk3288-dw-mshc";
 		clock-freq-min-max = <400000 150000000>;
@@ -566,6 +571,23 @@
 		status = "disabled";
 	};
 
+	vopb: vop at ff930000 {
+		compatible = "rockchip,rk3288-vop";
+		reg = <0xff930000 0x19c>;
+		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
+		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
+		resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>;
+		reset-names = "axi", "ahb", "dclk";
+		iommus = <&vopb_mmu>;
+		status = "disabled";
+
+		vopb_out: port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+	};
+
 	vopb_mmu: iommu at ff930300 {
 		compatible = "rockchip,iommu";
 		reg = <0xff930300 0x100>;
@@ -575,6 +597,23 @@
 		status = "disabled";
 	};
 
+	vopl: vop at ff940000 {
+		compatible = "rockchip,rk3288-vop";
+		reg = <0xff940000 0x19c>;
+		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
+		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
+		resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
+		reset-names = "axi", "ahb", "dclk";
+		iommus = <&vopl_mmu>;
+		status = "disabled";
+
+		vopl_out: port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+	};
+
 	vopl_mmu: iommu at ff940300 {
 		compatible = "rockchip,iommu";
 		reg = <0xff940300 0x100>;
Signature · 1 line
2.1.1
#2 lore raw

PATCH 2/2 ARM: dts: rockchip: add rk3288 hdmi nodes

In reply to Heiko Stübner

Add an hdmi node, and also add hdmi endpoints to vopb and vopl output port nodes.

---
 arch/arm/boot/dts/rk3288.dtsi | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
arch/arm/boot/dts/rk3288.dtsi +37 -0
index 1d22238..c7235fa 100644
@@ -585,6 +585,11 @@
 		vopb_out: port {
 			#address-cells = <1>;
 			#size-cells = <0>;
+
+			vopb_out_hdmi: endpoint at 0 {
+				reg = <0>;
+				remote-endpoint = <&hdmi_in_vopb>;
+			};
 		};
 	};
 
@@ -611,6 +616,11 @@
 		vopl_out: port {
 			#address-cells = <1>;
 			#size-cells = <0>;
+
+			vopl_out_hdmi: endpoint at 0 {
+				reg = <0>;
+				remote-endpoint = <&hdmi_in_vopl>;
+			};
 		};
 	};
 
@@ -623,6 +633,33 @@
 		status = "disabled";
 	};
 
+	hdmi: hdmi at ff980000 {
+		compatible = "rockchip,rk3288-dw-hdmi";
+		reg = <0xff980000 0x20000>;
+		reg-io-width = <4>;
+		ddc-i2c-bus = <&i2c5>;
+		rockchip,grf = <&grf>;
+		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cru  PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
+		clock-names = "iahb", "isfr";
+		status = "disabled";
+
+		ports {
+			hdmi_in: port {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				hdmi_in_vopb: endpoint at 0 {
+					reg = <0>;
+					remote-endpoint = <&vopb_out_hdmi>;
+				};
+				hdmi_in_vopl: endpoint at 1 {
+					reg = <1>;
+					remote-endpoint = <&vopl_out_hdmi>;
+				};
+			};
+		};
+	};
+
 	gic: interrupt-controller at ffc01000 {
 		compatible = "arm,gic-400";
 		interrupt-controller;
Signature · 1 line
2.1.1
#3 lore raw

cover ARM: dts: rockchip: add basic display nodes

In reply to Heiko Stübner
Quoted 9 lines · Heiko St?bner

The core drm support will be part of 3.19 and the hdmi support will enter the 3.20 kernel - so add at least the basic devicetree nodes.

I've pulled these patches out of the Chromium tree, adapted them to the current mainline dts and have been using them with a bunch of code on top with the vga connector of a firefly board for a week or so.

@Daniel et all: I hope I've kept all the tags and attributions intact. If anything is wrong please holler.

The series looks good to me.
Thanks!

Quoted 15 lines

Andy Yan (1):
ARM: dts: rockchip: add rk3288 hdmi nodes

Daniel Kurtz (1):
ARM: dts: rockchip: Add rk3288 vop and display-subsystem

 arch/arm/boot/dts/rk3288.dtsi | 76 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

--
2.1.1

#4 lore raw

cover ARM: dts: rockchip: add basic display nodes

Am Sonntag, 25. Januar 2015, 10:13:22 schrieb Daniel Kurtz:

Quoted 8 lines · Heiko St?bner
Quoted 7 lines

The core drm support will be part of 3.19 and the hdmi support will enter the 3.20 kernel - so add at least the basic devicetree nodes.

I've pulled these patches out of the Chromium tree, adapted them to the current mainline dts and have been using them with a bunch of code on top with the vga connector of a firefly board for a week or so.

Quoted 5 lines
Quoted 2 lines

@Daniel et all: I hope I've kept all the tags and attributions intact. If anything is wrong please holler.

The series looks good to me.
Thanks!

great :-)

I've added both patches to my dts branch.

Heiko