From: Andreas Kemnade <andreas@kemnade.info>
To: "Mathieu Dubois-Briand" <mathieu.dubois-briand@bootlin.com>
Cc: "Tero Kristo" <kristo@kernel.org>,
"Michael Turquette" <mturquette@baylibre.com>,
"Stephen Boyd" <sboyd@kernel.org>,
"Brian Masney" <bmasney@redhat.com>,
"Tony Lindgren" <tony@atomide.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Grégory Clement" <gregory.clement@bootlin.com>,
linux-omap@vger.kernel.org, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org, hns@goldelico.com
Subject: Re: [PATCH v2 0/2] clk: ti: mux: resolve parent clocks by DT index, not by name
Date: Thu, 3 Sep 2026 11:53:08 +0200 [thread overview]
Message-ID: <20260903115308.2a569a30@kemnade.info> (raw)
In-Reply-To: <20260902111556.38645f32@kemnade.info>
On Wed, 2 Sep 2026 11:15:56 +0200
Andreas Kemnade <andreas@kemnade.info> wrote:
> On Wed, 02 Sep 2026 10:30:02 +0200
> "Mathieu Dubois-Briand" <mathieu.dubois-briand@bootlin.com> wrote:
>
> > On Wed Sep 2, 2026 at 8:26 AM CEST, Andreas Kemnade wrote:
> > > Hi,
> > >
> > > this seems to produce on OMAP3 (DM3730), even with the init fix.
> > >
> > > [ 0.000000] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff
> > > , max_idle_ns: 58327039986419 ns
> > > [ 0.000030] sched_clock: 32 bits at 33kHz, resolution 30517ns, wraps every 65
> > > 535999984741ns
> > > [ 0.013488] clk: failed to reparent gpt1_fck to omap_32k_fck: -22
> > > [ 0.019805] Failed to initialize '/ocp@68000000/target-module@48318000/timer@
> > > 0': -19
> > >
> > > Regards,
> > > Andreas
> >
> > Hi Andreas,
> >
> > That one will be a bit harder for me to debug, as I'm not sure I can
> > easily get this hardware. But looking at the device tree and the
> > reference manual, I suspect something is wrong in the omap3 device tree.
> >
> > In omap3.dtsi, we have this node [1]:
> >
> > &timer1_target {
> > ti,no-reset-on-init;
> > ti,no-idle;
> > timer@0 {
> > assigned-clocks = <&gpt1_fck>;
> > assigned-clock-parents = <&omap_32k_fck>;
> > };
> > };
> >
> > I suspect that's the source of the error: __set_clk_parents() in
> > drivers/clk/clk-conf.c will try to set &omap_32k_fck as a parent of
> > &gpt1_fck. But looking at omap3xxx-clocks.dtsi [2], &omap_32k_fck is not
> > a valid parent:
> >
> > gpt1_fck: gpt1_fck {
> > #clock-cells = <0>;
> > compatible = "ti,composite-clock";
> > clocks = <&gpt1_gate_fck>, <&gpt1_mux_fck>;
> > };
> >
> the composite clock is meant to combine the two clocks into one,
> so you have one single clock with enable/disable functions and
> parents. At least that seems to be the idea.
>
> If the system fully boots, you see:
> localhost:/sys/kernel/debug/clk/gpt1_fck# cat clk_possible_parents
> omap_32k_fck sys_ck
>
after doing some hacks around gpt1, I could investigate a bit
We have:
localhost:/sys/kernel/debug/clk# grep '(' */clk_possible_parents
clkout2_src_ck/clk_possible_parents:(missing) (missing) (missing) (missing)
gpt10_fck/clk_possible_parents:(missing) (missing)
gpt11_fck/clk_possible_parents:(missing) (missing)
gpt2_fck/clk_possible_parents:(missing) (missing)
gpt3_fck/clk_possible_parents:(missing) (missing)
gpt4_fck/clk_possible_parents:(missing) (missing)
gpt5_fck/clk_possible_parents:(missing) (missing)
gpt6_fck/clk_possible_parents:(missing) (missing)
gpt7_fck/clk_possible_parents:(missing) (missing)
gpt8_fck/clk_possible_parents:(missing) (missing)
gpt9_fck/clk_possible_parents:(missing) (missing)
mcbsp1_fck/clk_possible_parents:(missing) (missing)
mcbsp2_fck/clk_possible_parents:(missing) (missing)
mcbsp3_fck/clk_possible_parents:(missing) (missing)
mcbsp4_fck/clk_possible_parents:(missing) (missing)
mcbsp5_fck/clk_possible_parents:(missing) (missing)
sgx_fck/clk_possible_parents:(missing) (missing) (missing) (missing) (missing) (missing) (missing) (missing)
usim_fck/clk_possible_parents:(missing) (missing) (missing) (missing) (missing) (missing) (missing) (missing) (missing) (missing)
localhost:/sys/kernel/debug/clk#
All these clocks are composite clocks.
so the early-registration of timer-ti-dm-systimer seems not to be
the main issue here. Looking around what might be affected,
mux clocks build into composite clocks:
:~/linux/arch/arm/boot/dts/ti/omap$ grep -l ti,composite-mux *.dts*
omap2420-clocks.dtsi
omap2430-clocks.dtsi
omap24xx-clocks.dtsi
omap36xx-am35xx-omap3430es2plus-clocks.dtsi
omap36xx-omap3430es2plus-clocks.dtsi
omap3xxx-clocks.dtsi
omap44xx-clocks.dtsi
omap54xx-clocks.dtsi
So havoc all over the place, just worst in omap3 because more critical
clocks are affected.
So I think we need either a revert of these patches or a some
kind of quirk in clk_hw_register_composite_pdata to pass throuch something
between the mux component and the composite.
Regrads,
Andreas
next prev parent reply other threads:[~2026-09-03 9:53 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-27 7:41 [PATCH v2 0/2] clk: ti: mux: resolve parent clocks by DT index, not by name Mathieu Dubois-Briand
2026-07-27 7:41 ` [PATCH v2 1/2] " Mathieu Dubois-Briand
2026-07-28 14:11 ` Brian Masney
2026-08-14 5:43 ` Stephen Boyd
2026-08-18 16:02 ` Geert Uytterhoeven
2026-08-18 21:13 ` Brian Masney
2026-08-19 5:39 ` Mathieu Dubois-Briand
2026-08-19 12:32 ` Geert Uytterhoeven
2026-08-19 15:12 ` Mathieu Dubois-Briand
2026-08-19 19:13 ` Geert Uytterhoeven
2026-08-19 21:25 ` Brian Masney
2026-07-27 7:41 ` [PATCH v2 2/2] clk: ti: composite: " Mathieu Dubois-Briand
2026-07-28 14:11 ` Brian Masney
2026-08-14 5:43 ` Stephen Boyd
2026-09-02 6:26 ` [PATCH v2 0/2] clk: ti: mux: " Andreas Kemnade
2026-09-02 8:30 ` Mathieu Dubois-Briand
2026-09-02 9:15 ` Andreas Kemnade
2026-09-02 22:26 ` Andreas Kemnade
2026-09-03 9:53 ` Andreas Kemnade [this message]
2026-09-04 7:50 ` Mathieu Dubois-Briand
2026-09-04 13:41 ` Andreas Kemnade
2026-09-02 8:34 ` Andreas Kemnade
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=20260903115308.2a569a30@kemnade.info \
--to=andreas@kemnade.info \
--cc=bmasney@redhat.com \
--cc=gregory.clement@bootlin.com \
--cc=hns@goldelico.com \
--cc=kristo@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=mathieu.dubois-briand@bootlin.com \
--cc=mturquette@baylibre.com \
--cc=sboyd@kernel.org \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=tony@atomide.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