All of lore.kernel.org
 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: 23+ 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:41   ` sashiko-bot
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.