mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Yu-Chun Lin [林祐君]" <eleanor.lin@realtek.com>
To: Jerome Brunet <jbrunet@baylibre.com>
Cc: "sboyd@kernel.org" <sboyd@kernel.org>,
	"bmasney+clk@redhat.com" <bmasney+clk@redhat.com>,
	"jbrunet+clk@baylibre.com" <jbrunet+clk@baylibre.com>,
	"robh@kernel.org" <robh@kernel.org>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
	"Edgar Lee [李承諭]" <cylee12@realtek.com>,
	"afaerber@suse.com" <afaerber@suse.com>,
	"Jyan Chou [周芷安]" <jyanchou@realtek.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-realtek-soc@lists.infradead.org"
	<linux-realtek-soc@lists.infradead.org>,
	"James Tai [戴志峰]" <james.tai@realtek.com>,
	"CY_Huang[黃鉦晏]" <cy.huang@realtek.com>,
	"Stanley Chang[昌育德]" <stanley_chang@realtek.com>,
	"Brian Masney" <bmasney@redhat.com>
Subject: RE: [PATCH v14 09/11] clk: realtek: Add RTD1625-CRT clock controller driver
Date: Wed, 30 Sep 2026 06:17:40 +0000	[thread overview]
Message-ID: <0288fc6490dd4bd4abb0773ad4b5e8d2@realtek.com> (raw)
In-Reply-To: <1jjyo98zh4.fsf@starbuckisacylon.baylibre.com>

> > Hi Jerome,
> >
> >> > +
> >> > +static const char * const clk_gpu_parents[] = {"pll_gpu",
> >> > +"clk_sys"}; static RTK_CLK_REGMAP_MUX(clk_gpu, clk_gpu_parents,
> >> CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT,
> >> > +                       0x28, 12, 0x1); static const char * const
> >> > +clk_ve_parents[] = {"pll_vo", "clk_sysh", "pll_ve1", "pll_ve2"};
> >> > +static RTK_CLK_REGMAP_MUX(clk_ve1, clk_ve_parents,
> >> CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT,
> >> > +                       0x4c, 0, 0x3); static
> >> > +RTK_CLK_REGMAP_MUX(clk_ve2, clk_ve_parents,
> CLK_SET_RATE_PARENT |
> >> CLK_SET_RATE_NO_REPARENT,
> >> > +                       0x4c, 3, 0x3); static
> >> > +RTK_CLK_REGMAP_MUX(clk_ve4, clk_ve_parents,
> CLK_SET_RATE_PARENT |
> >> CLK_SET_RATE_NO_REPARENT,
> >> > +                       0x4c, 6, 0x3); static
> >> > +RTK_CLK_REGMAP_GATE_NO_PARENT(clk_en_misc, CLK_IS_CRITICAL,
> 0x50,
> >> 0,
> >> > +1); clk_en_pcie0, 0, 0x50, 2,
> >> > +1); clk_en_gspi, 0, 0x50, 6, 1);
> >> > +clk_en_iso_misc, 0, 0x50, 10,
> >> > +1); clk_en_sds, 0, 0x50, 12, 1);
> >> > +clk_en_hdmi, 0, 0x50, 14, 1);
> >>
> >> This is a lot of clock with no parents which is a bit suspicious
> >> especially for gates.
> >> What is really feeding those ?
> >>
> >
> > In v15, we will do our best to reduce the number of gate clocks without a
> parent.
> >
> > However, after discussing with our colleague, we confirmed that for
> > some of these NO_PARENT gate clocks, their actual upstream clocks
> > (like PLLs and
> > Muxes) are located in separate, independent hardware subsystems. The
> > registers controlling those upstream clocks are physically
> > inaccessible from the Linux CPU domain.
> 
> Control and input are different things. It feels like your DT (binding) description
> is not complete as it stands which will eventually be a problem.
> 
> A clock with no input is something that does generate the clock by itself, like an
> osciallator. Pretending it has no parent because you don't know how describe it
> yet is wrong.
> 

Thanks for your explanation.

In v15, there will be no more NO_PARENT for gates. For example,
mipi_csi -> clk_sysh, and all other gates -> clk_sys.

Additionally, we will properly model the firmware-managed PLLs backed by
real hardware registers. We will replace the fixed 351 MHz pll_vodma with
a read-only MNO PLL.

This allows the CCF to correctly derive the frequency from the register
(e.g., when acting as a parent for muxes), while guaranteeing the kernel
will never reprogram or disable the boot code's settings.

Best regards,
Yu-Chun



  reply	other threads:[~2026-09-30  6:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-01  7:24 [PATCH v14 00/11] clk / reset: realtek: Add RTD1625 clock and reset support Yu-Chun Lin
2026-09-01  7:24 ` [PATCH v14 01/11] dt-bindings: clock: Add Realtek RTD1625 Clock & Reset Controller Yu-Chun Lin
2026-09-01  7:24 ` [PATCH v14 02/11] reset: Add Realtek basic reset support Yu-Chun Lin
2026-09-01  7:24 ` [PATCH v14 03/11] reset: realtek: Add RTD1625 reset controller driver Yu-Chun Lin
2026-09-01  7:24 ` [PATCH v14 04/11] clk: realtek: Introduce common probe() Yu-Chun Lin
2026-09-15 12:26   ` Jerome Brunet
2026-09-23  5:40     ` Yu-Chun Lin [林祐君]
2026-09-01  7:24 ` [PATCH v14 05/11] clk: realtek: Add support for phase locked loops (PLLs) Yu-Chun Lin
2026-09-01  7:24 ` [PATCH v14 06/11] clk: realtek: Add support for gate clock Yu-Chun Lin
2026-09-15 12:42   ` Jerome Brunet
2026-09-23  5:41     ` Yu-Chun Lin [林祐君]
2026-09-01  7:24 ` [PATCH v14 07/11] clk: realtek: Add support for mux clock Yu-Chun Lin
2026-09-15 12:53   ` Jerome Brunet
2026-09-23  5:42     ` Yu-Chun Lin [林祐君]
2026-09-01  7:24 ` [PATCH v14 08/11] clk: realtek: Add support for MMC-tuned PLL clocks Yu-Chun Lin
2026-09-01  7:24 ` [PATCH v14 09/11] clk: realtek: Add RTD1625-CRT clock controller driver Yu-Chun Lin
2026-09-15 13:02   ` Jerome Brunet
2026-09-23  5:43     ` Yu-Chun Lin [林祐君]
2026-09-25  9:14       ` Jerome Brunet
2026-09-30  6:17         ` Yu-Chun Lin [林祐君] [this message]
2026-09-01  7:24 ` [PATCH v14 10/11] clk: realtek: Add RTD1625-ISO " Yu-Chun Lin
2026-09-01  7:24 ` [PATCH v14 11/11] arm64: dts: realtek: Add clock support for RTD1625 Yu-Chun Lin

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=0288fc6490dd4bd4abb0773ad4b5e8d2@realtek.com \
    --to=eleanor.lin@realtek.com \
    --cc=afaerber@suse.com \
    --cc=bmasney+clk@redhat.com \
    --cc=bmasney@redhat.com \
    --cc=conor+dt@kernel.org \
    --cc=cy.huang@realtek.com \
    --cc=cylee12@realtek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=james.tai@realtek.com \
    --cc=jbrunet+clk@baylibre.com \
    --cc=jbrunet@baylibre.com \
    --cc=jyanchou@realtek.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-realtek-soc@lists.infradead.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=stanley_chang@realtek.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

all inboxes | Powered by JetHome®