On 3/11/22 11:33, Sascha Hauer wrote: > The rk3568 HDMI has an additional clock that needs to be enabled for the > HDMI controller to work. This clock is not needed for the HDMI > controller itself, but to make the SoC internal bus logic work. From the > reference manual: > >> 2.8.6 NIU Clock gating reliance >> >> A part of niu clocks have a dependence on another niu clock in order to >> sharing the internal bus. When these clocks are in use, another niu >> clock must be opened, and cannot be gated. These clocks and the special >> clock on which they are relied are as following: >> >> Clocks which have dependency The clock which can not be gated >> ----------------------------------------------------------------- >> ... >> pclk_vo_niu, hclk_vo_s_niu hclk_vo_niu >> ... > The clock framework does not support turning on a clock whenever another > clock is turned on, so this patch adds support for the dependent clock > to the HDMI driver. We call it "NIU", which is for "Native Interface > Unit" This still doesn't make sense to me. You're saying that "pclk_vo_niu, hclk_vo_s_niu" depend on "hclk_vo_niu", but HDMI doesn't use pclk_vo, it uses pclk_hdmi. I don't see how these "niu" clocks are related to HDMI from your description. The pclk_vo should remain being disabled for HDMI. I already said before that the datasheet suggests that hclk_vo needs to be enabled in order to ungate the AHB part of the VO module, which is needed for CPU accesses. Elain, could you please confirm this or clarify more about why hclk_vo needs to be enabled for HDMI?