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