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 00:26:26 +0200	[thread overview]
Message-ID: <20260903002626.18f51816@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
> 
> > Yet the &gpt1_mux_fck is a mux, and one of the parent is indeed
> > &omap_32k_fck [3]. So I suspect the correct assigned clock parent in
> > timer@0 should be &gpt1_mux_fck.
> > 
> > Can you try it that way?
> >   
> [    0.000000] OMAP clocksource: 32k_counter at 32768 Hz                        
> [    0.000000] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xfffffffs
> [    0.000000] sched_clock: 32 bits at 33kHz, resolution 30517ns, wraps every 6s
> [    0.013458] dmtimer_systimer_setup: clock source init failed: -517           
> 
> The system does not boot much further.
> 
I got this a bit further by fully replacing this composite clock.
With the system having a system timer, it boots till login prompt.
But:

[   32.069946] omap_dm_timer_set_source: failed to set timer_32k_ck as parent
[   32.094116] omap-dmtimer-pwm pwm-11: invalid pmtimer fclk rate
[   32.094146] pwm-backlight backlight: error -EINVAL: failed to apply initial PWM state
[   32.094177] pwm-backlight backlight: probe with driver pwm-backlight failed with error -22

This clock comes from here:
clk/ti/clk-3xxx.c:	DT_CLK(NULL, "timer_32k_ck", "omap_32k_fck"),

So same pattern. A composite clock cannot get its parent because there
is the expection that such behave like a combined clock made from mux + gate clock.


I have not found out if the early registration stuff in timer-ti-dm-systimer.c
is part of the mess. OMAP4 devicetrees I use, use assigned-clock-parents in
combination with ti,clkctrl clocks. That seems to work.

Regards,
Andreas

  reply	other threads:[~2026-09-02 22:26 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 [this message]
2026-09-03  9:53       ` Andreas Kemnade
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=20260903002626.18f51816@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.