Hi Heiko, On Tue, 18 Feb 2025 11:00:57 +0100, Heiko Stübnerwrote: >So I guess step1, check what error is actually returned. I have checked that the return value is -517: rockchip-drm display-subsystem: [drm] *ERROR* failed to get pll_hdmiphy1 with -517 >Step2 check if clk_get_optional need to be adapted or alternatively >catch the error in the vop2 and set the clock to NULL ourself in that case. I tried the following patch to set the clock to NULL when clk_get_optional failed with value -517, and hdmi0 is working now. There are also some boards like rock 5 itx which only use hdmi1, I think we should also add this logic to vop2->pll_hdmiphy0. @@ -3733,6 +3751,15 @@ static int vop2_bind(struct device *dev, struct device *master, void *data) return PTR_ERR(vop2->pll_hdmiphy0); } + vop2->pll_hdmiphy1 = devm_clk_get_optional(vop2->dev, "pll_hdmiphy1"); + if (IS_ERR(vop2->pll_hdmiphy1)) { + drm_err(vop2->drm, "failed to get pll_hdmiphy1 with %d\n", vop2->pll_hdmiphy1); + if (vop2->pll_hdmiphy1 == -EPROBE_DEFER) + vop2->pll_hdmiphy1 = NULL; + else + return PTR_ERR(vop2->pll_hdmiphy1); + } + vop2->irq = platform_get_irq(pdev, 0); if (vop2->irq < 0) { drm_err(vop2->drm, "cannot find irq for vop2\n"); Best regards, Jianfeng