Hi Sascha, Something with port and endpoint gives notifications. Somehow with the conversion of rockchip,dw-hdmi.txt to YAML not all SoC options were checked/covered (see rk3328 and rk3568). Allow multiple vop: port or port@0 1x vop -> endpoint 2x vop -> endpoint@0 -> endpoint@1 Also allow for connector: (not all existing DT have this yet) port@1 -> endpoint See also at graph.yaml === dtc -I dtb -O dts rk3568-evb1-v10.dtb <stdout>: Warning (avoid_unnecessary_addr_size): /hdmi@fe0a0000/ports/port@1: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property <stdout>: Warning (graph_child_address): /hdmi@fe0a0000/ports/port@0: graph node has single child node 'endpoint@0', #address-cells/#size-cells are not necessary <stdout>: Warning (graph_child_address): /hdmi@fe0a0000/ports/port@1: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary === ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml DTC arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dt.yaml CHECK arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dt.yaml /arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dt.yaml: hdmi@fe0a0000: ports: 'port' is a required property From schema: /home/user/Downloads/linux-next-20220202/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml DTC arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dt.yaml CHECK arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dt.yaml /arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dt.yaml: hdmi@fe0a0000: ports: 'port' is a required property From schema: /home/user/Downloads/linux-next-20220202/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml === On 2/9/22 10:53, Sascha Hauer wrote: > This enabled the VOP2 display controller along with hdmi and the > required port routes which is enough to get a picture out of the > hdmi port of the board. > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > --- > > Notes: > Changes since v4: > - Sort nodes alphabetically > > Changes since v3: > - Fix HDMI connector type > > .../boot/dts/rockchip/rk3568-evb1-v10.dts | 48 +++++++++++++++++++ > 1 file changed, 48 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts > index 184e2aa2416a..18f0f5abddcf 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts > @@ -7,6 +7,7 @@ > /dts-v1/; > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/pinctrl/rockchip.h> > +#include <dt-bindings/soc/rockchip,vop2.h> > #include "rk3568.dtsi" > > / { > @@ -33,6 +34,17 @@ dc_12v: dc-12v { > regulator-max-microvolt = <12000000>; > }; > > + hdmi-con { > + compatible = "hdmi-connector"; > + type = "a"; > + > + port { > + hdmi_con_in: endpoint { > + remote-endpoint = <&hdmi_out_con>; > + }; > + }; > + }; > + > vcc3v3_sys: vcc3v3-sys { > compatible = "regulator-fixed"; > regulator-name = "vcc3v3_sys"; > @@ -106,6 +118,25 @@ &gmac1m1_rgmii_clk > status = "okay"; > }; > > +&hdmi { > + avdd-0v9-supply = <&vdda0v9_image>; > + avdd-1v8-supply = <&vcca1v8_image>; > + status = "okay"; > +}; > + > +&hdmi_in { > + hdmi_in_vp0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&vp0_out_hdmi>; > + }; > +}; > + > +&hdmi_out { > + hdmi_out_con: endpoint { > + remote-endpoint = <&hdmi_con_in>; > + }; > +}; > + > &i2c0 { > status = "okay"; > > @@ -390,3 +421,20 @@ &sdmmc0 { > &uart2 { > status = "okay"; > }; > + > +&vop { > + assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; > + assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; > + status = "okay"; > +}; > + > +&vop_mmu { > + status = "okay"; > +}; > + > +&vp0 { > + vp0_out_hdmi: endpoint@RK3568_VOP2_EP_HDMI { > + reg = <RK3568_VOP2_EP_HDMI>; > + remote-endpoint = <&hdmi_in_vp0>; > + }; > +};