linux/drivers/rtc
Lukas Stockmann 7e9b836182 rtc: pcf85063: do a SW reset if POR failed
[ Upstream commit 2b7cbd9849 ]

Power-on Reset has a documented issue in PCF85063, refer to its datasheet,
section "Software reset":

"There is a low probability that some devices will have corruption of the
registers after the automatic power-on reset if the device is powered up
with a residual VDD level. It is required that the VDD starts at zero volts
at power up or upon power cycling to ensure that there is no corruption of
the registers. If this is not possible, a reset must be initiated after
power-up (i.e. when power is stable) with the software reset command"

Trigger SW reset if there is an indication that POR has failed.

Link: https://www.nxp.com/docs/en/data-sheet/PCF85063A.pdf
Signed-off-by: Lukas Stockmann <lukas.stockmann@siemens.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Link: https://lore.kernel.org/r/20250120093451.30778-1-alexander.sverdlin@siemens.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-05-02 07:50:57 +02:00
..
class.c driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
dev.c rtc: Remove unused rtc_dev_exit(). 2022-06-24 21:24:02 +02:00
interface.c rtc: check if __rtc_read_time was successful in rtc_timer_do_work() 2024-12-09 10:32:55 +01:00
Kconfig rtc: mt6397: select IRQ_DOMAIN instead of depending on it 2024-03-26 18:20:06 -04:00
lib.c rtc: Improve performance of rtc_time64_to_tm(). Add tests. 2021-08-10 00:09:21 +02:00
lib_test.c rtc: test: Fix invalid format specifier. 2024-03-26 18:19:18 -04:00
Makefile rtc: Add rtc driver for the Loongson family chips 2023-06-26 01:19:11 +02:00
nvmem.c nvmem: add explicit config option to read old syntax fixed OF cells 2024-05-17 12:01:55 +02:00
proc.c rtc: fix snprintf() checking in is_rtc_hctosys() 2021-05-25 00:36:11 +02:00
rtc-88pm80x.c rtc: 88pm80x: Convert to platform remove callback returning void 2023-03-17 23:03:16 +01:00
rtc-88pm860x.c rtc: 88pm860x: Convert to platform remove callback returning void 2023-03-17 23:03:16 +01:00
rtc-ab-b5ze-s3.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-ab-eoz9.c rtc: ab-eoz9: don't fail temperature reads on undervoltage notification 2024-12-09 10:32:57 +01:00
rtc-ab8500.c rtc: ab8500: Convert to platform remove callback returning void 2023-03-17 23:03:16 +01:00
rtc-abx80x.c rtc: abx80x: Fix WDT bit position of the status register 2024-12-09 10:32:55 +01:00
rtc-ac100.c rtc: ac100: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-armada38x.c rtc: remove redundant of_match_ptr() 2023-08-10 09:45:41 +02:00
rtc-as3722.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
rtc-asm9260.c rtc: asm9260: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-aspeed.c rtc: remove redundant of_match_ptr() 2023-08-10 09:45:41 +02:00
rtc-at91rm9200.c rtc: remove redundant of_match_ptr() 2023-08-10 09:45:41 +02:00
rtc-at91sam9.c rtc: at91sam9: fix OF node leak in probe() error path 2024-10-10 11:57:57 +02:00
rtc-au1xxx.c rtc: au1xxx: convert to SPDX identifier 2021-07-10 01:53:39 +02:00
rtc-bd70528.c rtc: bd70528: Drop BD70528 support 2021-06-20 22:24:52 +02:00
rtc-bq32k.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-bq4802.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-brcmstb-waketimer.c rtc: brcmstb-waketimer: support level alarm_irq 2023-11-20 11:59:30 +01:00
rtc-cadence.c rtc: cadence: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-cmos.c rtc: cmos: avoid taking rtc_lock for extended period of time 2024-12-14 20:00:16 +01:00
rtc-core.h rtc: Remove unused rtc_dev_exit(). 2022-06-24 21:24:02 +02:00
rtc-cpcap.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-cros-ec.c rtc: cros-ec: Detect and report supported alarm window size 2023-08-27 23:50:22 +02:00
rtc-da9052.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-da9055.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-da9063.c rtc: da9063: Mark the alarm IRQ as a wake IRQ 2023-08-17 01:09:50 +02:00
rtc-digicolor.c rtc: digicolor: quiet maybe-unused variable warning 2021-02-06 00:58:24 +01:00
rtc-ds1216.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-ds1286.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-ds1302.c rtc: ds1302: remove unnecessary spi_set_drvdata() 2022-11-15 21:01:51 +01:00
rtc-ds1305.c rtc: ds1305: Report maximum alarm limit to rtc core 2023-08-27 23:50:22 +02:00
rtc-ds1307.c rtc: ds1307: fix Wvoid-pointer-to-enum-cast warning 2023-08-16 01:32:08 +02:00
rtc-ds1343.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
rtc-ds1347.c rtc: ds1347: fix value written to century register 2022-11-15 21:01:51 +01:00
rtc-ds1374.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-ds1390.c rtc: ds1390: mark OF related data as maybe unused 2023-03-17 23:23:22 +01:00
rtc-ds1511.c rtc: ds1511: remove unused function 2021-04-17 11:21:04 +02:00
rtc-ds1553.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1672.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-ds1685.c rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff 2023-08-02 11:18:22 -07:00
rtc-ds1742.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-ds2404.c rtc: ds2404: Convert to GPIO descriptors 2023-08-17 00:55:56 +02:00
rtc-ds3232.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-efi.c rtc: efi: Avoid spamming the log on RTC read failure 2023-02-22 21:07:53 +01:00
rtc-em3027.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-ep93xx.c rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time 2020-12-03 23:49:31 +01:00
rtc-fm3130.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-fsl-ftm-alarm.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-ftrtc010.c rtc: ftrtc010: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-gamecube.c rtc: gamecube: Always reset HW_SRNPROT after read 2022-08-23 22:27:58 +02:00
rtc-generic.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-goldfish.c clocksource/drivers: Add a goldfish-timer clocksource 2022-04-11 11:48:01 +02:00
rtc-hid-sensor-time.c rtc: hid-sensor-time: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-hym8563.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-imx-sc.c rtc: imx-sc: remove .read_alarm 2021-04-29 23:03:26 +02:00
rtc-imxdi.c rtc: imxdi: add wakeup support 2021-05-25 00:41:25 +02:00
rtc-isl1208.c rtc: isl1208: Fix return value of nvmem callbacks 2024-08-03 08:54:29 +02:00
rtc-isl12022.c rtc: isl12022: implement support for the #clock-cells DT property 2023-08-16 01:27:01 +02:00
rtc-isl12026.c rtc: isl12026: Drop "_new" from probe callback name 2023-07-27 23:32:08 +02:00
rtc-jz4740.c rtc: jz4740: fix Wvoid-pointer-to-enum-cast warning 2023-08-16 01:32:08 +02:00
rtc-loongson.c rtc: loongson: clear TOY_MATCH0_REG in loongson_rtc_isr() 2025-02-08 09:52:28 +01:00
rtc-lp8788.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-lpc24xx.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-lpc32xx.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-m41t80.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-m41t93.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-m41t94.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-m48t35.c rtc: m48t35: remove SGI-IP27 kludge 2020-03-16 11:12:11 +01:00
rtc-m48t59.c rtc: m48t59: use platform_get_irq_optional 2021-03-11 09:48:09 +01:00
rtc-m48t86.c rtc: m48t86: add DT support for m48t86 2023-08-28 00:01:51 +02:00
rtc-max6900.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-max6902.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max6916.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max8907.c rtc: max8907: Drop unused i2c include 2023-02-01 09:13:35 +01:00
rtc-max8925.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max8997.c rtc: max8997: Fix the returned value in case of error in 'max8997_rtc_read_alarm()' 2018-11-22 18:11:35 +01:00
rtc-max8998.c rtc: maxim: Add SPDX license identifiers 2018-08-14 23:38:45 +02:00
rtc-max77686.c rtc: max77686: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-mc13xxx.c rtc: mc13xxx: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-mc146818-lib.c rtc: Extend timeout for waiting for UIP to clear to 1s 2024-01-31 16:18:56 -08:00
rtc-mcp795.c rtc: mcp795: Add SPI ID table 2021-10-01 23:28:28 +02:00
rtc-meson-vrtc.c rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time 2023-03-21 21:15:10 +01:00
rtc-meson.c rtc: meson: Fix email address in MODULE_AUTHOR 2022-05-18 00:20:39 +02:00
rtc-moxart.c rtc: moxart: switch to using gpiod API 2023-02-09 23:31:46 +01:00
rtc-mpc5121.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-mpfs.c rtc: mpfs: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-msc313.c rtc: msc313: Fix function prototype mismatch in msc313_rtc_probe() 2022-12-11 18:14:01 +01:00
rtc-msm6242.c rtc: msm6242: Remove unneeded msm6242_set()/msm6242_clear() functions 2019-11-18 15:23:54 +01:00
rtc-mt2712.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-mt6397.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-mt7622.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-mv.c rtc: mv: remove mv_rtc_alarm_ops 2021-01-16 23:19:26 +01:00
rtc-mxc.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-mxc_v2.c rtc: mxc_v2: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-nct3018y.c rtc: nct3018y: fix possible NULL dereference 2024-08-29 17:33:39 +02:00
rtc-ntxec.c rtc: New driver for RTC in Netronix embedded controller 2021-03-10 11:06:33 +00:00
rtc-nxp-bbnsm.c rtc: bbnsm: Add the bbnsm rtc support 2023-02-22 12:25:32 +01:00
rtc-omap.c rtc: omap: Do not check for 0 return after calling platform_get_irq() 2023-08-17 01:17:34 +02:00
rtc-opal.c rtc: opal: switch to RTC_FEATURE_UPDATE_INTERRUPT 2022-03-23 19:58:39 +01:00
rtc-optee.c rtc: optee: add RTC driver for OP-TEE RTC PTA 2022-03-25 11:42:50 +01:00
rtc-palmas.c rtc: palmas: Convert to platform remove callback returning void 2023-03-17 23:03:17 +01:00
rtc-pcap.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pcf2123.c rtc: pcf2123: use IRQ flags obtained from fwnode 2023-02-01 09:13:35 +01:00
rtc-pcf2127.c rtc: pcf2127: remove useless check 2023-08-27 23:53:06 +02:00
rtc-pcf8523.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-pcf8563.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-pcf8583.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-pcf50633.c rtc: pcf50633: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-pcf85063.c rtc: pcf85063: do a SW reset if POR failed 2025-05-02 07:50:57 +02:00
rtc-pcf85363.c rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call 2023-11-20 11:59:30 +01:00
rtc-pic32.c rtc: pic32: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-pl030.c amba: Make the remove callback return void 2021-02-02 14:25:50 +01:00
rtc-pl031.c rtc: pl031: fix rtc features null pointer dereference 2022-03-23 19:58:37 +01:00
rtc-pm8xxx.c rtc: pm8xxx: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-ps3.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pxa.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-r7301.c rtc: r7301: Replace spin_lock_irqsave with spin_lock in hard IRQ 2021-02-06 00:50:47 +01:00
rtc-r9701.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rc5t583.c rtc: rc5t583: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-rc5t619.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rk808.c rtc: rk808: reduce 'struct rk808' usage 2022-12-11 20:56:33 +01:00
rtc-rp5c01.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rs5c313.c rtc: rs5c313: correct some spelling mistakes 2022-12-15 23:34:31 +01:00
rtc-rs5c348.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rs5c372.c rtc: rs5c372: fix Wvoid-pointer-to-enum-cast warning 2023-08-16 01:32:08 +02:00
rtc-rtd119x.c rtc: rtd119x: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-rv3028.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-rv3029c2.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-rv3032.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-rv8803.c rtc: rv8803: fix Wvoid-pointer-to-enum-cast warning 2023-08-16 01:32:08 +02:00
rtc-rx4581.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rx6110.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-rx8010.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-rx8025.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-rx8581.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-rzn1.c rtc: rzn1: fix BCD to rtc_time conversion errors 2024-12-09 10:32:56 +01:00
rtc-s3c.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-s3c.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-s5m.c rtc: s5m: Drop S5M8763 support 2023-04-26 11:40:26 +01:00
rtc-s35390a.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-sa1100.c rtc: sa1100: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-sa1100.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rtc-sc27xx.c rtc: sc27xx: Fix format of SPDX identifier 2021-07-10 01:53:39 +02:00
rtc-sd3078.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-sh.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-snvs.c rtc: snvs: Allow a time difference on clock register read 2022-11-15 21:25:44 +01:00
rtc-spear.c rtc: spear: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-st-lpc.c rtc: st-lpc: Use IRQF_NO_AUTOEN flag in request_irq() 2024-12-09 10:32:55 +01:00
rtc-starfire.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-stk17ta8.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-stm32.c rtc: stm32: Use NOIRQ_SYSTEM_SLEEP_PM_OPS() 2023-08-17 00:53:00 +02:00
rtc-stmp3xxx.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-sun4v.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sun6i.c rtc: sun6i: remove unnecessary message 2023-09-06 01:26:04 +02:00
rtc-sunplus.c rtc: sunplus: Clean up redundant dev_err_probe() 2023-08-10 09:35:28 +02:00
rtc-sunxi.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-tegra.c rtc: tegra: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-test.c rtc: test: remove debug message 2020-12-03 23:43:23 +01:00
rtc-ti-k3.c rtc: Explicitly include correct DT includes 2023-07-27 23:31:29 +02:00
rtc-tps6586x.c rtc: tps6586x: Report maximum alarm limit to rtc core 2023-08-27 23:50:22 +02:00
rtc-tps65910.c rtc: tps65910: Remove redundant dev_warn() and do not check for 0 return after calling platform_get_irq() 2023-08-17 01:17:34 +02:00
rtc-twl.c rtc: twl: remove unnecessary messages 2023-09-06 01:26:04 +02:00
rtc-vt8500.c rtc: vt8500: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-wilco-ec.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-wm831x.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-wm8350.c rtc: wm8350: remove unnecessary messages 2023-09-06 01:26:04 +02:00
rtc-x1205.c rtc: Switch i2c drivers back to use .probe() 2023-06-06 23:29:37 +02:00
rtc-xgene.c rtc: xgene: Convert to platform remove callback returning void 2023-03-17 23:03:18 +01:00
rtc-zynqmp.c rtc: zynqmp: Fix optional clock name property 2025-02-17 09:40:41 +01:00
sysfs.c rtc: Include <linux/kstrtox.h> when appropriate 2022-11-15 21:01:51 +01:00