Re: BD71847 clk driver disables clk-32k-out causing RTC/WDT failure

From: Matti Vaittinen
Date: Tue Sep 13 2022 - 14:01:05 EST


Thanks for the input Sebastian!

On 9/13/22 18:21, Sebastian Reichel wrote:
Hi,

I had the same trouble before for QMX6 system on module, which feeds
the i.MX6 32k clock via I2C RTC's 32k output. Here is how it has
been solved upstream:

https://lore.kernel.org/all/20210428222953.235280-1-sebastian.reichel@xxxxxxxxxxxxx/


So, if my poor brains (that have been conferencing the whole day) can still read this correctly - upstream solution is that drivers controllong clock gate need to have this "fixed-clock" propery check && not register the gate if fixed-clock is present, right?

I think the fixed clock is better than the vendor specific property as it still describes the real HW. I am not really thrilled by the fact that each clk (provider) driver may potentially need to implement this as no one knows when the clocks are used in such an environment. This is why I feel the support would better fit the core. (Yep - I didn't yet read the linked discussion - I know people who are smarter than me have probably thought this through already).

So, basically this would require adding fixed-clock node in PMIC node when the 32K clock must not be touched. I hope this suits the people looking after the board dts files. In the clk driver it requires the check for "fixed-clock" node + return w/o registering the clk if node is there.

I guess we could at least have a registration API (something like clk_register_if_not_fixed(), but "naming is hard" said Rob once to me) - it would not only slightly simplify the drivers but it would also help avoiding this same discussion with the next board where similar problem is surfacing. This of course needs buy-in from Stephen (as does any change to bd718x7-clk which goes through his tree).

Finally this probably requires the binding docs changes to all PMICs which use the bd718x7-clk driver - and I guess that is Rob's territory.

I am happy if someone patches the bd718x7-clk + all the binding docs. Especially the binding docs - I never get the right at first shot. I can also try giving a hand with the clk-bd718x7 if no one else will, but that will take some time (I'm currently travelling) :( Tim, others, please let me know if you wish me to try looking at this.

Yours
-- Matti

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~