All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.