devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: "zhangqing@rock-chips.com" <zhangqing@rock-chips.com>
Cc: 闫孝军 <andy.yan@rock-chips.com>,
	"Dmitry Osipenko" <dmitry.osipenko@collabora.com>,
	"robin.murphy" <robin.murphy@arm.com>,
	张晴 <elaine.zhang@rock-chips.com>,
	huangtao <huangtao@rock-chips.com>,
	devicetree <devicetree@vger.kernel.org>,
	操瑞杰 <algea.cao@rock-chips.com>,
	"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
	pgwipeout <pgwipeout@gmail.com>, hjc <hjc@rock-chips.com>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	杨凯 <Kever.yang@rock-chips.com>,
	linux-rockchip <linux-rockchip@lists.infradead.org>,
	"Michael Riesch" <michael.riesch@wolfvision.net>,
	kernel <kernel@pengutronix.de>,
	"Dmitry Osipenko" <digetx@gmail.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: Re: [PATCH v7 10/24] drm/rockchip: dw_hdmi: Add support for hclk
Date: Wed, 9 Mar 2022 09:18:10 +0100	[thread overview]
Message-ID: <20220309081810.GH405@pengutronix.de> (raw)
In-Reply-To: <20220309094139198367142@rock-chips.com>

Hi Elaine,

On Wed, Mar 09, 2022 at 09:41:39AM +0800, zhangqing@rock-chips.com wrote:
>    hi,all:
>    Let me explain the clock dependency:
>    From the clock tree, pclk_vo0 and hclk_vo0 are completely independent
>    clocks with different parent clocks and different clock frequencies。
>    But the niu path is :
>    pclk_vo is dependent on hclk_vo, and the pclk_vo niu goes through  hclk_vo
>    niu.

Thanks, this is the information we are looking for. What is "NIU" btw?
I think this is even documented in the Reference Manual. With the right
pointer I just found:

> 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 tree and NIU bus paths are designed independently
>    So there are three solutions to this problem:
>    1. DTS adds a reference to Hclk while referencing Pclk.
>    2, The dependent clock is always on, such as HCLK_VO0, but this is not
>    friendly for the system power.
>    3. Create a non-clock-tree reference. Clk-link, for example, we have an
>    implementation in our internal branch, but Upstream is not sure how to
>    push it.

I thought about something similar. That would help us here and on i.MX
we have a similar situation: We have one bit that switches multiple
clocks. That as well cannot be designed properly in the clock framework
currently, but could be modelled with a concept of linked clocks.

Doing this sounds like quite a bit of work and discussion though, I
don't really like having this as a dependency to mainline the VOP2
driver. I vote for 1. in that case, we could still ignore the hclk in
dts later when we have linked clocks.

Sascha

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

  parent reply	other threads:[~2022-03-09  8:18 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-25  7:51 [PATCH v7 00/24] drm/rockchip: RK356x VOP2 support Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 01/24] drm/rockchip: Embed drm_encoder into rockchip_decoder Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 02/24] drm/rockchip: Add crtc_endpoint_id to rockchip_encoder Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 03/24] drm/rockchip: dw_hdmi: rename vpll clock to reference clock Sascha Hauer
2022-02-28 10:59   ` Dmitry Osipenko
2022-02-25  7:51 ` [PATCH v7 04/24] dt-bindings: display: rockchip: dw-hdmi: use "ref" as clock name Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 05/24] arm64: dts: rockchip: rk3399: rename HDMI ref clock to 'ref' Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 06/24] drm/rockchip: dw_hdmi: add rk3568 support Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 07/24] dt-bindings: display: rockchip: dw-hdmi: Add compatible for rk3568 HDMI Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 08/24] drm/rockchip: dw_hdmi: add regulator support Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 09/24] dt-bindings: display: rockchip: dw-hdmi: Add " Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 10/24] drm/rockchip: dw_hdmi: Add support for hclk Sascha Hauer
2022-02-25 10:26   ` Dmitry Osipenko
2022-02-25 10:49     ` Sascha Hauer
2022-02-25 11:10       ` Dmitry Osipenko
2022-02-25 11:37         ` Sascha Hauer
2022-02-25 12:41         ` Robin Murphy
2022-02-25 13:11           ` Sascha Hauer
2022-02-25 13:33             ` Robin Murphy
2022-02-28 14:19             ` Sascha Hauer
2022-02-28 22:56               ` Dmitry Osipenko
2022-03-01  8:37                 ` Sascha Hauer
2022-03-01 13:22                   ` Dmitry Osipenko
2022-03-01 13:39               ` Robin Murphy
2022-03-02 11:25                 ` Sascha Hauer
2022-03-04 14:22                   ` Sascha Hauer
2022-03-04 23:55                     ` Dmitry Osipenko
2022-03-08  3:31                       ` Andy Yan
     [not found]                         ` <20220309094139198367142@rock-chips.com>
2022-03-09  8:18                           ` Sascha Hauer [this message]
2022-03-09  8:37                             ` elaine.zhang
2022-03-09 12:06                               ` Robin Murphy
2022-02-25  7:51 ` [PATCH v7 11/24] dt-bindings: display: rockchip: dw-hdmi: Add additional clock Sascha Hauer
2022-03-09 12:06   ` Robin Murphy
2022-02-25  7:51 ` [PATCH v7 12/24] drm/rockchip: dw_hdmi: Use auto-generated tables Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 13/24] drm/rockchip: dw_hdmi: drop mode_valid hook Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 14/24] drm/rockchip: dw_hdmi: Set cur_ctr to 0 always Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 15/24] drm/rockchip: dw_hdmi: add default 594Mhz clk for 4K@60hz Sascha Hauer
2022-03-07 12:06   ` Andy Yan
2022-02-25  7:51 ` [PATCH v7 16/24] dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 17/24] arm64: dts: rockchip: rk356x: Add VOP2 nodes Sascha Hauer
2022-02-25  8:04   ` Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 18/24] arm64: dts: rockchip: rk356x: Add HDMI nodes Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 19/24] arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 20/24] arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 21/24] drm/rockchip: Make VOP driver optional Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 22/24] drm: rockchip: Add VOP2 driver Sascha Hauer
2022-03-03 16:07   ` Aw: " Frank Wunderlich
2022-03-07 12:18   ` Andy Yan
2022-03-07 12:54     ` Sascha Hauer
2022-03-07 13:09     ` Daniel Stone
2022-03-08  8:42       ` Andy Yan
2022-03-08 14:04         ` Daniel Stone
2022-03-09  2:03           ` Andy Yan
2022-03-09  7:37             ` Andy Yan
2022-03-14 11:02               ` Andy Yan
2022-03-14 13:38                 ` Daniel Stone
2022-02-25  7:51 ` [PATCH v7 23/24] dt-bindings: display: rockchip: Add binding for VOP2 Sascha Hauer
2022-02-25  7:51 ` [PATCH v7 24/24] dt-bindings: display: rockchip: dw-hdmi: fix ports description Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220309081810.GH405@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=Kever.yang@rock-chips.com \
    --cc=algea.cao@rock-chips.com \
    --cc=andy.yan@rock-chips.com \
    --cc=benjamin.gaignard@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=digetx@gmail.com \
    --cc=dmitry.osipenko@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=elaine.zhang@rock-chips.com \
    --cc=hjc@rock-chips.com \
    --cc=huangtao@rock-chips.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=michael.riesch@wolfvision.net \
    --cc=pgwipeout@gmail.com \
    --cc=robin.murphy@arm.com \
    --cc=zhangqing@rock-chips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).