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. 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. -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com