hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
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"
....@@ -383,20 +389,20 @@
383389 depends on MFD_RK808
384390 help
385391 If you say yes here you will get support for the
386
- RTC of RK805, RK808 , RK809, RK816, RK817 and RK818 PMIC.
392
+ RTC of RK805, RK809 and RK817, RK808, RK816 and RK818 PMIC.
387393
388394 This driver can also be built as a module. If so, the module
389395 will be called rk808-rtc.
390396
391
-config RTC_DRV_RK_TIMER
392
- tristate "Rockchip timer RTC"
393
- depends on OF
397
+config RTC_DRV_ROCKCHIP
398
+ tristate "Rockchip RTC"
399
+ depends on ARCH_ROCKCHIP
394400 help
395401 If you say yes here you will get support for the
396
- RTC of Rockchip timer.
402
+ RTC of Rockchip.
397403
398404 This driver can also be built as a module. If so, the module
399
- will be called rtc-rk-timer.
405
+ will be called rtc-rockchip.
400406
401407 config RTC_DRV_RS5C372
402408 tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A"
....@@ -455,6 +461,7 @@
455461
456462 config RTC_DRV_PCF85063
457463 tristate "NXP PCF85063"
464
+ select REGMAP_I2C
458465 help
459466 If you say yes here you get support for the PCF85063 RTC chip
460467
....@@ -463,7 +470,6 @@
463470
464471 config RTC_DRV_PCF85363
465472 tristate "NXP PCF85363"
466
- depends on I2C
467473 select REGMAP_I2C
468474 help
469475 If you say yes here you get support for the PCF85363 RTC chip.
....@@ -513,6 +519,16 @@
513519 help
514520 If you say Y here you will get support for the
515521 watchdog timer in the ST M41T60 and M41T80 RTC chips series.
522
+
523
+config RTC_DRV_BD70528
524
+ tristate "ROHM BD70528 PMIC RTC"
525
+ depends on MFD_ROHM_BD70528 && (BD70528_WATCHDOG || !BD70528_WATCHDOG)
526
+ help
527
+ If you say Y here you will get support for the RTC
528
+ block on ROHM BD70528 and BD71828 Power Management IC.
529
+
530
+ This driver can also be built as a module. If so, the module
531
+ will be called rtc-bd70528.
516532
517533 config RTC_DRV_BQ32K
518534 tristate "TI BQ32000"
....@@ -569,7 +585,7 @@
569585
570586 config RTC_DRV_TPS65910
571587 tristate "TI TPS65910 RTC driver"
572
- depends on RTC_CLASS && MFD_TPS65910
588
+ depends on MFD_TPS65910
573589 help
574590 If you say yes here you get support for the RTC on the
575591 TPS65910 chips.
....@@ -595,6 +611,16 @@
595611 This driver can also be built as a module. If so, the module
596612 will be called rtc-rc5t583.
597613
614
+config RTC_DRV_RC5T619
615
+ tristate "RICOH RC5T619 RTC driver"
616
+ depends on MFD_RN5T618
617
+ help
618
+ If you say yes here you get support for the RTC on the
619
+ RICOH RC5T619 chips.
620
+
621
+ This driver can also be built as a module. If so, the module
622
+ will be called rtc-rc5t619.
623
+
598624 config RTC_DRV_S35390A
599625 tristate "Seiko Instruments S-35390A"
600626 select BITREVERSE
....@@ -618,7 +644,7 @@
618644
619645 config RTC_DRV_RX8010
620646 tristate "Epson RX8010SJ"
621
- depends on I2C
647
+ select REGMAP_I2C
622648 help
623649 If you say yes here you get support for the Epson RX8010SJ RTC
624650 chip.
....@@ -627,9 +653,11 @@
627653 will be called rtc-rx8010.
628654
629655 config RTC_DRV_RX8581
630
- tristate "Epson RX-8581"
656
+ tristate "Epson RX-8571/RX-8581"
657
+ select REGMAP_I2C
631658 help
632
- If you say yes here you will get support for the Epson RX-8581.
659
+ If you say yes here you will get support for the Epson RX-8571/
660
+ RX-8581.
633661
634662 This driver can also be built as a module. If so the module
635663 will be called rtc-rx8581.
....@@ -652,6 +680,26 @@
652680 This driver can also be built as a module. If so, the module
653681 will be called rtc-em3027.
654682
683
+config RTC_DRV_RV3028
684
+ tristate "Micro Crystal RV3028"
685
+ select REGMAP_I2C
686
+ help
687
+ If you say yes here you get support for the Micro Crystal
688
+ RV3028.
689
+
690
+ This driver can also be built as a module. If so, the module
691
+ will be called rtc-rv3028.
692
+
693
+config RTC_DRV_RV3032
694
+ tristate "Micro Crystal RV3032"
695
+ select REGMAP_I2C
696
+ help
697
+ If you say yes here you get support for the Micro Crystal
698
+ RV3032.
699
+
700
+ This driver can also be built as a module. If so, the module
701
+ will be called rtc-rv3032.
702
+
655703 config RTC_DRV_RV8803
656704 tristate "Micro Crystal RV8803, Epson RX8900"
657705 help
....@@ -672,6 +720,16 @@
672720
673721 This driver can also be built as a module. If so, the module
674722 will be called rtc-s5m.
723
+
724
+config RTC_DRV_SD3078
725
+ tristate "ZXW Shenzhen whwave SD3078"
726
+ select REGMAP_I2C
727
+ help
728
+ If you say yes here you get support for the ZXW Shenzhen whwave
729
+ SD3078 RTC chips.
730
+
731
+ This driver can also be built as a module. If so, the module
732
+ will be called rtc-sd3078
675733
676734 endif # I2C
677735
....@@ -810,6 +868,7 @@
810868
811869 config RTC_DRV_PCF2123
812870 tristate "NXP PCF2123"
871
+ select REGMAP_SPI
813872 help
814873 If you say yes here you get support for the NXP PCF2123
815874 RTC chip.
....@@ -836,14 +895,14 @@
836895 default m if I2C=m
837896 default y if I2C=y
838897 default y if SPI_MASTER=y
839
- select REGMAP_I2C if I2C
840
- select REGMAP_SPI if SPI_MASTER
841898
842899 comment "SPI and I2C RTC drivers"
843900
844901 config RTC_DRV_DS3232
845902 tristate "Dallas/Maxim DS3232/DS3234"
846903 depends on RTC_I2C_AND_SPI
904
+ select REGMAP_I2C if I2C
905
+ select REGMAP_SPI if SPI_MASTER
847906 help
848907 If you say yes here you get support for Dallas Semiconductor
849908 DS3232 and DS3234 real-time clock chips. If an interrupt is associated
....@@ -863,9 +922,17 @@
863922 config RTC_DRV_PCF2127
864923 tristate "NXP PCF2127"
865924 depends on RTC_I2C_AND_SPI
925
+ select REGMAP_I2C if I2C
926
+ select REGMAP_SPI if SPI_MASTER
927
+ select WATCHDOG_CORE if WATCHDOG
866928 help
867929 If you say yes here you get support for the NXP PCF2127/29 RTC
868
- chips.
930
+ chips with integrated quartz crystal for industrial applications.
931
+ Both chips also have watchdog timer and tamper switch detection
932
+ features.
933
+
934
+ PCF2127 has an additional feature of 512 bytes battery backed
935
+ memory that's accessible using nvmem interface.
869936
870937 This driver can also be built as a module. If so, the module
871938 will be called rtc-pcf2127.
....@@ -873,6 +940,8 @@
873940 config RTC_DRV_RV3029C2
874941 tristate "Micro Crystal RV3029/3049"
875942 depends on RTC_I2C_AND_SPI
943
+ select REGMAP_I2C if I2C
944
+ select REGMAP_SPI if SPI_MASTER
876945 help
877946 If you say yes here you get support for the Micro Crystal
878947 RV3029 and RV3049 RTC chips.
....@@ -1034,17 +1103,6 @@
10341103 This chip features 8kb of extended NV-SRAM.
10351104
10361105 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.
10481106
10491107 config RTC_DRV_DS1742
10501108 tristate "Maxim/Dallas DS1742/1743"
....@@ -1247,13 +1305,6 @@
12471305 Select this to enable the ST-Ericsson AB8500 power management IC RTC
12481306 support. This chip contains a battery- and capacitor-backed RTC.
12491307
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
-
12571308 config RTC_DRV_OPAL
12581309 tristate "IBM OPAL RTC driver"
12591310 depends on PPC_POWERNV
....@@ -1267,14 +1318,14 @@
12671318
12681319 config RTC_DRV_ZYNQMP
12691320 tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
1270
- depends on OF
1321
+ depends on OF && HAS_IOMEM
12711322 help
12721323 If you say yes here you get support for the RTC controller found on
12731324 Xilinx Zynq Ultrascale+ MPSoC.
12741325
12751326 config RTC_DRV_CROS_EC
12761327 tristate "Chrome OS EC RTC driver"
1277
- depends on MFD_CROS_EC
1328
+ depends on CROS_EC
12781329 help
12791330 If you say yes here you will get support for the
12801331 Chrome OS Embedded Controller's RTC.
....@@ -1322,6 +1373,41 @@
13221373
13231374 This driver can also be built as a module, if so, the module
13241375 will be called "rtc-imxdi".
1376
+
1377
+config RTC_DRV_FSL_FTM_ALARM
1378
+ tristate "Freescale FlexTimer alarm timer"
1379
+ depends on ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
1380
+ help
1381
+ For the FlexTimer in LS1012A, LS1021A, LS1028A, LS1043A, LS1046A,
1382
+ LS1088A, LS208xA, we can use FTM as the wakeup source.
1383
+
1384
+ Say y here to enable FTM alarm support. The FTM alarm provides
1385
+ alarm functions for wakeup system from deep sleep.
1386
+
1387
+ This driver can also be built as a module, if so, the module
1388
+ will be called "rtc-fsl-ftm-alarm".
1389
+
1390
+config RTC_DRV_MESON
1391
+ tristate "Amlogic Meson RTC"
1392
+ depends on (ARM && ARCH_MESON) || COMPILE_TEST
1393
+ select REGMAP_MMIO
1394
+ help
1395
+ Support for the RTC block on the Amlogic Meson6, Meson8, Meson8b
1396
+ and Meson8m2 SoCs.
1397
+
1398
+ This driver can also be built as a module, if so, the module
1399
+ will be called "rtc-meson".
1400
+
1401
+config RTC_DRV_MESON_VRTC
1402
+ tristate "Amlogic Meson Virtual RTC"
1403
+ depends on ARCH_MESON || COMPILE_TEST
1404
+ default m if ARCH_MESON
1405
+ help
1406
+ If you say yes here you will get support for the
1407
+ Virtual RTC of Amlogic SoCs.
1408
+
1409
+ This driver can also be built as a module. If so, the module
1410
+ will be called rtc-meson-vrtc.
13251411
13261412 config RTC_DRV_OMAP
13271413 tristate "TI OMAP Real Time Clock"
....@@ -1422,6 +1508,7 @@
14221508 config RTC_DRV_AT91RM9200
14231509 tristate "AT91RM9200 or some AT91SAM9 RTC"
14241510 depends on ARCH_AT91 || COMPILE_TEST
1511
+ depends on OF
14251512 help
14261513 Driver for the internal RTC (Realtime Clock) module found on
14271514 Atmel AT91RM9200's and some AT91SAM9 chips. On AT91SAM9 chips
....@@ -1430,7 +1517,7 @@
14301517 config RTC_DRV_AT91SAM9
14311518 tristate "AT91SAM9 RTT as RTC"
14321519 depends on ARCH_AT91 || COMPILE_TEST
1433
- depends on HAS_IOMEM
1520
+ depends on OF && HAS_IOMEM
14341521 select MFD_SYSCON
14351522 help
14361523 Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
....@@ -1462,7 +1549,7 @@
14621549 tristate "Generic RTC support"
14631550 # Please consider writing a new RTC driver instead of using the generic
14641551 # RTC abstraction
1465
- depends on PARISC || M68K || PPC || SUPERH32 || COMPILE_TEST
1552
+ depends on PARISC || M68K || PPC || SUPERH || COMPILE_TEST
14661553 help
14671554 Say Y or M here to enable RTC support on systems using the generic
14681555 RTC abstraction. If you do not know what you are doing, you should
....@@ -1473,9 +1560,9 @@
14731560 depends on ARCH_PXA
14741561 select RTC_DRV_SA1100
14751562 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.
1563
+ If you say Y here you will get access to the real time clock
1564
+ built into your PXA27x or PXA3xx CPU. This RTC is actually 2 RTCs
1565
+ consisting of an SA1100 compatible RTC and the extended PXA RTC.
14791566
14801567 This RTC driver uses PXA RTC registers available since pxa27x
14811568 series (RDxR, RYxR) instead of legacy RCNR, RTAR.
....@@ -1546,6 +1633,16 @@
15461633 This driver can also be built as a module. If so, the module
15471634 will be called armada38x-rtc.
15481635
1636
+config RTC_DRV_CADENCE
1637
+ tristate "Cadence RTC driver"
1638
+ depends on OF && HAS_IOMEM
1639
+ help
1640
+ If you say Y here you will get access to Cadence RTC IP
1641
+ found on certain SOCs.
1642
+
1643
+ To compile this driver as a module, choose M here: the
1644
+ module will be called rtc-cadence.
1645
+
15491646 config RTC_DRV_FTRTC010
15501647 tristate "Faraday Technology FTRTC010 RTC"
15511648 depends on HAS_IOMEM
....@@ -1615,7 +1712,8 @@
16151712
16161713 config RTC_DRV_JZ4740
16171714 tristate "Ingenic JZ4740 SoC"
1618
- depends on MACH_INGENIC || COMPILE_TEST
1715
+ depends on MIPS || COMPILE_TEST
1716
+ depends on OF
16191717 help
16201718 If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
16211719 controllers.
....@@ -1664,15 +1762,6 @@
16641762 This drive can also be built as a module. If so, the module
16651763 will be called rtc-tegra.
16661764
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
-
16761765 config RTC_DRV_LOONGSON1
16771766 tristate "loongson1 RTC support"
16781767 depends on MACH_LOONGSON32
....@@ -1706,6 +1795,7 @@
17061795 config RTC_DRV_SNVS
17071796 tristate "Freescale SNVS RTC support"
17081797 select REGMAP_MMIO
1798
+ depends on ARCH_MXC || COMPILE_TEST
17091799 depends on HAS_IOMEM
17101800 depends on OF
17111801 help
....@@ -1714,6 +1804,14 @@
17141804
17151805 This driver can also be built as a module, if so, the module
17161806 will be called "rtc-snvs".
1807
+
1808
+config RTC_DRV_IMX_SC
1809
+ depends on IMX_SCU
1810
+ depends on HAVE_ARM_SMCCC
1811
+ tristate "NXP i.MX System Controller RTC support"
1812
+ help
1813
+ If you say yes here you get support for the NXP i.MX System
1814
+ Controller RTC module.
17171815
17181816 config RTC_DRV_SIRFSOC
17191817 tristate "SiRFSOC RTC"
....@@ -1742,6 +1840,16 @@
17421840
17431841 This driver can also be built as a module. If so, the module
17441842 will be called rtc-moxart
1843
+
1844
+config RTC_DRV_MT2712
1845
+ tristate "MediaTek MT2712 SoC based RTC"
1846
+ depends on ARCH_MEDIATEK || COMPILE_TEST
1847
+ help
1848
+ This enables support for the real time clock built in the MediaTek
1849
+ SoCs for MT2712.
1850
+
1851
+ This drive can also be built as a module. If so, the module
1852
+ will be called rtc-mt2712.
17451853
17461854 config RTC_DRV_MT6397
17471855 tristate "MediaTek PMIC based RTC"
....@@ -1821,13 +1929,23 @@
18211929 If you say yes here, you get support for the RTD1295 SoC
18221930 Real Time Clock.
18231931
1932
+config RTC_DRV_ASPEED
1933
+ tristate "ASPEED RTC"
1934
+ depends on OF
1935
+ depends on ARCH_ASPEED || COMPILE_TEST
1936
+ help
1937
+ If you say yes here you get support for the ASPEED BMC SoC real time
1938
+ clocks.
1939
+
1940
+ This driver can also be built as a module, if so, the module
1941
+ will be called "rtc-aspeed".
1942
+
18241943 comment "HID Sensor RTC drivers"
18251944
18261945 config RTC_DRV_HID_SENSOR_TIME
18271946 tristate "HID Sensor Time"
18281947 depends on USB_HID
1829
- select IIO
1830
- select HID_SENSOR_HUB
1948
+ depends on HID_SENSOR_HUB && IIO
18311949 select HID_SENSOR_IIO_COMMON
18321950 help
18331951 Say yes here to build support for the HID Sensors of type Time.
....@@ -1838,11 +1956,23 @@
18381956
18391957 config RTC_DRV_GOLDFISH
18401958 tristate "Goldfish Real Time Clock"
1841
- depends on MIPS && (GOLDFISH || COMPILE_TEST)
1959
+ depends on OF && HAS_IOMEM
1960
+ depends on GOLDFISH || COMPILE_TEST
18421961 help
18431962 Say yes to enable RTC driver for the Goldfish based virtual platform.
18441963
18451964 Goldfish is a code name for the virtual platform developed by Google
18461965 for Android emulation.
18471966
1967
+config RTC_DRV_WILCO_EC
1968
+ tristate "Wilco EC RTC"
1969
+ depends on WILCO_EC
1970
+ default m
1971
+ help
1972
+ If you say yes here, you get read/write support for the Real Time
1973
+ Clock on the Wilco Embedded Controller (Wilco is a kind of Chromebook)
1974
+
1975
+ This can also be built as a module. If so, the module will
1976
+ be named "rtc_wilco_ec".
1977
+
18481978 endif # RTC_CLASS