[PATCH v8 09/24] drm/rockchip: dw_hdmi: Add support for niu clk

Sascha Hauer s.hauer at pengutronix.de
Mon Mar 14 01:18:35 PDT 2022


On Sun, Mar 13, 2022 at 12:07:56AM +0300, Dmitry Osipenko wrote:
> 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.

pclk_hdmi_host is a child clock of pclk_vo:

     aclk_vo                  2        2        0   300000000          0     0  50000         Y
        aclk_hdcp             0        0        0   300000000          0     0  50000         N
        pclk_vo               2        3        0    75000000          0     0  50000         Y
           pclk_edp_ctrl      0        0        0    75000000          0     0  50000         N
           pclk_dsitx_1       0        0        0    75000000          0     0  50000         N
           pclk_dsitx_0       1        2        0    75000000          0     0  50000         Y
           pclk_hdmi_host     1        2        0    75000000          0     0  50000         Y
           pclk_hdcp          0        0        0    75000000          0     0  50000         N
        hclk_vo               2        5        0   150000000          0     0  50000         Y
           hclk_hdcp          0        0        0   150000000          0     0  50000         N
           hclk_vop           0        2        0   150000000          0     0  50000         N

Sascha

> 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?
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-arm-kernel mailing list