linux/Documentation/devicetree/bindings/rtc
Alexander Stein 4c8a7b80d5 rtc: pcf85063: add support for fixed clock
TQ-Systems' TQMa8Mx module (SoM) uses a pcf85063 as RTC. The default output
is 32768Hz. This is to provide the i.MX8M CKIL clock. Once the RTC driver
is probed, the clock is disabled and all i.MX8M functionality depending on
the 32 KHz clock will halt. In our case the whole system halts and a power
cycle is required.

Referencing the pcf85063 directly results in a deadlock. The kernel
will see, that i.MX8M system clock needs the RTC clock and do probe
deferral. But the i.MX8M I2C module never becomes usable without the
i.MX8M 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).

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.MX8M.

This addresses the exact same issue as in commit f765e349c3 ("rtc:
m41t80: add support for fixed clock").

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
[Fixed return value 0 -> NULL]
Link: https://lore.kernel.org/r/20211013074954.997445-1-alexander.stein@ew.tq-group.com
2021-10-15 21:08:45 +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: Drop redundant minItems/maxItems 2021-06-21 13:56:46 -06:00
alphascale,asm9260-rtc.txt
arm,pl031.yaml dt-bindings: rtc: Add Arm PL031 schema 2021-06-08 20:01:38 -05:00
armada-380-rtc.txt
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
dallas,ds1390.txt
digicolor-rtc.txt
epson,rtc7301.txt
epson,rx6110.txt
epson,rx8900.yaml dt-bindings: rtc: rx8900: Convert to YAML schema 2021-06-20 22:32:41 +02:00
faraday,ftrtc010.yaml dt-bindings: More dropping redundant minItems/maxItems 2021-07-15 08:45:27 -06:00
google,goldfish-rtc.txt
haoyu,hym8563.txt
imxdi-rtc.yaml dt-bindings: Drop redundant minItems/maxItems 2021-06-21 13:56:46 -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
isil,isl12057.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
lpc32xx-rtc.txt
maxim-ds1302.txt
maxim,ds1742.txt
maxim,ds3231.txt
maxim,mcp795.txt
microchip,pic32-rtc.txt
microcrystal,rv3032.yaml dt-bindings: Remove "status" from schema examples 2021-07-27 08:03:12 -06:00
moxa,moxart-rtc.txt
mstar,msc313-rtc.yaml dt-bindings: rtc: Add Mstar MSC313e RTC devicetree bindings documentation 2021-09-26 00:17:09 +02:00
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,pcf8563.yaml dt-bindings: rtc: nxp,pcf8563: Absorb pcf85263/pcf85363 bindings 2021-06-16 13:55:04 -06:00
nxp,pcf85063.txt rtc: pcf85063: add support for fixed clock 2021-10-15 21:08:45 +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
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
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
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
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,bq32000.yaml dt-bindings: rtc: ti,bq32k: take maintainership 2021-07-10 01:39:22 +02:00
trivial-rtc.yaml dt-bindings: rtc: add Epson RX-8025 and RX-8035 2021-08-17 23:48:40 +02:00
twl-rtc.txt
via,vt8500-rtc.txt
xgene-rtc.txt
xlnx,zynqmp-rtc.yaml dt-bindings: rtc: zynqmp: convert bindings to YAML 2021-06-24 15:39:38 -06:00