Quoting Sebastian Reichel (2019-11-08 14:34:15) > Hi, > > On Fri, Nov 08, 2019 at 06:53:29PM +0100, Alexandre Belloni wrote: > > On 08/11/2019 18:01:35+0100, Sebastian Reichel wrote: > > > Congatec's QMX6 system on module (SoM) uses a m41t62 as RTC. The > > > modules SQW clock output defaults to 32768 Hz. This behaviour is > > > used to provide the i.MX6 CKIL clock. Once the RTC driver is probed, > > > the clock is disabled and all i.MX6 functionality depending on > > > the 32 KHz clock have undefined behaviour (e.g. the hardware watchdog > > > run to fast or slow). > > > > > > The normal solution would be to properly describe the clock tree > > > in DT, but from the kernel's perspective this is a chicken-and-egg > > > problem: CKIL is required very early, but the clock is only provided > > > after the I2C RTC has been probed. > > > > > > Technically everything is fine by not touching anything, so this > > > works around the issue by disabling the clock handling from the > > > RTC driver. I guess the proper solution would be to simply mark the > > > clock as always-enabled, but this does not seem to be supported by > > > the clock framework. > > > > > > > You need to have a consumer so this clock is not disabled by the CCF > > after seeing nobody uses it. > > That's why I was wondering if we can have something like regulator's > always-enabled for clocks. There's a flag CLK_IS_CRITICAL that providers can set. > > > If you need it early, you can have a look at rtc-sun6i.c but I > > would like that to not become a recurrent pattern, especially for > > discrete RTCs. > > I don't just need it early. The issue is, that CKIL is the 32khz > low frequency clock fed into the i.MX6. It is initialized by the > clock manager, so I need it before any of the SoC clocks are > registered. Without the SoC clocks, the I2C bus cannot be probed > and thus the RTC driver cannot be probed. > Is this the chicken-egg scenario? I read this thread but I can't follow along with what the problem is. Sorry.