linux/Documentation/devicetree/bindings/rtc
Sebastian Reichel f765e349c3 rtc: m41t80: add support for fixed clock
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 has undefined behaviour. For example when using
the hardware watchdog the system will likely do arbitrary reboots.

Referencing the m41t62 directly results in a deadlock. The kernel
will see, that i.MX6 system clock needs the RTC clock and do probe
deferral. But the i.MX6 I2C module never becomes usable without the
i.MX6 CKIL clock and thus the RTC's clock will not be probed. So
from the kernel's perspective this is a chicken-and-egg problem.

Technically everything is fine by not touching anything, since
the RTC clock correctly enables the clock on reset (i.e. on
battery backup power loss) and also the bootloader enables it
in case an something (e.g. an unpatched kernel) disabled this
incorrectly.

A workaround for this issue is describing the square wave pin
as fixed-clock, which is registered early and basically how
this pin is used on the i.MX6.

Suggested-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Saravana Kannan <saravanak@google.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210428222953.235280-2-sebastian.reichel@collabora.com
2021-05-25 00:29:10 +02:00
..
abracon,abx80x.txt dt-bindings: rtc: Add RV1805 to abracon,abx80x bindings 2019-01-30 16:07:54 +01:00
allwinner,sun4i-a10-rtc.yaml dt-bindings: Change maintainer address 2019-12-12 18:38:10 -06:00
allwinner,sun6i-a31-rtc.yaml dt-bindings: rtc: sun6i-a31-rtc: Loosen the requirements on the clocks 2021-01-18 10:13:15 +01:00
alphascale,asm9260-rtc.txt doc: dt: add documentation for alphascale,asm9260-rtc 2016-03-14 17:08:14 +01:00
armada-380-rtc.txt rtc: armada38x: Add support for Armada 7K/8K 2017-02-21 23:21:30 +01:00
atmel,at91rm9200-rtc.yaml dt-bindings: rtc: at91rm9200: add sama7g5 compatible 2021-01-13 00:18:18 +01:00
atmel,at91sam9-rtc.txt dt-bindings: rtc: add microchip,sam9x60-rtt 2020-06-26 22:40:22 +02:00
brcm,brcmstb-waketimer.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
cdns,rtc.txt dt-bindings: rtc: Add bindings for Cadence RTC 2019-01-22 19:18:25 +01:00
cpcap-rtc.txt rtc: cpcap: new rtc driver 2017-03-09 01:32:35 +01:00
dallas,ds1390.txt rtc: ds1390: Fix the SPI chip select number 2016-08-31 18:21:34 +02:00
digicolor-rtc.txt
epson,rtc7301.txt rtc: add support for EPSON TOYOCOM RTC-7301SF/DG 2016-12-19 00:59:21 +01:00
epson,rx6110.txt Documentation: devicetree: add epson rx6110 binding 2016-03-14 17:08:09 +01:00
epson,rx8900.txt dt/bindings: Add bindings for Micro Crystal rv8803 2016-10-12 13:24:34 +02:00
faraday,ftrtc010.txt rtc: gemini: Augment DT bindings for Faraday 2017-07-06 22:37:15 +02:00
google,goldfish-rtc.txt dt-bindings: Add device tree binding for Goldfish RTC driver 2017-09-01 01:10:18 +02:00
haoyu,hym8563.txt
imxdi-rtc.yaml dt-bindings: rtc: Convert imxdi rtc to json-schema 2020-06-15 10:20:31 -06:00
ingenic,rtc.yaml dt-bindings: Add missing 'unevaluatedProperties' 2020-10-07 11:26:41 -05:00
isil,isl1208.txt dt-bindings: rtc: Update for new chip in isl1208 series 2019-02-17 21:29:10 +01:00
isil,isl12026.txt rtc: isl12026: new driver. 2018-03-17 14:20:51 +01:00
isil,isl12057.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
lpc32xx-rtc.txt
maxim-ds1302.txt rtc: ds1302: rewrite using SPI 2016-05-20 12:33:51 +02:00
maxim,ds1742.txt
maxim,ds3231.txt bindings: rtc: correct wrong reference in required properties 2017-02-12 00:34:42 +01:00
maxim,mcp795.txt rtc: mcp795: add devicetree support 2016-03-21 22:55:29 +01:00
microchip,pic32-rtc.txt dt/bindings: Add bindings for the PIC32 real time clock 2016-03-14 17:08:21 +01:00
microcrystal,rv3032.yaml dt-bindings: rtc: rv3032: add RV-3032 bindings 2020-10-19 22:47:56 +02:00
moxa,moxart-rtc.txt
nvidia,tegra20-rtc.txt
nxp,lpc1788-rtc.txt
nxp,pcf2127.yaml dt-bindings: rtc: pcf2127: update bindings 2021-02-06 00:57:26 +01:00
nxp,pcf8523.txt dt-binding: pcf8523: add xtal load capacitance 2019-01-22 18:56:52 +01:00
nxp,pcf85063.txt rtc: pcf85063: add Micro Crystal RV8263 support 2019-04-04 10:07:11 +02:00
nxp,rtc-2123.txt rtc: pcf2123: add proper compatible string 2019-08-20 21:42:19 +02:00
olpc-xo1-rtc.txt
orion-rtc.txt
pcf8563.txt rtc: pcf8563: Add NXP PCA8565 compatible 2021-02-13 21:51:05 +01:00
pcf85363.txt dt-bindings: rtc: pcf85363: Document pcf85263 real-time clock 2018-12-11 00:48:16 +01:00
pxa-rtc.txt
qcom-pm8xxx-rtc.yaml dt-bindings: rtc: qcom-pm8xxx-rtc: Add qcom pm8xxx rtc bindings 2021-04-17 00:20:01 +02:00
realtek,rtd119x.txt dt-bindings: rtc: Add Realtek RTD1295 2017-09-05 09:31:32 +02:00
renesas,sh-rtc.yaml dt-bindings: rtc: rtc-sh: Add missing power-domains property 2020-05-28 15:07:09 -06:00
rtc-aspeed.txt dt-bindings: rtc: Add on-chip ASPEED RTC documentation 2019-04-04 10:07:10 +02:00
rtc-cmos.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
rtc-ds1307.txt dt-bindings: rtc: ds1307: add rx8130 aux-voltage-chargeable support 2020-09-24 09:56:03 +02:00
rtc-fsl-ftm-alarm.txt dt-bindings: rtc: add bindings for FlexTimer Module 2019-08-23 16:20:31 +02:00
rtc-m41t80.txt rtc: m41t80: add support for fixed clock 2021-05-25 00:29:10 +02:00
rtc-meson-vrtc.txt dt-bindings: rtc: new binding for Amlogic VRTC 2019-08-22 23:08:30 +02:00
rtc-meson.txt dt-bindings: rtc: add device-tree bindings for the Amlogic Meson RTC 2019-02-11 09:41:21 +01:00
rtc-mt2712.txt dt-bindings: rtc: add bindings for MT2712 RTC 2020-03-16 11:13:47 +01:00
rtc-mt6397.txt dt-bindings: rtc: mediatek: add missing mt6397 rtc 2019-10-24 09:03:36 +01:00
rtc-mt7622.txt dt-bindings: rtc: mediatek: add bindings for MediaTek SoC based RTC 2017-10-25 23:05:53 +02:00
rtc-mxc_v2.yaml dt-bindings: rtc: Convert MXC RTC V2 to json-schema 2020-05-27 20:44:58 -06:00
rtc-mxc.yaml dt-bindings: rtc: Convert MXC RTC to json-schema 2020-05-27 20:44:36 -06:00
rtc-omap.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
rtc-opal.txt powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
rtc-palmas.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
rtc-st-lpc.txt
rtc.txt dt-bindings: rtc: Move trivial RTC over to a schemas of their own 2019-06-06 12:00:45 +02:00
rtc.yaml dt-bindings: Cleanup standard unit properties 2021-01-29 16:36:06 -06:00
s3c-rtc.yaml dt-bindings: Add missing 'unevaluatedProperties' 2020-10-07 11:26:41 -05:00
sa1100-rtc.yaml dt-bindings: rtc: Convert sa1100-rtc to json-schema 2020-07-13 12:49:44 -06:00
snvs-rtc.txt
spear-rtc.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
sprd,sc27xx-rtc.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
st,stm32-rtc.yaml dt-bindings: Remove cases of 'allOf' containing a '$ref' 2020-05-03 11:10:41 -05:00
stmp3xxx-rtc.txt
ti,bq32k.txt
trivial-rtc.yaml dt-bindings: rtc: pcf2127: update bindings 2021-02-06 00:57:26 +01:00
twl-rtc.txt Documentation: bindings: fix twl-rtc documentation 2016-11-05 00:07:43 +01:00
via,vt8500-rtc.txt
xgene-rtc.txt
xlnx-rtc.txt