Thread (12 messages) flat view 12 messages, 2 authors, 2018-02-26
STALE3111d

Revision v1 of 8 in this series.

Revisions (8)
  1. v1 [diff vs current]
  2. v1 current
  3. v1 [diff vs current]
  4. v1 [diff vs current]
  5. v1 [diff vs current]
  6. v2 [diff vs current]
  7. v2 [diff vs current]
  8. v3 [diff vs current]

[PATCH 2/3] arm64: dts: rockchip: add rk3328 display nodes

From: robin.murphy@arm.com (Robin Murphy)
Date: 2018-02-20 13:14:31
Also in: linux-rockchip

Hi Heiko,

On 16/02/18 22:38, Heiko Stuebner wrote:
quoted hunk ↗ jump to hunk
Add the chain of display nodes from the core display-subsystem
through the one vop to the dw-hdmi output.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
  arch/arm64/boot/dts/rockchip/rk3328.dtsi | 56 ++++++++++++++++++++++++++++++++
  1 file changed, 56 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 1615effcc191..65b7d460a044 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -185,6 +185,11 @@
  		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  	};
  
+	display_subsystem: display-subsystem {
+		compatible = "rockchip,display-subsystem";
+		ports = <&vop_out>;
+	};
+
  	psci {
  		compatible = "arm,psci-1.0", "arm,psci-0.2";
  		method = "smc";
@@ -626,6 +631,28 @@
  		status = "disabled";
  	};
  
+	vop: vop at ff370000 {
+		compatible = "rockchip,rk3328-vop";
+		reg = <0x0 0xff370000 0x0 0x3efc>;
+		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>;
Another of those rogue trailing zero cells has snuck in here.

<digression>
Unfortunately, even having learned the difference between drm-next and 
drm-misc-next (thanks for the pointer!) so I could apply this and the 
other series, I only managed to get it to not-quite-work on the box I'm 
currently reverse-engineering a mainline DT for (Beelink A1).

I've got a monitor connected via HDMI-DVI (which the stock 3.10 Android 
kernel *does* drive happily) - it appears to be detected, but when the 
virtual console tries to come up I just see a handful of timeout splats 
from drm_atomic_helper_wait_for_vblanks() and no signal at the monitor.

Any idea where to start debugging? (I'm 99% certain I had your clk/next 
branch pulled in as well since it looked significant, but I'll 
double-check tonight)

Robin.
quoted hunk ↗ jump to hunk
+		clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>;
+		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
+		resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
+		reset-names = "axi", "ahb", "dclk";
+		iommus = <&vop_mmu>;
+		status = "disabled";
+
+		vop_out: port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			vop_out_hdmi: endpoint at 0 {
+				reg = <0>;
+				remote-endpoint = <&hdmi_in_vop>;
+			};
+		};
+	};
+
  	vop_mmu: iommu at ff373f00 {
  		compatible = "rockchip,iommu";
  		reg = <0x0 0xff373f00 0x0 0x100>;
@@ -635,6 +662,35 @@
  		status = "disabled";
  	};
  
+	hdmi: hdmi at ff3c0000 {
+		compatible = "rockchip,rk3328-dw-hdmi";
+		reg = <0x0 0xff3c0000 0x0 0x20000>;
+		reg-io-width = <4>;
+		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cru PCLK_HDMI>,
+			 <&cru SCLK_HDMI_SFC>;
+		clock-names = "iahb",
+			      "isfr";
+		phys = <&hdmiphy>;
+		phy-names = "hdmi";
+		pinctrl-names = "default";
+		pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
+		rockchip,grf = <&grf>;
+		status = "disabled";
+
+		ports {
+			hdmi_in: port {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				hdmi_in_vop: endpoint at 0 {
+					reg = <0>;
+					remote-endpoint = <&vop_out_hdmi>;
+				};
+			};
+		};
+	};
+
  	hdmiphy: phy at ff430000 {
  		compatible = "rockchip,rk3328-hdmi-phy";
  		reg = <0x0 0xff430000 0x0 0x10000>;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help