On Wed, Nov 17, 2021 at 8:34 AM Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > > Add support for the HDMI port found on RK3568. > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > --- > arch/arm64/boot/dts/rockchip/rk356x.dtsi | 65 ++++++++++++++++++++++++ > 1 file changed, 65 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi > index 6ebf7c14e096a..53be61a7ce595 100644 > --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi > +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi > @@ -472,18 +472,36 @@ vp0: port@0 { > #address-cells = <1>; > #size-cells = <0>; > reg = <0>; > + > + vp0_out_hdmi: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&hdmi_in_vp0>; > + status = "disabled"; > + }; > }; > > vp1: port@1 { > #address-cells = <1>; > #size-cells = <0>; > reg = <1>; > + > + vp1_out_hdmi: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&hdmi_in_vp1>; > + status = "disabled"; > + }; > }; > > vp2: port@2 { > #address-cells = <1>; > #size-cells = <0>; > reg = <2>; > + > + vp2_out_hdmi: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&hdmi_in_vp2>; > + status = "disabled"; > + }; > }; > }; > }; > @@ -499,6 +517,53 @@ vop_mmu: iommu@fe043e00 { > status = "disabled"; > }; > > + hdmi: hdmi@fe0a0000 { > + compatible = "rockchip,rk3568-dw-hdmi"; > + reg = <0x0 0xfe0a0000 0x0 0x20000>; > + interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_HDMI_HOST>, > + <&cru CLK_HDMI_SFR>, > + <&cru CLK_HDMI_CEC>, > + <&cru HCLK_VOP>; > + clock-names = "iahb", "isfr", "cec", "hclk"; > + power-domains = <&power RK3568_PD_VO>; > + reg-io-width = <4>; > + rockchip,grf = <&grf>; > + #sound-dai-cells = <0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + hdmi_in: port@0 { The schema says there is only 1 'port' node. Please run schema validation when making DT changes. However, an HDMI bridge should also define an output port to a connector node (or another bridge). So the fix is to allow 'port@0' and add an output port. > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + hdmi_in_vp0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&vp0_out_hdmi>; > + status = "disabled"; > + }; > + > + hdmi_in_vp1: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&vp1_out_hdmi>; > + status = "disabled"; > + }; > + > + hdmi_in_vp2: endpoint@2 { > + reg = <2>; > + remote-endpoint = <&vp2_out_hdmi>; > + status = "disabled"; > + }; > + }; > + }; > + }; > + > qos_gpu: qos@fe128000 { > compatible = "rockchip,rk3568-qos", "syscon"; > reg = <0x0 0xfe128000 0x0 0x20>; > -- > 2.30.2 >