On Wed, Nov 17, 2021 at 8:34 AM Sascha Hauer s.hauer@pengutronix.de wrote:
Add support for the HDMI port found on RK3568.
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de
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