hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/rtc/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # RTC class/drivers configuration
34 #
....@@ -39,9 +40,6 @@
3940 starts up, and when it resumes from a low power state. This
4041 device should record time in UTC, since the kernel won't do
4142 timezone correction.
42
-
43
- The driver for this RTC device must be loaded before late_initcall
44
- functions run, so it must usually be statically linked.
4543
4644 This clock should be battery-backed, so that it reads the correct
4745 time when the system boots from a power-off state. Otherwise, your
....@@ -185,8 +183,19 @@
185183 This driver can also be built as a module. If so, the module
186184 will be called rtc-ab-b5ze-s3.
187185
186
+config RTC_DRV_ABEOZ9
187
+ select REGMAP_I2C
188
+ tristate "Abracon AB-RTCMC-32.768kHz-EOZ9"
189
+ help
190
+ If you say yes here you get support for the Abracon
191
+ AB-RTCMC-32.768kHz-EOA9 I2C RTC chip.
192
+
193
+ This driver can also be built as a module. If so, the module
194
+ will be called rtc-ab-e0z9.
195
+
188196 config RTC_DRV_ABX80X
189197 tristate "Abracon ABx80x"
198
+ select WATCHDOG_CORE if WATCHDOG
190199 help
191200 If you say yes here you get support for Abracon AB080X and AB180X
192201 families of ultra-low-power battery- and capacitor-backed real-time
....@@ -228,6 +237,8 @@
228237
229238 config RTC_DRV_DS1307
230239 tristate "Dallas/Maxim DS1307/37/38/39/40/41, ST M41T00, EPSON RX-8025, ISL12057"
240
+ select REGMAP_I2C
241
+ select WATCHDOG_CORE if WATCHDOG
231242 help
232243 If you say yes here you get support for various compatible RTC
233244 chips (often with battery backup) connected with I2C. This driver
....@@ -270,7 +281,8 @@
270281
271282 config RTC_DRV_DS1374_WDT
272283 bool "Dallas/Maxim DS1374 watchdog timer"
273
- depends on RTC_DRV_DS1374
284
+ depends on RTC_DRV_DS1374 && WATCHDOG
285
+ select WATCHDOG_CORE
274286 help
275287 If you say Y here you will get support for the
276288 watchdog timer in the Dallas Semiconductor DS1374
....@@ -284,12 +296,6 @@
284296
285297 This driver can also be built as a module. If so, the module
286298 will be called rtc-ds1672.
287
-
288
-config RTC_DRV_FAKE
289
- tristate "FAKE RTC"
290
- help
291
- This driver as a virtual rtc module, if so, the module
292
- will be called "rtc-fake".
293299
294300 config RTC_DRV_HYM8563
295301 tristate "Haoyu Microelectronics HYM8563"
....@@ -368,35 +374,25 @@
368374 This driver can also be built as a module. If so, the module
369375 will be called rtc-max77686.
370376
371
-config RTC_DRV_RK630
372
- tristate "Rockchip RK630 RTC"
373
- depends on MFD_RK630
374
- help
375
- If you say yes here you will get support for the
376
- RTC of RK630.
377
-
378
- This driver can also be built as a module. If so, the module
379
- will be called rtc-rk630.
380
-
381377 config RTC_DRV_RK808
382378 tristate "Rockchip RK805/RK808/RK809/RK816/RK817/RK818 RTC"
383379 depends on MFD_RK808
384380 help
385381 If you say yes here you will get support for the
386
- RTC of RK805, RK808 , RK809, RK816, RK817 and RK818 PMIC.
382
+ RTC of RK805, RK809 and RK817, RK808, RK816 and RK818 PMIC.
387383
388384 This driver can also be built as a module. If so, the module
389385 will be called rk808-rtc.
390386
391
-config RTC_DRV_RK_TIMER
392
- tristate "Rockchip timer RTC"
393
- depends on OF
387
+config RTC_DRV_ROCKCHIP
388
+ tristate "Rockchip RTC"
389
+ depends on ARCH_ROCKCHIP
394390 help
395391 If you say yes here you will get support for the
396
- RTC of Rockchip timer.
392
+ RTC of Rockchip.
397393
398394 This driver can also be built as a module. If so, the module
399
- will be called rtc-rk-timer.
395
+ will be called rtc-rockchip.
400396
401397 config RTC_DRV_RS5C372
402398 tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A"
....@@ -455,6 +451,7 @@
455451
456452 config RTC_DRV_PCF85063
457453 tristate "NXP PCF85063"
454
+ select REGMAP_I2C
458455 help
459456 If you say yes here you get support for the PCF85063 RTC chip
460457
....@@ -463,7 +460,6 @@
463460
464461 config RTC_DRV_PCF85363
465462 tristate "NXP PCF85363"
466
- depends on I2C
467463 select REGMAP_I2C
468464 help
469465 If you say yes here you get support for the PCF85363 RTC chip.
....@@ -513,6 +509,16 @@
513509 help
514510 If you say Y here you will get support for the
515511 watchdog timer in the ST M41T60 and M41T80 RTC chips series.
512
+
513
+config RTC_DRV_BD70528
514
+ tristate "ROHM BD70528 PMIC RTC"
515
+ depends on MFD_ROHM_BD70528 && (BD70528_WATCHDOG || !BD70528_WATCHDOG)
516
+ help
517
+ If you say Y here you will get support for the RTC
518
+ block on ROHM BD70528 and BD71828 Power Management IC.
519
+
520
+ This driver can also be built as a module. If so, the module
521
+ will be called rtc-bd70528.
516522
517523 config RTC_DRV_BQ32K
518524 tristate "TI BQ32000"
....@@ -569,7 +575,7 @@
569575
570576 config RTC_DRV_TPS65910
571577 tristate "TI TPS65910 RTC driver"
572
- depends on RTC_CLASS && MFD_TPS65910
578
+ depends on MFD_TPS65910
573579 help
574580 If you say yes here you get support for the RTC on the
575581 TPS65910 chips.
....@@ -595,6 +601,16 @@
595601 This driver can also be built as a module. If so, the module
596602 will be called rtc-rc5t583.
597603
604
+config RTC_DRV_RC5T619
605
+ tristate "RICOH RC5T619 RTC driver"
606
+ depends on MFD_RN5T618
607
+ help
608
+ If you say yes here you get support for the RTC on the
609
+ RICOH RC5T619 chips.
610
+
611
+ This driver can also be built as a module. If so, the module
612
+ will be called rtc-rc5t619.
613
+
598614 config RTC_DRV_S35390A
599615 tristate "Seiko Instruments S-35390A"
600616 select BITREVERSE
....@@ -618,7 +634,7 @@
618634
619635 config RTC_DRV_RX8010
620636 tristate "Epson RX8010SJ"
621
- depends on I2C
637
+ select REGMAP_I2C
622638 help
623639 If you say yes here you get support for the Epson RX8010SJ RTC
624640 chip.
....@@ -627,9 +643,11 @@
627643 will be called rtc-rx8010.
628644
629645 config RTC_DRV_RX8581
630
- tristate "Epson RX-8581"
646
+ tristate "Epson RX-8571/RX-8581"
647
+ select REGMAP_I2C
631648 help
632
- If you say yes here you will get support for the Epson RX-8581.
649
+ If you say yes here you will get support for the Epson RX-8571/
650
+ RX-8581.
633651
634652 This driver can also be built as a module. If so the module
635653 will be called rtc-rx8581.
....@@ -652,6 +670,26 @@
652670 This driver can also be built as a module. If so, the module
653671 will be called rtc-em3027.
654672
673
+config RTC_DRV_RV3028
674
+ tristate "Micro Crystal RV3028"
675
+ select REGMAP_I2C
676
+ help
677
+ If you say yes here you get support for the Micro Crystal
678
+ RV3028.
679
+
680
+ This driver can also be built as a module. If so, the module
681
+ will be called rtc-rv3028.
682
+
683
+config RTC_DRV_RV3032
684
+ tristate "Micro Crystal RV3032"
685
+ select REGMAP_I2C
686
+ help
687
+ If you say yes here you get support for the Micro Crystal
688
+ RV3032.
689
+
690
+ This driver can also be built as a module. If so, the module
691
+ will be called rtc-rv3032.
692
+
655693 config RTC_DRV_RV8803
656694 tristate "Micro Crystal RV8803, Epson RX8900"
657695 help
....@@ -672,6 +710,16 @@
672710
673711 This driver can also be built as a module. If so, the module
674712 will be called rtc-s5m.
713
+
714
+config RTC_DRV_SD3078
715
+ tristate "ZXW Shenzhen whwave SD3078"
716
+ select REGMAP_I2C
717
+ help
718
+ If you say yes here you get support for the ZXW Shenzhen whwave
719
+ SD3078 RTC chips.
720
+
721
+ This driver can also be built as a module. If so, the module
722
+ will be called rtc-sd3078
675723
676724 endif # I2C
677725
....@@ -810,6 +858,7 @@
810858
811859 config RTC_DRV_PCF2123
812860 tristate "NXP PCF2123"
861
+ select REGMAP_SPI
813862 help
814863 If you say yes here you get support for the NXP PCF2123
815864 RTC chip.
....@@ -836,14 +885,14 @@
836885 default m if I2C=m
837886 default y if I2C=y
838887 default y if SPI_MASTER=y
839
- select REGMAP_I2C if I2C
840
- select REGMAP_SPI if SPI_MASTER
841888
842889 comment "SPI and I2C RTC drivers"
843890
844891 config RTC_DRV_DS3232
845892 tristate "Dallas/Maxim DS3232/DS3234"
846893 depends on RTC_I2C_AND_SPI
894
+ select REGMAP_I2C if I2C
895
+ select REGMAP_SPI if SPI_MASTER
847896 help
848897 If you say yes here you get support for Dallas Semiconductor
849898 DS3232 and DS3234 real-time clock chips. If an interrupt is associated
....@@ -863,9 +912,17 @@
863912 config RTC_DRV_PCF2127
864913 tristate "NXP PCF2127"
865914 depends on RTC_I2C_AND_SPI
915
+ select REGMAP_I2C if I2C
916
+ select REGMAP_SPI if SPI_MASTER
917
+ select WATCHDOG_CORE if WATCHDOG
866918 help
867919 If you say yes here you get support for the NXP PCF2127/29 RTC
868
- chips.
920
+ chips with integrated quartz crystal for industrial applications.
921
+ Both chips also have watchdog timer and tamper switch detection
922
+ features.
923
+
924
+ PCF2127 has an additional feature of 512 bytes battery backed
925
+ memory that's accessible using nvmem interface.
869926
870927 This driver can also be built as a module. If so, the module
871928 will be called rtc-pcf2127.
....@@ -873,6 +930,8 @@
873930 config RTC_DRV_RV3029C2
874931 tristate "Micro Crystal RV3029/3049"
875932 depends on RTC_I2C_AND_SPI
933
+ select REGMAP_I2C if I2C
934
+ select REGMAP_SPI if SPI_MASTER
876935 help
877936 If you say yes here you get support for the Micro Crystal
878937 RV3029 and RV3049 RTC chips.
....@@ -1034,17 +1093,6 @@
10341093 This chip features 8kb of extended NV-SRAM.
10351094
10361095 endchoice
1037
-
1038
-config RTC_DS1685_PROC_REGS
1039
- bool "Display register values in /proc"
1040
- depends on RTC_DRV_DS1685_FAMILY && PROC_FS
1041
- help
1042
- Enable this to display a readout of all of the RTC registers in
1043
- /proc/drivers/rtc. Keep in mind that this can potentially lead
1044
- to lost interrupts, as reading Control Register C will clear
1045
- all pending IRQ flags.
1046
-
1047
- Unless you are debugging this driver, choose N.
10481096
10491097 config RTC_DRV_DS1742
10501098 tristate "Maxim/Dallas DS1742/1743"
....@@ -1247,13 +1295,6 @@
12471295 Select this to enable the ST-Ericsson AB8500 power management IC RTC
12481296 support. This chip contains a battery- and capacitor-backed RTC.
12491297
1250
-config RTC_DRV_NUC900
1251
- tristate "NUC910/NUC920 RTC driver"
1252
- depends on ARCH_W90X900 || COMPILE_TEST
1253
- help
1254
- If you say yes here you get support for the RTC subsystem of the
1255
- NUC910/NUC920 used in embedded systems.
1256
-
12571298 config RTC_DRV_OPAL
12581299 tristate "IBM OPAL RTC driver"
12591300 depends on PPC_POWERNV
....@@ -1267,14 +1308,14 @@
12671308
12681309 config RTC_DRV_ZYNQMP
12691310 tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
1270
- depends on OF
1311
+ depends on OF && HAS_IOMEM
12711312 help
12721313 If you say yes here you get support for the RTC controller found on
12731314 Xilinx Zynq Ultrascale+ MPSoC.
12741315
12751316 config RTC_DRV_CROS_EC
12761317 tristate "Chrome OS EC RTC driver"
1277
- depends on MFD_CROS_EC
1318
+ depends on CROS_EC
12781319 help
12791320 If you say yes here you will get support for the
12801321 Chrome OS Embedded Controller's RTC.
....@@ -1322,6 +1363,41 @@
13221363
13231364 This driver can also be built as a module, if so, the module
13241365 will be called "rtc-imxdi".
1366
+
1367
+config RTC_DRV_FSL_FTM_ALARM
1368
+ tristate "Freescale FlexTimer alarm timer"
1369
+ depends on ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
1370
+ help
1371
+ For the FlexTimer in LS1012A, LS1021A, LS1028A, LS1043A, LS1046A,
1372
+ LS1088A, LS208xA, we can use FTM as the wakeup source.
1373
+
1374
+ Say y here to enable FTM alarm support. The FTM alarm provides
1375
+ alarm functions for wakeup system from deep sleep.
1376
+
1377
+ This driver can also be built as a module, if so, the module
1378
+ will be called "rtc-fsl-ftm-alarm".
1379
+
1380
+config RTC_DRV_MESON
1381
+ tristate "Amlogic Meson RTC"
1382
+ depends on (ARM && ARCH_MESON) || COMPILE_TEST
1383
+ select REGMAP_MMIO
1384
+ help
1385
+ Support for the RTC block on the Amlogic Meson6, Meson8, Meson8b
1386
+ and Meson8m2 SoCs.
1387
+
1388
+ This driver can also be built as a module, if so, the module
1389
+ will be called "rtc-meson".
1390
+
1391
+config RTC_DRV_MESON_VRTC
1392
+ tristate "Amlogic Meson Virtual RTC"
1393
+ depends on ARCH_MESON || COMPILE_TEST
1394
+ default m if ARCH_MESON
1395
+ help
1396
+ If you say yes here you will get support for the
1397
+ Virtual RTC of Amlogic SoCs.
1398
+
1399
+ This driver can also be built as a module. If so, the module
1400
+ will be called rtc-meson-vrtc.
13251401
13261402 config RTC_DRV_OMAP
13271403 tristate "TI OMAP Real Time Clock"
....@@ -1422,6 +1498,7 @@
14221498 config RTC_DRV_AT91RM9200
14231499 tristate "AT91RM9200 or some AT91SAM9 RTC"
14241500 depends on ARCH_AT91 || COMPILE_TEST
1501
+ depends on OF
14251502 help
14261503 Driver for the internal RTC (Realtime Clock) module found on
14271504 Atmel AT91RM9200's and some AT91SAM9 chips. On AT91SAM9 chips
....@@ -1430,7 +1507,7 @@
14301507 config RTC_DRV_AT91SAM9
14311508 tristate "AT91SAM9 RTT as RTC"
14321509 depends on ARCH_AT91 || COMPILE_TEST
1433
- depends on HAS_IOMEM
1510
+ depends on OF && HAS_IOMEM
14341511 select MFD_SYSCON
14351512 help
14361513 Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
....@@ -1462,7 +1539,7 @@
14621539 tristate "Generic RTC support"
14631540 # Please consider writing a new RTC driver instead of using the generic
14641541 # RTC abstraction
1465
- depends on PARISC || M68K || PPC || SUPERH32 || COMPILE_TEST
1542
+ depends on PARISC || M68K || PPC || SUPERH || COMPILE_TEST
14661543 help
14671544 Say Y or M here to enable RTC support on systems using the generic
14681545 RTC abstraction. If you do not know what you are doing, you should
....@@ -1473,9 +1550,9 @@
14731550 depends on ARCH_PXA
14741551 select RTC_DRV_SA1100
14751552 help
1476
- If you say Y here you will get access to the real time clock
1477
- built into your PXA27x or PXA3xx CPU. This RTC is actually 2 RTCs
1478
- consisting of an SA1100 compatible RTC and the extended PXA RTC.
1553
+ If you say Y here you will get access to the real time clock
1554
+ built into your PXA27x or PXA3xx CPU. This RTC is actually 2 RTCs
1555
+ consisting of an SA1100 compatible RTC and the extended PXA RTC.
14791556
14801557 This RTC driver uses PXA RTC registers available since pxa27x
14811558 series (RDxR, RYxR) instead of legacy RCNR, RTAR.
....@@ -1546,6 +1623,16 @@
15461623 This driver can also be built as a module. If so, the module
15471624 will be called armada38x-rtc.
15481625
1626
+config RTC_DRV_CADENCE
1627
+ tristate "Cadence RTC driver"
1628
+ depends on OF && HAS_IOMEM
1629
+ help
1630
+ If you say Y here you will get access to Cadence RTC IP
1631
+ found on certain SOCs.
1632
+
1633
+ To compile this driver as a module, choose M here: the
1634
+ module will be called rtc-cadence.
1635
+
15491636 config RTC_DRV_FTRTC010
15501637 tristate "Faraday Technology FTRTC010 RTC"
15511638 depends on HAS_IOMEM
....@@ -1615,7 +1702,8 @@
16151702
16161703 config RTC_DRV_JZ4740
16171704 tristate "Ingenic JZ4740 SoC"
1618
- depends on MACH_INGENIC || COMPILE_TEST
1705
+ depends on MIPS || COMPILE_TEST
1706
+ depends on OF
16191707 help
16201708 If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
16211709 controllers.
....@@ -1664,15 +1752,6 @@
16641752 This drive can also be built as a module. If so, the module
16651753 will be called rtc-tegra.
16661754
1667
-config RTC_DRV_PUV3
1668
- tristate "PKUnity v3 RTC support"
1669
- depends on ARCH_PUV3
1670
- help
1671
- This enables support for the RTC in the PKUnity-v3 SoCs.
1672
-
1673
- This drive can also be built as a module. If so, the module
1674
- will be called rtc-puv3.
1675
-
16761755 config RTC_DRV_LOONGSON1
16771756 tristate "loongson1 RTC support"
16781757 depends on MACH_LOONGSON32
....@@ -1706,6 +1785,7 @@
17061785 config RTC_DRV_SNVS
17071786 tristate "Freescale SNVS RTC support"
17081787 select REGMAP_MMIO
1788
+ depends on ARCH_MXC || COMPILE_TEST
17091789 depends on HAS_IOMEM
17101790 depends on OF
17111791 help
....@@ -1714,6 +1794,14 @@
17141794
17151795 This driver can also be built as a module, if so, the module
17161796 will be called "rtc-snvs".
1797
+
1798
+config RTC_DRV_IMX_SC
1799
+ depends on IMX_SCU
1800
+ depends on HAVE_ARM_SMCCC
1801
+ tristate "NXP i.MX System Controller RTC support"
1802
+ help
1803
+ If you say yes here you get support for the NXP i.MX System
1804
+ Controller RTC module.
17171805
17181806 config RTC_DRV_SIRFSOC
17191807 tristate "SiRFSOC RTC"
....@@ -1742,6 +1830,16 @@
17421830
17431831 This driver can also be built as a module. If so, the module
17441832 will be called rtc-moxart
1833
+
1834
+config RTC_DRV_MT2712
1835
+ tristate "MediaTek MT2712 SoC based RTC"
1836
+ depends on ARCH_MEDIATEK || COMPILE_TEST
1837
+ help
1838
+ This enables support for the real time clock built in the MediaTek
1839
+ SoCs for MT2712.
1840
+
1841
+ This drive can also be built as a module. If so, the module
1842
+ will be called rtc-mt2712.
17451843
17461844 config RTC_DRV_MT6397
17471845 tristate "MediaTek PMIC based RTC"
....@@ -1821,13 +1919,23 @@
18211919 If you say yes here, you get support for the RTD1295 SoC
18221920 Real Time Clock.
18231921
1922
+config RTC_DRV_ASPEED
1923
+ tristate "ASPEED RTC"
1924
+ depends on OF
1925
+ depends on ARCH_ASPEED || COMPILE_TEST
1926
+ help
1927
+ If you say yes here you get support for the ASPEED BMC SoC real time
1928
+ clocks.
1929
+
1930
+ This driver can also be built as a module, if so, the module
1931
+ will be called "rtc-aspeed".
1932
+
18241933 comment "HID Sensor RTC drivers"
18251934
18261935 config RTC_DRV_HID_SENSOR_TIME
18271936 tristate "HID Sensor Time"
18281937 depends on USB_HID
1829
- select IIO
1830
- select HID_SENSOR_HUB
1938
+ depends on HID_SENSOR_HUB && IIO
18311939 select HID_SENSOR_IIO_COMMON
18321940 help
18331941 Say yes here to build support for the HID Sensors of type Time.
....@@ -1838,11 +1946,23 @@
18381946
18391947 config RTC_DRV_GOLDFISH
18401948 tristate "Goldfish Real Time Clock"
1841
- depends on MIPS && (GOLDFISH || COMPILE_TEST)
1949
+ depends on OF && HAS_IOMEM
1950
+ depends on GOLDFISH || COMPILE_TEST
18421951 help
18431952 Say yes to enable RTC driver for the Goldfish based virtual platform.
18441953
18451954 Goldfish is a code name for the virtual platform developed by Google
18461955 for Android emulation.
18471956
1957
+config RTC_DRV_WILCO_EC
1958
+ tristate "Wilco EC RTC"
1959
+ depends on WILCO_EC
1960
+ default m
1961
+ help
1962
+ If you say yes here, you get read/write support for the Real Time
1963
+ Clock on the Wilco Embedded Controller (Wilco is a kind of Chromebook)
1964
+
1965
+ This can also be built as a module. If so, the module will
1966
+ be named "rtc_wilco_ec".
1967
+
18481968 endif # RTC_CLASS