treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / drivers / rtc / Kconfig
blobdf7a3843069d6103cde1455aa67e7e2734337eb0
1 # SPDX-License-Identifier: GPL-2.0-only
3 # RTC class/drivers configuration
6 config RTC_LIB
7         bool
9 config RTC_MC146818_LIB
10         bool
11         select RTC_LIB
13 menuconfig RTC_CLASS
14         bool "Real Time Clock"
15         default n
16         depends on !S390 && !UML
17         select RTC_LIB
18         help
19           Generic RTC class support. If you say yes here, you will
20           be allowed to plug one or more RTCs to your system. You will
21           probably want to enable one or more of the interfaces below.
23 if RTC_CLASS
25 config RTC_HCTOSYS
26         bool "Set system time from RTC on startup and resume"
27         default y
28         help
29           If you say yes here, the system time (wall clock) will be set using
30           the value read from a specified RTC device. This is useful to avoid
31           unnecessary fsck runs at boot time, and to network better.
33 config RTC_HCTOSYS_DEVICE
34         string "RTC used to set the system time"
35         depends on RTC_HCTOSYS
36         default "rtc0"
37         help
38           The RTC device that will be used to (re)initialize the system
39           clock, usually rtc0. Initialization is done when the system
40           starts up, and when it resumes from a low power state. This
41           device should record time in UTC, since the kernel won't do
42           timezone correction.
44           The driver for this RTC device must be loaded before late_initcall
45           functions run, so it must usually be statically linked.
47           This clock should be battery-backed, so that it reads the correct
48           time when the system boots from a power-off state. Otherwise, your
49           system will need an external clock source (like an NTP server).
51           If the clock you specify here is not battery backed, it may still
52           be useful to reinitialize system time when resuming from system
53           sleep states. Do not specify an RTC here unless it stays powered
54           during all this system's supported sleep states.
56 config RTC_SYSTOHC
57         bool "Set the RTC time based on NTP synchronization"
58         default y
59         help
60           If you say yes here, the system time (wall clock) will be stored
61           in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11
62           minutes if userspace reports synchronized NTP status.
64 config RTC_SYSTOHC_DEVICE
65         string "RTC used to synchronize NTP adjustment"
66         depends on RTC_SYSTOHC
67         default RTC_HCTOSYS_DEVICE if RTC_HCTOSYS
68         default "rtc0"
69         help
70           The RTC device used for NTP synchronization. The main difference
71           between RTC_HCTOSYS_DEVICE and RTC_SYSTOHC_DEVICE is that this
72           one can sleep when setting time, because it runs in the workqueue
73           context.
75 config RTC_DEBUG
76         bool "RTC debug support"
77         help
78           Say yes here to enable debugging support in the RTC framework
79           and individual RTC drivers.
81 config RTC_NVMEM
82         bool "RTC non volatile storage support"
83         select NVMEM
84         default RTC_CLASS
85         help
86           Say yes here to add support for the non volatile (often battery
87           backed) storage present on RTCs.
89 comment "RTC interfaces"
91 config RTC_INTF_SYSFS
92         bool "/sys/class/rtc/rtcN (sysfs)"
93         depends on SYSFS
94         default RTC_CLASS
95         help
96           Say yes here if you want to use your RTCs using sysfs interfaces,
97           /sys/class/rtc/rtc0 through /sys/.../rtcN.
99           If unsure, say Y.
101 config RTC_INTF_PROC
102         bool "/proc/driver/rtc (procfs for rtcN)"
103         depends on PROC_FS
104         default RTC_CLASS
105         help
106           Say yes here if you want to use your system clock RTC through
107           the proc interface, /proc/driver/rtc.
108           Other RTCs will not be available through that API.
109           If there is no RTC for the system clock, then the first RTC(rtc0)
110           is used by default.
112           If unsure, say Y.
114 config RTC_INTF_DEV
115         bool "/dev/rtcN (character devices)"
116         default RTC_CLASS
117         help
118           Say yes here if you want to use your RTCs using the /dev
119           interfaces, which "udev" sets up as /dev/rtc0 through
120           /dev/rtcN.
122           You may want to set up a symbolic link so one of these
123           can be accessed as /dev/rtc, which is a name
124           expected by "hwclock" and some other programs. Recent
125           versions of "udev" are known to set up the symlink for you.
127           If unsure, say Y.
129 config RTC_INTF_DEV_UIE_EMUL
130         bool "RTC UIE emulation on dev interface"
131         depends on RTC_INTF_DEV
132         help
133           Provides an emulation for RTC_UIE if the underlying rtc chip
134           driver does not expose RTC_UIE ioctls. Those requests generate
135           once-per-second update interrupts, used for synchronization.
137           The emulation code will read the time from the hardware
138           clock several times per second, please enable this option
139           only if you know that you really need it.
141 config RTC_DRV_TEST
142         tristate "Test driver/device"
143         help
144           If you say yes here you get support for the
145           RTC test driver. It's a software RTC which can be
146           used to test the RTC subsystem APIs. It gets
147           the time from the system clock.
148           You want this driver only if you are doing development
149           on the RTC subsystem. Please read the source code
150           for further details.
152           This driver can also be built as a module. If so, the module
153           will be called rtc-test.
155 comment "I2C RTC drivers"
157 if I2C
159 config RTC_DRV_88PM860X
160         tristate "Marvell 88PM860x"
161         depends on MFD_88PM860X
162         help
163           If you say yes here you get support for RTC function in Marvell
164           88PM860x chips.
166           This driver can also be built as a module. If so, the module
167           will be called rtc-88pm860x.
169 config RTC_DRV_88PM80X
170         tristate "Marvell 88PM80x"
171         depends on MFD_88PM800
172         help
173           If you say yes here you get support for RTC function in Marvell
174           88PM80x chips.
176           This driver can also be built as a module. If so, the module
177           will be called rtc-88pm80x.
179 config RTC_DRV_ABB5ZES3
180         select REGMAP_I2C
181         tristate "Abracon AB-RTCMC-32.768kHz-B5ZE-S3"
182         help
183           If you say yes here you get support for the Abracon
184           AB-RTCMC-32.768kHz-B5ZE-S3 I2C RTC chip.
186           This driver can also be built as a module. If so, the module
187           will be called rtc-ab-b5ze-s3.
189 config RTC_DRV_ABEOZ9
190         select REGMAP_I2C
191         tristate "Abracon AB-RTCMC-32.768kHz-EOZ9"
192         help
193           If you say yes here you get support for the Abracon
194           AB-RTCMC-32.768kHz-EOA9 I2C RTC chip.
196           This driver can also be built as a module. If so, the module
197           will be called rtc-ab-e0z9.
199 config RTC_DRV_ABX80X
200         tristate "Abracon ABx80x"
201         select WATCHDOG_CORE if WATCHDOG
202         help
203           If you say yes here you get support for Abracon AB080X and AB180X
204           families of ultra-low-power  battery- and capacitor-backed real-time
205           clock chips.
207           This driver can also be built as a module. If so, the module
208           will be called rtc-abx80x.
210 config RTC_DRV_AC100
211         tristate "X-Powers AC100"
212         depends on MFD_AC100
213         help
214           If you say yes here you get support for the real-time clock found
215           in X-Powers AC100 family peripheral ICs.
217           This driver can also be built as a module. If so, the module
218           will be called rtc-ac100.
220 config RTC_DRV_BRCMSTB
221         tristate "Broadcom STB wake-timer"
222         depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
223         default ARCH_BRCMSTB || BMIPS_GENERIC
224         help
225           If you say yes here you get support for the wake-timer found on
226           Broadcom STB SoCs (BCM7xxx).
228           This driver can also be built as a module. If so, the module will
229           be called rtc-brcmstb-waketimer.
231 config RTC_DRV_AS3722
232         tristate "ams AS3722 RTC driver"
233         depends on MFD_AS3722
234         help
235           If you say yes here you get support for the RTC of ams AS3722 PMIC
236           chips.
238           This driver can also be built as a module. If so, the module
239           will be called rtc-as3722.
241 config RTC_DRV_DS1307
242         tristate "Dallas/Maxim DS1307/37/38/39/40/41, ST M41T00, EPSON RX-8025, ISL12057"
243         help
244           If you say yes here you get support for various compatible RTC
245           chips (often with battery backup) connected with I2C. This driver
246           should handle DS1307, DS1337, DS1338, DS1339, DS1340, DS1341,
247           ST M41T00, EPSON RX-8025, Intersil ISL12057 and probably other chips.
248           In some cases the RTC must already have been initialized (by
249           manufacturing or a bootloader).
251           The first seven registers on these chips hold an RTC, and other
252           registers may add features such as NVRAM, a trickle charger for
253           the RTC/NVRAM backup power, and alarms. NVRAM is visible in
254           sysfs, but other chip features may not be available.
256           This driver can also be built as a module. If so, the module
257           will be called rtc-ds1307.
259 config RTC_DRV_DS1307_CENTURY
260         bool "Century bit support for rtc-ds1307"
261         depends on RTC_DRV_DS1307
262         default n
263         help
264           The DS1307 driver suffered from a bug where it was enabling the
265           century bit inconditionnally but never used it when reading the time.
266           It made the driver unable to support dates beyond 2099.
267           Setting this option will add proper support for the century bit but if
268           the time was previously set using a kernel predating this option,
269           reading the date will return a date in the next century.
270           To solve that, you could boot a kernel without this option set, set
271           the RTC date and then boot a kernel with this option set.
273 config RTC_DRV_DS1374
274         tristate "Dallas/Maxim DS1374"
275         help
276           If you say yes here you get support for Dallas Semiconductor
277           DS1374 real-time clock chips. If an interrupt is associated
278           with the device, the alarm functionality is supported.
280           This driver can also be built as a module. If so, the module
281           will be called rtc-ds1374.
283 config RTC_DRV_DS1374_WDT
284         bool "Dallas/Maxim DS1374 watchdog timer"
285         depends on RTC_DRV_DS1374
286         help
287           If you say Y here you will get support for the
288           watchdog timer in the Dallas Semiconductor DS1374
289           real-time clock chips.
291 config RTC_DRV_DS1672
292         tristate "Dallas/Maxim DS1672"
293         help
294           If you say yes here you get support for the
295           Dallas/Maxim DS1672 timekeeping chip.
297           This driver can also be built as a module. If so, the module
298           will be called rtc-ds1672.
300 config RTC_DRV_HYM8563
301         tristate "Haoyu Microelectronics HYM8563"
302         depends on OF
303         help
304           Say Y to enable support for the HYM8563 I2C RTC chip. Apart
305           from the usual rtc functions it provides a clock output of
306           up to 32kHz.
308           This driver can also be built as a module. If so, the module
309           will be called rtc-hym8563.
311 config RTC_DRV_LP8788
312         tristate "TI LP8788 RTC driver"
313         depends on MFD_LP8788
314         help
315           Say Y to enable support for the LP8788 RTC/ALARM driver.
317 config RTC_DRV_MAX6900
318         tristate "Maxim MAX6900"
319         help
320           If you say yes here you will get support for the
321           Maxim MAX6900 I2C RTC chip.
323           This driver can also be built as a module. If so, the module
324           will be called rtc-max6900.
326 config RTC_DRV_MAX8907
327         tristate "Maxim MAX8907"
328         depends on MFD_MAX8907 || COMPILE_TEST
329         help
330           If you say yes here you will get support for the
331           RTC of Maxim MAX8907 PMIC.
333           This driver can also be built as a module. If so, the module
334           will be called rtc-max8907.
336 config RTC_DRV_MAX8925
337         tristate "Maxim MAX8925"
338         depends on MFD_MAX8925
339         help
340           If you say yes here you will get support for the
341           RTC of Maxim MAX8925 PMIC.
343           This driver can also be built as a module. If so, the module
344           will be called rtc-max8925.
346 config RTC_DRV_MAX8998
347         tristate "Maxim MAX8998"
348         depends on MFD_MAX8998
349         help
350           If you say yes here you will get support for the
351           RTC of Maxim MAX8998 PMIC.
353           This driver can also be built as a module. If so, the module
354           will be called rtc-max8998.
356 config RTC_DRV_MAX8997
357         tristate "Maxim MAX8997"
358         depends on MFD_MAX8997
359         help
360           If you say yes here you will get support for the
361           RTC of Maxim MAX8997 PMIC.
363           This driver can also be built as a module. If so, the module
364           will be called rtc-max8997.
366 config RTC_DRV_MAX77686
367         tristate "Maxim MAX77686"
368         depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST
369         help
370           If you say yes here you will get support for the
371           RTC of Maxim MAX77686/MAX77620/MAX77802 PMIC.
373           This driver can also be built as a module. If so, the module
374           will be called rtc-max77686.
376 config RTC_DRV_RK808
377         tristate "Rockchip RK805/RK808/RK809/RK817/RK818 RTC"
378         depends on MFD_RK808
379         help
380           If you say yes here you will get support for the
381           RTC of RK805, RK809 and RK817, RK808 and RK818 PMIC.
383           This driver can also be built as a module. If so, the module
384           will be called rk808-rtc.
386 config RTC_DRV_RS5C372
387         tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A"
388         help
389           If you say yes here you get support for the
390           Ricoh R2025S/D, RS5C372A, RS5C372B, RV5C386, and RV5C387A RTC chips.
392           This driver can also be built as a module. If so, the module
393           will be called rtc-rs5c372.
395 config RTC_DRV_ISL1208
396         tristate "Intersil ISL1208"
397         help
398           If you say yes here you get support for the
399           Intersil ISL1208 RTC chip.
401           This driver can also be built as a module. If so, the module
402           will be called rtc-isl1208.
404 config RTC_DRV_ISL12022
405         tristate "Intersil ISL12022"
406         help
407           If you say yes here you get support for the
408           Intersil ISL12022 RTC chip.
410           This driver can also be built as a module. If so, the module
411           will be called rtc-isl12022.
413 config RTC_DRV_ISL12026
414         tristate "Intersil ISL12026"
415         depends on OF || COMPILE_TEST
416         help
417           If you say yes here you get support for the
418           Intersil ISL12026 RTC chip.
420           This driver can also be built as a module. If so, the module
421           will be called rtc-isl12026.
423 config RTC_DRV_X1205
424         tristate "Xicor/Intersil X1205"
425         help
426           If you say yes here you get support for the
427           Xicor/Intersil X1205 RTC chip.
429           This driver can also be built as a module. If so, the module
430           will be called rtc-x1205.
432 config RTC_DRV_PCF8523
433         tristate "NXP PCF8523"
434         help
435           If you say yes here you get support for the NXP PCF8523 RTC
436           chips.
438           This driver can also be built as a module. If so, the module
439           will be called rtc-pcf8523.
441 config RTC_DRV_PCF85063
442         tristate "NXP PCF85063"
443         select REGMAP_I2C
444         help
445           If you say yes here you get support for the PCF85063 RTC chip
447           This driver can also be built as a module. If so, the module
448           will be called rtc-pcf85063.
450 config RTC_DRV_PCF85363
451         tristate "NXP PCF85363"
452         select REGMAP_I2C
453         help
454           If you say yes here you get support for the PCF85363 RTC chip.
456           This driver can also be built as a module. If so, the module
457           will be called rtc-pcf85363.
459           The nvmem interface will be named pcf85363-#, where # is the
460           zero-based instance number.
462 config RTC_DRV_PCF8563
463         tristate "Philips PCF8563/Epson RTC8564"
464         help
465           If you say yes here you get support for the
466           Philips PCF8563 RTC chip. The Epson RTC8564
467           should work as well.
469           This driver can also be built as a module. If so, the module
470           will be called rtc-pcf8563.
472 config RTC_DRV_PCF8583
473         tristate "Philips PCF8583"
474         help
475           If you say yes here you get support for the Philips PCF8583
476           RTC chip found on Acorn RiscPCs. This driver supports the
477           platform specific method of retrieving the current year from
478           the RTC's SRAM. It will work on other platforms with the same
479           chip, but the year will probably have to be tweaked.
481           This driver can also be built as a module. If so, the module
482           will be called rtc-pcf8583.
484 config RTC_DRV_M41T80
485         tristate "ST M41T62/65/M41T80/81/82/83/84/85/87 and compatible"
486         help
487           If you say Y here you will get support for the ST M41T60
488           and M41T80 RTC chips series. Currently, the following chips are
489           supported: M41T62, M41T65, M41T80, M41T81, M41T82, M41T83, M41ST84,
490           M41ST85, M41ST87, and MicroCrystal RV4162.
492           This driver can also be built as a module. If so, the module
493           will be called rtc-m41t80.
495 config RTC_DRV_M41T80_WDT
496         bool "ST M41T65/M41T80 series RTC watchdog timer"
497         depends on RTC_DRV_M41T80
498         help
499           If you say Y here you will get support for the
500           watchdog timer in the ST M41T60 and M41T80 RTC chips series.
502 config RTC_DRV_BD70528
503         tristate "ROHM BD70528 PMIC RTC"
504         depends on MFD_ROHM_BD70528 && (BD70528_WATCHDOG || !BD70528_WATCHDOG)
505         help
506           If you say Y here you will get support for the RTC
507           block on ROHM BD70528 and BD71828 Power Management IC.
509           This driver can also be built as a module. If so, the module
510           will be called rtc-bd70528.
512 config RTC_DRV_BQ32K
513         tristate "TI BQ32000"
514         help
515           If you say Y here you will get support for the TI
516           BQ32000 I2C RTC chip.
518           This driver can also be built as a module. If so, the module
519           will be called rtc-bq32k.
521 config RTC_DRV_DM355EVM
522         tristate "TI DaVinci DM355 EVM RTC"
523         depends on MFD_DM355EVM_MSP
524         help
525           Supports the RTC firmware in the MSP430 on the DM355 EVM.
527 config RTC_DRV_TWL92330
528         bool "TI TWL92330/Menelaus"
529         depends on MENELAUS
530         help
531           If you say yes here you get support for the RTC on the
532           TWL92330 "Menelaus" power management chip, used with OMAP2
533           platforms. The support is integrated with the rest of
534           the Menelaus driver; it's not separate module.
536 config RTC_DRV_TWL4030
537         tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0"
538         depends on TWL4030_CORE
539         depends on OF
540         help
541           If you say yes here you get support for the RTC on the
542           TWL4030/TWL5030/TWL6030 family chips, used mostly with OMAP3 platforms.
544           This driver can also be built as a module. If so, the module
545           will be called rtc-twl.
547 config RTC_DRV_PALMAS
548         tristate "TI Palmas RTC driver"
549         depends on MFD_PALMAS
550         help
551           If you say yes here you get support for the RTC of TI PALMA series PMIC
552           chips.
554           This driver can also be built as a module. If so, the module
555           will be called rtc-palma.
557 config RTC_DRV_TPS6586X
558         tristate "TI TPS6586X RTC driver"
559         depends on MFD_TPS6586X
560         help
561           TI Power Management IC TPS6586X supports RTC functionality
562           along with alarm. This driver supports the RTC driver for
563           the TPS6586X RTC module.
565 config RTC_DRV_TPS65910
566         tristate "TI TPS65910 RTC driver"
567         depends on MFD_TPS65910
568         help
569           If you say yes here you get support for the RTC on the
570           TPS65910 chips.
572           This driver can also be built as a module. If so, the module
573           will be called rtc-tps65910.
575 config RTC_DRV_TPS80031
576         tristate "TI TPS80031/TPS80032 RTC driver"
577         depends on MFD_TPS80031
578         help
579           TI Power Management IC TPS80031 supports RTC functionality
580           along with alarm. This driver supports the RTC driver for
581           the TPS80031 RTC module.
583 config RTC_DRV_RC5T583
584         tristate "RICOH 5T583 RTC driver"
585         depends on MFD_RC5T583
586         help
587           If you say yes here you get support for the RTC on the
588           RICOH 5T583 chips.
590           This driver can also be built as a module. If so, the module
591           will be called rtc-rc5t583.
593 config RTC_DRV_S35390A
594         tristate "Seiko Instruments S-35390A"
595         select BITREVERSE
596         help
597           If you say yes here you will get support for the Seiko
598           Instruments S-35390A.
600           This driver can also be built as a module. If so the module
601           will be called rtc-s35390a.
603 config RTC_DRV_FM3130
604         tristate "Ramtron FM3130"
605         help
606           If you say Y here you will get support for the
607           Ramtron FM3130 RTC chips.
608           Ramtron FM3130 is a chip with two separate devices inside,
609           RTC clock and FRAM. This driver provides only RTC functionality.
611           This driver can also be built as a module. If so the module
612           will be called rtc-fm3130.
614 config RTC_DRV_RX8010
615         tristate "Epson RX8010SJ"
616         help
617           If you say yes here you get support for the Epson RX8010SJ RTC
618           chip.
620           This driver can also be built as a module. If so, the module
621           will be called rtc-rx8010.
623 config RTC_DRV_RX8581
624         tristate "Epson RX-8571/RX-8581"
625         help
626           If you say yes here you will get support for the Epson RX-8571/
627           RX-8581.
629           This driver can also be built as a module. If so the module
630           will be called rtc-rx8581.
632 config RTC_DRV_RX8025
633         tristate "Epson RX-8025SA/NB"
634         help
635           If you say yes here you get support for the Epson
636           RX-8025SA/NB RTC chips.
638           This driver can also be built as a module. If so, the module
639           will be called rtc-rx8025.
641 config RTC_DRV_EM3027
642         tristate "EM Microelectronic EM3027"
643         help
644           If you say yes here you get support for the EM
645           Microelectronic EM3027 RTC chips.
647           This driver can also be built as a module. If so, the module
648           will be called rtc-em3027.
650 config RTC_DRV_RV3028
651         tristate "Micro Crystal RV3028"
652         help
653           If you say yes here you get support for the Micro Crystal
654           RV3028.
656           This driver can also be built as a module. If so, the module
657           will be called rtc-rv3028.
659 config RTC_DRV_RV8803
660         tristate "Micro Crystal RV8803, Epson RX8900"
661         help
662           If you say yes here you get support for the Micro Crystal RV8803 and
663           Epson RX8900 RTC chips.
665           This driver can also be built as a module. If so, the module
666           will be called rtc-rv8803.
668 config RTC_DRV_S5M
669         tristate "Samsung S2M/S5M series"
670         depends on MFD_SEC_CORE || COMPILE_TEST
671         select REGMAP_IRQ
672         help
673           If you say yes here you will get support for the
674           RTC of Samsung S2MPS14 and S5M PMIC series.
676           This driver can also be built as a module. If so, the module
677           will be called rtc-s5m.
679 config RTC_DRV_SD3078
680     tristate "ZXW Shenzhen whwave SD3078"
681     help
682       If you say yes here you get support for the ZXW Shenzhen whwave
683       SD3078 RTC chips.
685       This driver can also be built as a module. If so, the module
686       will be called rtc-sd3078
688 endif # I2C
690 comment "SPI RTC drivers"
692 if SPI_MASTER
694 config RTC_DRV_M41T93
695         tristate "ST M41T93"
696         help
697           If you say yes here you will get support for the
698           ST M41T93 SPI RTC chip.
700           This driver can also be built as a module. If so, the module
701           will be called rtc-m41t93.
703 config RTC_DRV_M41T94
704         tristate "ST M41T94"
705         help
706           If you say yes here you will get support for the
707           ST M41T94 SPI RTC chip.
709           This driver can also be built as a module. If so, the module
710           will be called rtc-m41t94.
712 config RTC_DRV_DS1302
713         tristate "Dallas/Maxim DS1302"
714         depends on SPI
715         help
716           If you say yes here you get support for the Dallas DS1302 RTC chips.
718           This driver can also be built as a module. If so, the module
719           will be called rtc-ds1302.
721 config RTC_DRV_DS1305
722         tristate "Dallas/Maxim DS1305/DS1306"
723         help
724           Select this driver to get support for the Dallas/Maxim DS1305
725           and DS1306 real time clock chips. These support a trickle
726           charger, alarms, and NVRAM in addition to the clock.
728           This driver can also be built as a module. If so, the module
729           will be called rtc-ds1305.
731 config RTC_DRV_DS1343
732         select REGMAP_SPI
733         tristate "Dallas/Maxim DS1343/DS1344"
734         help
735           If you say yes here you get support for the
736           Dallas/Maxim DS1343 and DS1344 real time clock chips.
737           Support for trickle charger, alarm is provided.
739           This driver can also be built as a module. If so, the module
740           will be called rtc-ds1343.
742 config RTC_DRV_DS1347
743         select REGMAP_SPI
744         tristate "Dallas/Maxim DS1347"
745         help
746           If you say yes here you get support for the
747           Dallas/Maxim DS1347 chips.
749           This driver only supports the RTC feature, and not other chip
750           features such as alarms.
752           This driver can also be built as a module. If so, the module
753           will be called rtc-ds1347.
755 config RTC_DRV_DS1390
756         tristate "Dallas/Maxim DS1390/93/94"
757         help
758           If you say yes here you get support for the
759           Dallas/Maxim DS1390/93/94 chips.
761           This driver supports the RTC feature and trickle charging but not
762           other chip features such as alarms.
764           This driver can also be built as a module. If so, the module
765           will be called rtc-ds1390.
767 config RTC_DRV_MAX6916
768         tristate "Maxim MAX6916"
769         help
770           If you say yes here you will get support for the
771           Maxim MAX6916 SPI RTC chip.
773           This driver only supports the RTC feature, and not other chip
774           features such as alarms.
776           This driver can also be built as a module. If so, the module
777           will be called rtc-max6916.
779 config RTC_DRV_R9701
780         tristate "Epson RTC-9701JE"
781         help
782           If you say yes here you will get support for the
783           Epson RTC-9701JE SPI RTC chip.
785           This driver can also be built as a module. If so, the module
786           will be called rtc-r9701.
788 config RTC_DRV_RX4581
789         tristate "Epson RX-4581"
790         help
791           If you say yes here you will get support for the Epson RX-4581.
793           This driver can also be built as a module. If so the module
794           will be called rtc-rx4581.
796 config RTC_DRV_RX6110
797         tristate "Epson RX-6110"
798         select REGMAP_SPI
799         help
800           If you say yes here you will get support for the Epson RX-6610.
802           This driver can also be built as a module. If so the module
803           will be called rtc-rx6110.
805 config RTC_DRV_RS5C348
806         tristate "Ricoh RS5C348A/B"
807         help
808           If you say yes here you get support for the
809           Ricoh RS5C348A and RS5C348B RTC chips.
811           This driver can also be built as a module. If so, the module
812           will be called rtc-rs5c348.
814 config RTC_DRV_MAX6902
815         tristate "Maxim MAX6902"
816         help
817           If you say yes here you will get support for the
818           Maxim MAX6902 SPI RTC chip.
820           This driver can also be built as a module. If so, the module
821           will be called rtc-max6902.
823 config RTC_DRV_PCF2123
824         tristate "NXP PCF2123"
825         select REGMAP_SPI
826         help
827           If you say yes here you get support for the NXP PCF2123
828           RTC chip.
830           This driver can also be built as a module. If so, the module
831           will be called rtc-pcf2123.
833 config RTC_DRV_MCP795
834         tristate "Microchip MCP795"
835         help
836           If you say yes here you will get support for the Microchip MCP795.
838           This driver can also be built as a module. If so the module
839           will be called rtc-mcp795.
841 endif # SPI_MASTER
844 # Helper to resolve issues with configs that have SPI enabled but I2C
845 # modular.  See SND_SOC_I2C_AND_SPI for more information
847 config RTC_I2C_AND_SPI
848         tristate
849         default m if I2C=m
850         default y if I2C=y
851         default y if SPI_MASTER=y
852         select REGMAP_I2C if I2C
853         select REGMAP_SPI if SPI_MASTER
855 comment "SPI and I2C RTC drivers"
857 config RTC_DRV_DS3232
858         tristate "Dallas/Maxim DS3232/DS3234"
859         depends on RTC_I2C_AND_SPI
860         help
861           If you say yes here you get support for Dallas Semiconductor
862           DS3232 and DS3234 real-time clock chips. If an interrupt is associated
863           with the device, the alarm functionality is supported.
865           This driver can also be built as a module.  If so, the module
866           will be called rtc-ds3232.
868 config RTC_DRV_DS3232_HWMON
869         bool "HWMON support for Dallas/Maxim DS3232/DS3234"
870         depends on RTC_DRV_DS3232 && HWMON && !(RTC_DRV_DS3232=y && HWMON=m)
871         default y
872         help
873           Say Y here if you want to expose temperature sensor data on
874           rtc-ds3232
876 config RTC_DRV_PCF2127
877         tristate "NXP PCF2127"
878         depends on RTC_I2C_AND_SPI
879         select WATCHDOG_CORE if WATCHDOG
880         help
881           If you say yes here you get support for the NXP PCF2127/29 RTC
882           chips with integrated quartz crystal for industrial applications.
883           Both chips also have watchdog timer and tamper switch detection
884           features.
886           PCF2127 has an additional feature of 512 bytes battery backed
887           memory that's accessible using nvmem interface.
889           This driver can also be built as a module. If so, the module
890           will be called rtc-pcf2127.
892 config RTC_DRV_RV3029C2
893         tristate "Micro Crystal RV3029/3049"
894         depends on RTC_I2C_AND_SPI
895         help
896           If you say yes here you get support for the Micro Crystal
897           RV3029 and RV3049 RTC chips.
899           This driver can also be built as a module. If so, the module
900           will be called rtc-rv3029c2.
902 config RTC_DRV_RV3029_HWMON
903         bool "HWMON support for RV3029/3049"
904         depends on RTC_DRV_RV3029C2 && HWMON
905         depends on !(RTC_DRV_RV3029C2=y && HWMON=m)
906         default y
907         help
908           Say Y here if you want to expose temperature sensor data on
909           rtc-rv3029.
911 comment "Platform RTC drivers"
913 # this 'CMOS' RTC driver is arch dependent because it requires
914 # <asm/mc146818rtc.h> defining CMOS_READ/CMOS_WRITE, and a
915 # global rtc_lock ... it's not yet just another platform_device.
917 config RTC_DRV_CMOS
918         tristate "PC-style 'CMOS'"
919         depends on X86 || ARM || PPC || MIPS || SPARC64
920         default y if X86
921         select RTC_MC146818_LIB
922         help
923           Say "yes" here to get direct support for the real time clock
924           found in every PC or ACPI-based system, and some other boards.
925           Specifically the original MC146818, compatibles like those in
926           PC south bridges, the DS12887 or M48T86, some multifunction
927           or LPC bus chips, and so on.
929           Your system will need to define the platform device used by
930           this driver, otherwise it won't be accessible. This means
931           you can safely enable this driver if you don't know whether
932           or not your board has this kind of hardware.
934           This driver can also be built as a module. If so, the module
935           will be called rtc-cmos.
937 config RTC_DRV_ALPHA
938         bool "Alpha PC-style CMOS"
939         depends on ALPHA
940         select RTC_MC146818_LIB
941         default y
942         help
943           Direct support for the real-time clock found on every Alpha
944           system, specifically MC146818 compatibles.  If in doubt, say Y.
946 config RTC_DRV_VRTC
947         tristate "Virtual RTC for Intel MID platforms"
948         depends on X86_INTEL_MID
949         default y if X86_INTEL_MID
951         help
952         Say "yes" here to get direct support for the real time clock
953         found on Moorestown platforms. The VRTC is a emulated RTC that
954         derives its clock source from a real RTC in the PMIC. The MC146818
955         style programming interface is mostly conserved, but any
956         updates are done via IPC calls to the system controller FW.
958 config RTC_DRV_DS1216
959         tristate "Dallas DS1216"
960         depends on SNI_RM
961         help
962           If you say yes here you get support for the Dallas DS1216 RTC chips.
964 config RTC_DRV_DS1286
965         tristate "Dallas DS1286"
966         depends on HAS_IOMEM
967         help
968           If you say yes here you get support for the Dallas DS1286 RTC chips.
970 config RTC_DRV_DS1511
971         tristate "Dallas DS1511"
972         depends on HAS_IOMEM
973         help
974           If you say yes here you get support for the
975           Dallas DS1511 timekeeping/watchdog chip.
977           This driver can also be built as a module. If so, the module
978           will be called rtc-ds1511.
980 config RTC_DRV_DS1553
981         tristate "Maxim/Dallas DS1553"
982         depends on HAS_IOMEM
983         help
984           If you say yes here you get support for the
985           Maxim/Dallas DS1553 timekeeping chip.
987           This driver can also be built as a module. If so, the module
988           will be called rtc-ds1553.
990 config RTC_DRV_DS1685_FAMILY
991         tristate "Dallas/Maxim DS1685 Family"
992         help
993           If you say yes here you get support for the Dallas/Maxim DS1685
994           family of real time chips.  This family includes the DS1685/DS1687,
995           DS1689/DS1693, DS17285/DS17287, DS17485/DS17487, and
996           DS17885/DS17887 chips.
998           This driver can also be built as a module. If so, the module
999           will be called rtc-ds1685.
1001 choice
1002         prompt "Subtype"
1003         depends on RTC_DRV_DS1685_FAMILY
1004         default RTC_DRV_DS1685
1006 config RTC_DRV_DS1685
1007         bool "DS1685/DS1687"
1008         help
1009           This enables support for the Dallas/Maxim DS1685/DS1687 real time
1010           clock chip.
1012           This chip is commonly found in SGI O2 (IP32) and SGI Octane (IP30)
1013           systems, as well as EPPC-405-UC modules by electronic system design
1014           GmbH.
1016 config RTC_DRV_DS1689
1017         bool "DS1689/DS1693"
1018         help
1019           This enables support for the Dallas/Maxim DS1689/DS1693 real time
1020           clock chip.
1022           This is an older RTC chip, supplanted by the DS1685/DS1687 above,
1023           which supports a few minor features such as Vcc, Vbat, and Power
1024           Cycle counters, plus a customer-specific, 8-byte ROM/Serial number.
1026           It also works for the even older DS1688/DS1691 RTC chips, which are
1027           virtually the same and carry the same model number.  Both chips
1028           have 114 bytes of user NVRAM.
1030 config RTC_DRV_DS17285
1031         bool "DS17285/DS17287"
1032         help
1033           This enables support for the Dallas/Maxim DS17285/DS17287 real time
1034           clock chip.
1036           This chip features 2kb of extended NV-SRAM.  It may possibly be
1037           found in some SGI O2 systems (rare).
1039 config RTC_DRV_DS17485
1040         bool "DS17485/DS17487"
1041         help
1042           This enables support for the Dallas/Maxim DS17485/DS17487 real time
1043           clock chip.
1045           This chip features 4kb of extended NV-SRAM.
1047 config RTC_DRV_DS17885
1048         bool "DS17885/DS17887"
1049         help
1050           This enables support for the Dallas/Maxim DS17885/DS17887 real time
1051           clock chip.
1053           This chip features 8kb of extended NV-SRAM.
1055 endchoice
1057 config RTC_DRV_DS1742
1058         tristate "Maxim/Dallas DS1742/1743"
1059         depends on HAS_IOMEM
1060         help
1061           If you say yes here you get support for the
1062           Maxim/Dallas DS1742/1743 timekeeping chip.
1064           This driver can also be built as a module. If so, the module
1065           will be called rtc-ds1742.
1067 config RTC_DRV_DS2404
1068         tristate "Maxim/Dallas DS2404"
1069         help
1070           If you say yes here you get support for the
1071           Dallas DS2404 RTC chip.
1073           This driver can also be built as a module. If so, the module
1074           will be called rtc-ds2404.
1076 config RTC_DRV_DA9052
1077         tristate "Dialog DA9052/DA9053 RTC"
1078         depends on PMIC_DA9052
1079         help
1080           Say y here to support the RTC driver for Dialog Semiconductor
1081           DA9052-BC and DA9053-AA/Bx PMICs.
1083 config RTC_DRV_DA9055
1084         tristate "Dialog Semiconductor DA9055 RTC"
1085         depends on MFD_DA9055
1086         help
1087           If you say yes here you will get support for the
1088           RTC of the Dialog DA9055 PMIC.
1090           This driver can also be built as a module. If so, the module
1091           will be called rtc-da9055
1093 config RTC_DRV_DA9063
1094         tristate "Dialog Semiconductor DA9063/DA9062 RTC"
1095         depends on MFD_DA9063 || MFD_DA9062
1096         help
1097           If you say yes here you will get support for the RTC subsystem
1098           for the Dialog Semiconductor PMIC chips DA9063 and DA9062.
1100           This driver can also be built as a module. If so, the module
1101           will be called "rtc-da9063".
1103 config RTC_DRV_EFI
1104         tristate "EFI RTC"
1105         depends on EFI && !X86
1106         help
1107           If you say yes here you will get support for the EFI
1108           Real Time Clock.
1110           This driver can also be built as a module. If so, the module
1111           will be called rtc-efi.
1113 config RTC_DRV_STK17TA8
1114         tristate "Simtek STK17TA8"
1115         depends on HAS_IOMEM
1116         help
1117           If you say yes here you get support for the
1118           Simtek STK17TA8 timekeeping chip.
1120           This driver can also be built as a module. If so, the module
1121           will be called rtc-stk17ta8.
1123 config RTC_DRV_M48T86
1124         tristate "ST M48T86/Dallas DS12887"
1125         help
1126           If you say Y here you will get support for the
1127           ST M48T86 and Dallas DS12887 RTC chips.
1129           This driver can also be built as a module. If so, the module
1130           will be called rtc-m48t86.
1132 config RTC_DRV_M48T35
1133         tristate "ST M48T35"
1134         depends on HAS_IOMEM
1135         help
1136           If you say Y here you will get support for the
1137           ST M48T35 RTC chip.
1139           This driver can also be built as a module, if so, the module
1140           will be called "rtc-m48t35".
1142 config RTC_DRV_M48T59
1143         tristate "ST M48T59/M48T08/M48T02"
1144         depends on HAS_IOMEM
1145         help
1146           If you say Y here you will get support for the
1147           ST M48T59 RTC chip and compatible ST M48T08 and M48T02.
1149           These chips are usually found in Sun SPARC and UltraSPARC
1150           workstations.
1152           This driver can also be built as a module, if so, the module
1153           will be called "rtc-m48t59".
1155 config RTC_DRV_MSM6242
1156         tristate "Oki MSM6242"
1157         depends on HAS_IOMEM
1158         help
1159           If you say yes here you get support for the Oki MSM6242
1160           timekeeping chip. It is used in some Amiga models (e.g. A2000).
1162           This driver can also be built as a module. If so, the module
1163           will be called rtc-msm6242.
1165 config RTC_DRV_BQ4802
1166         tristate "TI BQ4802"
1167         depends on HAS_IOMEM
1168         help
1169           If you say Y here you will get support for the TI
1170           BQ4802 RTC chip.
1172           This driver can also be built as a module. If so, the module
1173           will be called rtc-bq4802.
1175 config RTC_DRV_RP5C01
1176         tristate "Ricoh RP5C01"
1177         depends on HAS_IOMEM
1178         help
1179           If you say yes here you get support for the Ricoh RP5C01
1180           timekeeping chip. It is used in some Amiga models (e.g. A3000
1181           and A4000).
1183           This driver can also be built as a module. If so, the module
1184           will be called rtc-rp5c01.
1186 config RTC_DRV_V3020
1187         tristate "EM Microelectronic V3020"
1188         help
1189           If you say yes here you will get support for the
1190           EM Microelectronic v3020 RTC chip.
1192           This driver can also be built as a module. If so, the module
1193           will be called rtc-v3020.
1195 config RTC_DRV_WM831X
1196         tristate "Wolfson Microelectronics WM831x RTC"
1197         depends on MFD_WM831X
1198         help
1199           If you say yes here you will get support for the RTC subsystem
1200           of the Wolfson Microelectronics WM831X series PMICs.
1202           This driver can also be built as a module. If so, the module
1203           will be called "rtc-wm831x".
1205 config RTC_DRV_WM8350
1206         tristate "Wolfson Microelectronics WM8350 RTC"
1207         depends on MFD_WM8350
1208         help
1209           If you say yes here you will get support for the RTC subsystem
1210           of the Wolfson Microelectronics WM8350.
1212           This driver can also be built as a module. If so, the module
1213           will be called "rtc-wm8350".
1215 config RTC_DRV_SC27XX
1216         tristate "Spreadtrum SC27xx RTC"
1217         depends on MFD_SC27XX_PMIC || COMPILE_TEST
1218         help
1219           If you say Y here you will get support for the RTC subsystem
1220           of the Spreadtrum SC27xx series PMICs. The SC27xx series PMICs
1221           includes the SC2720, SC2721, SC2723, SC2730 and SC2731 chips.
1223           This driver can also be built as a module. If so, the module
1224           will be called rtc-sc27xx.
1226 config RTC_DRV_SPEAR
1227         tristate "SPEAR ST RTC"
1228         depends on PLAT_SPEAR || COMPILE_TEST
1229         default y
1230         help
1231          If you say Y here you will get support for the RTC found on
1232          spear
1234 config RTC_DRV_PCF50633
1235         depends on MFD_PCF50633
1236         tristate "NXP PCF50633 RTC"
1237         help
1238           If you say yes here you get support for the RTC subsystem of the
1239           NXP PCF50633 used in embedded systems.
1241 config RTC_DRV_AB3100
1242         tristate "ST-Ericsson AB3100 RTC"
1243         depends on AB3100_CORE
1244         default y if AB3100_CORE
1245         help
1246           Select this to enable the ST-Ericsson AB3100 Mixed Signal IC RTC
1247           support. This chip contains a battery- and capacitor-backed RTC.
1249 config RTC_DRV_AB8500
1250         tristate "ST-Ericsson AB8500 RTC"
1251         depends on AB8500_CORE
1252         select RTC_INTF_DEV
1253         select RTC_INTF_DEV_UIE_EMUL
1254         help
1255           Select this to enable the ST-Ericsson AB8500 power management IC RTC
1256           support. This chip contains a battery- and capacitor-backed RTC.
1258 config RTC_DRV_OPAL
1259         tristate "IBM OPAL RTC driver"
1260         depends on PPC_POWERNV
1261         default y
1262         help
1263           If you say yes here you get support for the PowerNV platform RTC
1264           driver based on OPAL interfaces.
1266           This driver can also be built as a module. If so, the module
1267           will be called rtc-opal.
1269 config RTC_DRV_ZYNQMP
1270         tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
1271         depends on OF
1272         help
1273           If you say yes here you get support for the RTC controller found on
1274           Xilinx Zynq Ultrascale+ MPSoC.
1276 config RTC_DRV_CROS_EC
1277         tristate "Chrome OS EC RTC driver"
1278         depends on CROS_EC
1279         help
1280           If you say yes here you will get support for the
1281           Chrome OS Embedded Controller's RTC.
1283           This driver can also be built as a module. If so, the module
1284           will be called rtc-cros-ec.
1286 comment "on-CPU RTC drivers"
1288 config RTC_DRV_ASM9260
1289         tristate "Alphascale asm9260 RTC"
1290         depends on MACH_ASM9260 || COMPILE_TEST
1291         help
1292           If you say yes here you get support for the RTC on the
1293           Alphascale asm9260 SoC.
1295           This driver can also be built as a module. If so, the module
1296           will be called rtc-asm9260.
1298 config RTC_DRV_DAVINCI
1299         tristate "TI DaVinci RTC"
1300         depends on ARCH_DAVINCI_DM365 || COMPILE_TEST
1301         help
1302           If you say yes here you get support for the RTC on the
1303           DaVinci platforms (DM365).
1305           This driver can also be built as a module. If so, the module
1306           will be called rtc-davinci.
1308 config RTC_DRV_DIGICOLOR
1309         tristate "Conexant Digicolor RTC"
1310         depends on ARCH_DIGICOLOR || COMPILE_TEST
1311         help
1312           If you say yes here you get support for the RTC on Conexant
1313           Digicolor platforms. This currently includes the CX92755 SoC.
1315           This driver can also be built as a module. If so, the module
1316           will be called rtc-digicolor.
1318 config RTC_DRV_IMXDI
1319         tristate "Freescale IMX DryIce Real Time Clock"
1320         depends on ARCH_MXC
1321         help
1322            Support for Freescale IMX DryIce RTC
1324            This driver can also be built as a module, if so, the module
1325            will be called "rtc-imxdi".
1327 config RTC_DRV_FSL_FTM_ALARM
1328         tristate "Freescale FlexTimer alarm timer"
1329         depends on ARCH_LAYERSCAPE || SOC_LS1021A
1330         help
1331            For the FlexTimer in LS1012A, LS1021A, LS1028A, LS1043A, LS1046A,
1332            LS1088A, LS208xA, we can use FTM as the wakeup source.
1334            Say y here to enable FTM alarm support. The FTM alarm provides
1335            alarm functions for wakeup system from deep sleep.
1337            This driver can also be built as a module, if so, the module
1338            will be called "rtc-fsl-ftm-alarm".
1340 config RTC_DRV_MESON
1341         tristate "Amlogic Meson RTC"
1342         depends on (ARM && ARCH_MESON) || COMPILE_TEST
1343         select REGMAP_MMIO
1344         help
1345            Support for the RTC block on the Amlogic Meson6, Meson8, Meson8b
1346            and Meson8m2 SoCs.
1348            This driver can also be built as a module, if so, the module
1349            will be called "rtc-meson".
1351 config RTC_DRV_MESON_VRTC
1352         tristate "Amlogic Meson Virtual RTC"
1353         depends on ARCH_MESON || COMPILE_TEST
1354         default m if ARCH_MESON
1355         help
1356           If you say yes here you will get support for the
1357           Virtual RTC of Amlogic SoCs.
1359           This driver can also be built as a module. If so, the module
1360           will be called rtc-meson-vrtc.
1362 config RTC_DRV_OMAP
1363         tristate "TI OMAP Real Time Clock"
1364         depends on ARCH_OMAP || ARCH_DAVINCI || COMPILE_TEST
1365         depends on OF
1366         depends on PINCTRL
1367         select GENERIC_PINCONF
1368         help
1369           Say "yes" here to support the on chip real time clock
1370           present on TI OMAP1, AM33xx, DA8xx/OMAP-L13x, AM43xx and DRA7xx.
1372           This driver can also be built as a module, if so, module
1373           will be called rtc-omap.
1375 config HAVE_S3C_RTC
1376         bool
1377         help
1378           This will include RTC support for Samsung SoCs. If
1379           you want to include RTC support for any machine, kindly
1380           select this in the respective mach-XXXX/Kconfig file.
1382 config RTC_DRV_S3C
1383         tristate "Samsung S3C series SoC RTC"
1384         depends on ARCH_S3C64XX || HAVE_S3C_RTC || COMPILE_TEST
1385         help
1386           RTC (Realtime Clock) driver for the clock inbuilt into the
1387           Samsung S3C24XX series of SoCs. This can provide periodic
1388           interrupt rates from 1Hz to 64Hz for user programs, and
1389           wakeup from Alarm.
1391           The driver currently supports the common features on all the
1392           S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440
1393           and S3C2442.
1395           This driver can also be build as a module. If so, the module
1396           will be called rtc-s3c.
1398 config RTC_DRV_EP93XX
1399         tristate "Cirrus Logic EP93XX"
1400         depends on ARCH_EP93XX || COMPILE_TEST
1401         help
1402           If you say yes here you get support for the
1403           RTC embedded in the Cirrus Logic EP93XX processors.
1405           This driver can also be built as a module. If so, the module
1406           will be called rtc-ep93xx.
1408 config RTC_DRV_SA1100
1409         tristate "SA11x0/PXA2xx/PXA910"
1410         depends on ARCH_SA1100 || ARCH_PXA || ARCH_MMP
1411         help
1412           If you say Y here you will get access to the real time clock
1413           built into your SA11x0 or PXA2xx CPU.
1415           To compile this driver as a module, choose M here: the
1416           module will be called rtc-sa1100.
1418 config RTC_DRV_SH
1419         tristate "SuperH On-Chip RTC"
1420         depends on SUPERH || ARCH_RENESAS
1421         help
1422           Say Y here to enable support for the on-chip RTC found in
1423           most SuperH processors. This RTC is also found in RZ/A SoCs.
1425           To compile this driver as a module, choose M here: the
1426           module will be called rtc-sh.
1428 config RTC_DRV_VR41XX
1429         tristate "NEC VR41XX"
1430         depends on CPU_VR41XX || COMPILE_TEST
1431         help
1432           If you say Y here you will get access to the real time clock
1433           built into your NEC VR41XX CPU.
1435           To compile this driver as a module, choose M here: the
1436           module will be called rtc-vr41xx.
1438 config RTC_DRV_PL030
1439         tristate "ARM AMBA PL030 RTC"
1440         depends on ARM_AMBA
1441         help
1442           If you say Y here you will get access to ARM AMBA
1443           PrimeCell PL030 RTC found on certain ARM SOCs.
1445           To compile this driver as a module, choose M here: the
1446           module will be called rtc-pl030.
1448 config RTC_DRV_PL031
1449         tristate "ARM AMBA PL031 RTC"
1450         depends on ARM_AMBA
1451         help
1452           If you say Y here you will get access to ARM AMBA
1453           PrimeCell PL031 RTC found on certain ARM SOCs.
1455           To compile this driver as a module, choose M here: the
1456           module will be called rtc-pl031.
1458 config RTC_DRV_AT91RM9200
1459         tristate "AT91RM9200 or some AT91SAM9 RTC"
1460         depends on ARCH_AT91 || COMPILE_TEST
1461         depends on OF
1462         help
1463           Driver for the internal RTC (Realtime Clock) module found on
1464           Atmel AT91RM9200's and some  AT91SAM9 chips. On AT91SAM9 chips
1465           this is powered by the backup power supply.
1467 config RTC_DRV_AT91SAM9
1468         tristate "AT91SAM9 RTT as RTC"
1469         depends on ARCH_AT91 || COMPILE_TEST
1470         depends on OF && HAS_IOMEM
1471         select MFD_SYSCON
1472         help
1473           Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
1474           can be used as an RTC thanks to the backup power supply (e.g. a
1475           small coin cell battery) which keeps this block and the GPBR
1476           (General Purpose Backup Registers) block powered when the device
1477           is shutdown.
1478           Some AT91SAM9 SoCs provide a real RTC block, on those ones you'd
1479           probably want to use the real RTC block instead of the "RTT as an
1480           RTC" driver.
1482 config RTC_DRV_AU1XXX
1483         tristate "Au1xxx Counter0 RTC support"
1484         depends on MIPS_ALCHEMY
1485         help
1486           This is a driver for the Au1xxx on-chip Counter0 (Time-Of-Year
1487           counter) to be used as a RTC.
1489           This driver can also be built as a module. If so, the module
1490           will be called rtc-au1xxx.
1492 config RTC_DRV_RS5C313
1493         tristate "Ricoh RS5C313"
1494         depends on SH_LANDISK
1495         help
1496           If you say yes here you get support for the Ricoh RS5C313 RTC chips.
1498 config RTC_DRV_GENERIC
1499         tristate "Generic RTC support"
1500         # Please consider writing a new RTC driver instead of using the generic
1501         # RTC abstraction
1502         depends on PARISC || M68K || PPC || SUPERH32 || COMPILE_TEST
1503         help
1504           Say Y or M here to enable RTC support on systems using the generic
1505           RTC abstraction. If you do not know what you are doing, you should
1506           just say Y.
1508 config RTC_DRV_PXA
1509         tristate "PXA27x/PXA3xx"
1510         depends on ARCH_PXA
1511         select RTC_DRV_SA1100
1512         help
1513          If you say Y here you will get access to the real time clock
1514          built into your PXA27x or PXA3xx CPU. This RTC is actually 2 RTCs
1515          consisting of an SA1100 compatible RTC and the extended PXA RTC.
1517          This RTC driver uses PXA RTC registers available since pxa27x
1518          series (RDxR, RYxR) instead of legacy RCNR, RTAR.
1520 config RTC_DRV_VT8500
1521         tristate "VIA/WonderMedia 85xx SoC RTC"
1522         depends on ARCH_VT8500 || COMPILE_TEST
1523         help
1524           If you say Y here you will get access to the real time clock
1525           built into your VIA VT8500 SoC or its relatives.
1528 config RTC_DRV_SUN4V
1529         bool "SUN4V Hypervisor RTC"
1530         depends on SPARC64
1531         help
1532           If you say Y here you will get support for the Hypervisor
1533           based RTC on SUN4V systems.
1535 config RTC_DRV_SUN6I
1536         bool "Allwinner A31 RTC"
1537         default MACH_SUN6I || MACH_SUN8I
1538         depends on COMMON_CLK
1539         depends on ARCH_SUNXI || COMPILE_TEST
1540         help
1541           If you say Y here you will get support for the RTC found in
1542           some Allwinner SoCs like the A31 or the A64.
1544 config RTC_DRV_SUNXI
1545         tristate "Allwinner sun4i/sun7i RTC"
1546         depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
1547         help
1548           If you say Y here you will get support for the RTC found on
1549           Allwinner A10/A20.
1551 config RTC_DRV_STARFIRE
1552         bool "Starfire RTC"
1553         depends on SPARC64
1554         help
1555           If you say Y here you will get support for the RTC found on
1556           Starfire systems.
1558 config RTC_DRV_TX4939
1559         tristate "TX4939 SoC"
1560         depends on SOC_TX4939 || COMPILE_TEST
1561         help
1562           Driver for the internal RTC (Realtime Clock) module found on
1563           Toshiba TX4939 SoC.
1565 config RTC_DRV_MV
1566         tristate "Marvell SoC RTC"
1567         depends on ARCH_DOVE || ARCH_MVEBU || COMPILE_TEST
1568         help
1569           If you say yes here you will get support for the in-chip RTC
1570           that can be found in some of Marvell's SoC devices, such as
1571           the Kirkwood 88F6281 and 88F6192.
1573           This driver can also be built as a module. If so, the module
1574           will be called rtc-mv.
1576 config RTC_DRV_ARMADA38X
1577         tristate "Armada 38x Marvell SoC RTC"
1578         depends on ARCH_MVEBU || COMPILE_TEST
1579         help
1580           If you say yes here you will get support for the in-chip RTC
1581           that can be found in the Armada 38x Marvell's SoC device
1583           This driver can also be built as a module. If so, the module
1584           will be called armada38x-rtc.
1586 config RTC_DRV_CADENCE
1587         tristate "Cadence RTC driver"
1588         depends on OF && HAS_IOMEM
1589         help
1590           If you say Y here you will get access to Cadence RTC IP
1591           found on certain SOCs.
1593           To compile this driver as a module, choose M here: the
1594           module will be called rtc-cadence.
1596 config RTC_DRV_FTRTC010
1597         tristate "Faraday Technology FTRTC010 RTC"
1598         depends on HAS_IOMEM
1599         default ARCH_GEMINI
1600         help
1601           If you say Y here you will get support for the
1602           Faraday Technolog FTRTC010 found on e.g. Gemini SoC's.
1604           This driver can also be built as a module. If so, the module
1605           will be called rtc-ftrtc010.
1607 config RTC_DRV_PS3
1608         tristate "PS3 RTC"
1609         depends on PPC_PS3
1610         help
1611           If you say yes here you will get support for the RTC on PS3.
1613           This driver can also be built as a module. If so, the module
1614           will be called rtc-ps3.
1616 config RTC_DRV_COH901331
1617         tristate "ST-Ericsson COH 901 331 RTC"
1618         depends on ARCH_U300 || COMPILE_TEST
1619         help
1620           If you say Y here you will get access to ST-Ericsson
1621           COH 901 331 RTC clock found in some ST-Ericsson Mobile
1622           Platforms.
1624           This driver can also be built as a module. If so, the module
1625           will be called "rtc-coh901331".
1628 config RTC_DRV_STMP
1629         tristate "Freescale STMP3xxx/i.MX23/i.MX28 RTC"
1630         depends on ARCH_MXS || COMPILE_TEST
1631         select STMP_DEVICE
1632         help
1633           If you say yes here you will get support for the onboard
1634           STMP3xxx/i.MX23/i.MX28 RTC.
1636           This driver can also be built as a module. If so, the module
1637           will be called rtc-stmp3xxx.
1639 config RTC_DRV_PCAP
1640         tristate "PCAP RTC"
1641         depends on EZX_PCAP
1642         help
1643           If you say Y here you will get support for the RTC found on
1644           the PCAP2 ASIC used on some Motorola phones.
1646 config RTC_DRV_MC13XXX
1647         depends on MFD_MC13XXX
1648         tristate "Freescale MC13xxx RTC"
1649         help
1650           This enables support for the RTCs found on Freescale's PMICs
1651           MC13783 and MC13892.
1653 config RTC_DRV_MPC5121
1654         tristate "Freescale MPC5121 built-in RTC"
1655         depends on PPC_MPC512x || PPC_MPC52xx
1656         help
1657           If you say yes here you will get support for the
1658           built-in RTC on MPC5121 or on MPC5200.
1660           This driver can also be built as a module. If so, the module
1661           will be called rtc-mpc5121.
1663 config RTC_DRV_JZ4740
1664         tristate "Ingenic JZ4740 SoC"
1665         depends on MIPS || COMPILE_TEST
1666         help
1667           If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
1668           controllers.
1670           This driver can also be built as a module. If so, the module
1671           will be called rtc-jz4740.
1673 config RTC_DRV_LPC24XX
1674         tristate "NXP RTC for LPC178x/18xx/408x/43xx"
1675         depends on ARCH_LPC18XX || COMPILE_TEST
1676         depends on OF && HAS_IOMEM
1677         help
1678           This enables support for the NXP RTC found which can be found on
1679           NXP LPC178x/18xx/408x/43xx devices.
1681           If you have one of the devices above enable this driver to use
1682           the hardware RTC. This driver can also be built as a module. If
1683           so, the module will be called rtc-lpc24xx.
1685 config RTC_DRV_LPC32XX
1686         depends on ARCH_LPC32XX || COMPILE_TEST
1687         tristate "NXP LPC32XX RTC"
1688         help
1689           This enables support for the NXP RTC in the LPC32XX
1691           This driver can also be built as a module. If so, the module
1692           will be called rtc-lpc32xx.
1694 config RTC_DRV_PM8XXX
1695         tristate "Qualcomm PMIC8XXX RTC"
1696         depends on MFD_PM8XXX || MFD_SPMI_PMIC || COMPILE_TEST
1697         help
1698           If you say yes here you get support for the
1699           Qualcomm PMIC8XXX RTC.
1701           To compile this driver as a module, choose M here: the
1702           module will be called rtc-pm8xxx.
1704 config RTC_DRV_TEGRA
1705         tristate "NVIDIA Tegra Internal RTC driver"
1706         depends on ARCH_TEGRA || COMPILE_TEST
1707         help
1708           If you say yes here you get support for the
1709           Tegra 200 series internal RTC module.
1711           This drive can also be built as a module. If so, the module
1712           will be called rtc-tegra.
1714 config RTC_DRV_PUV3
1715         tristate "PKUnity v3 RTC support"
1716         depends on ARCH_PUV3
1717         help
1718           This enables support for the RTC in the PKUnity-v3 SoCs.
1720           This drive can also be built as a module. If so, the module
1721           will be called rtc-puv3.
1723 config RTC_DRV_LOONGSON1
1724         tristate "loongson1 RTC support"
1725         depends on MACH_LOONGSON32
1726         help
1727           This is a driver for the loongson1 on-chip Counter0 (Time-Of-Year
1728           counter) to be used as a RTC.
1730           This driver can also be built as a module. If so, the module
1731           will be called rtc-ls1x.
1733 config RTC_DRV_MXC
1734         tristate "Freescale MXC Real Time Clock"
1735         depends on ARCH_MXC
1736         help
1737            If you say yes here you get support for the Freescale MXC
1738            RTC module.
1740            This driver can also be built as a module, if so, the module
1741            will be called "rtc-mxc".
1743 config RTC_DRV_MXC_V2
1744         tristate "Freescale MXC Real Time Clock for i.MX53"
1745         depends on ARCH_MXC
1746         help
1747            If you say yes here you get support for the Freescale MXC
1748            SRTC module in i.MX53 processor.
1750            This driver can also be built as a module, if so, the module
1751            will be called "rtc-mxc_v2".
1753 config RTC_DRV_SNVS
1754         tristate "Freescale SNVS RTC support"
1755         select REGMAP_MMIO
1756         depends on HAS_IOMEM
1757         depends on OF
1758         help
1759            If you say yes here you get support for the Freescale SNVS
1760            Low Power (LP) RTC module.
1762            This driver can also be built as a module, if so, the module
1763            will be called "rtc-snvs".
1765 config RTC_DRV_IMX_SC
1766         depends on IMX_SCU
1767         depends on HAVE_ARM_SMCCC
1768         tristate "NXP i.MX System Controller RTC support"
1769         help
1770            If you say yes here you get support for the NXP i.MX System
1771            Controller RTC module.
1773 config RTC_DRV_SIRFSOC
1774         tristate "SiRFSOC RTC"
1775         depends on ARCH_SIRF
1776         help
1777           Say "yes" here to support the real time clock on SiRF SOC chips.
1778           This driver can also be built as a module called rtc-sirfsoc.
1780 config RTC_DRV_ST_LPC
1781         tristate "STMicroelectronics LPC RTC"
1782         depends on ARCH_STI
1783         depends on OF
1784         help
1785           Say Y here to include STMicroelectronics Low Power Controller
1786           (LPC) based RTC support.
1788           To compile this driver as a module, choose M here: the
1789           module will be called rtc-st-lpc.
1791 config RTC_DRV_MOXART
1792         tristate "MOXA ART RTC"
1793         depends on ARCH_MOXART || COMPILE_TEST
1794         help
1795            If you say yes here you get support for the MOXA ART
1796            RTC module.
1798            This driver can also be built as a module. If so, the module
1799            will be called rtc-moxart
1801 config RTC_DRV_MT6397
1802         tristate "MediaTek PMIC based RTC"
1803         depends on MFD_MT6397 || (COMPILE_TEST && IRQ_DOMAIN)
1804         help
1805           This selects the MediaTek(R) RTC driver. RTC is part of MediaTek
1806           MT6397 PMIC. You should enable MT6397 PMIC MFD before select
1807           MediaTek(R) RTC driver.
1809           If you want to use MediaTek(R) RTC interface, select Y or M here.
1811 config RTC_DRV_MT7622
1812         tristate "MediaTek SoC based RTC"
1813         depends on ARCH_MEDIATEK || COMPILE_TEST
1814         help
1815           This enables support for the real time clock built in the MediaTek
1816           SoCs.
1818           This drive can also be built as a module. If so, the module
1819           will be called rtc-mt7622.
1821 config RTC_DRV_XGENE
1822         tristate "APM X-Gene RTC"
1823         depends on HAS_IOMEM
1824         depends on ARCH_XGENE || COMPILE_TEST
1825         help
1826           If you say yes here you get support for the APM X-Gene SoC real time
1827           clock.
1829           This driver can also be built as a module, if so, the module
1830           will be called "rtc-xgene".
1832 config RTC_DRV_PIC32
1833         tristate "Microchip PIC32 RTC"
1834         depends on MACH_PIC32
1835         default y
1836         help
1837            If you say yes here you get support for the PIC32 RTC module.
1839            This driver can also be built as a module. If so, the module
1840            will be called rtc-pic32
1842 config RTC_DRV_R7301
1843         tristate "EPSON TOYOCOM RTC-7301SF/DG"
1844         select REGMAP_MMIO
1845         depends on OF && HAS_IOMEM
1846         help
1847            If you say yes here you get support for the EPSON TOYOCOM
1848            RTC-7301SF/DG chips.
1850            This driver can also be built as a module. If so, the module
1851            will be called rtc-r7301.
1853 config RTC_DRV_STM32
1854         tristate "STM32 RTC"
1855         select REGMAP_MMIO
1856         depends on ARCH_STM32 || COMPILE_TEST
1857         help
1858            If you say yes here you get support for the STM32 On-Chip
1859            Real Time Clock.
1861            This driver can also be built as a module, if so, the module
1862            will be called "rtc-stm32".
1864 config RTC_DRV_CPCAP
1865         depends on MFD_CPCAP
1866         tristate "Motorola CPCAP RTC"
1867         help
1868            Say y here for CPCAP rtc found on some Motorola phones
1869            and tablets such as Droid 4.
1871 config RTC_DRV_RTD119X
1872         bool "Realtek RTD129x RTC"
1873         depends on ARCH_REALTEK || COMPILE_TEST
1874         default ARCH_REALTEK
1875         help
1876           If you say yes here, you get support for the RTD1295 SoC
1877           Real Time Clock.
1879 config RTC_DRV_ASPEED
1880         tristate "ASPEED RTC"
1881         depends on OF
1882         depends on ARCH_ASPEED || COMPILE_TEST
1883         help
1884           If you say yes here you get support for the ASPEED BMC SoC real time
1885           clocks.
1887           This driver can also be built as a module, if so, the module
1888           will be called "rtc-aspeed".
1890 comment "HID Sensor RTC drivers"
1892 config RTC_DRV_HID_SENSOR_TIME
1893         tristate "HID Sensor Time"
1894         depends on USB_HID
1895         depends on HID_SENSOR_HUB && IIO
1896         select HID_SENSOR_IIO_COMMON
1897         help
1898           Say yes here to build support for the HID Sensors of type Time.
1899           This drivers makes such sensors available as RTCs.
1901           If this driver is compiled as a module, it will be named
1902           rtc-hid-sensor-time.
1904 config RTC_DRV_GOLDFISH
1905         tristate "Goldfish Real Time Clock"
1906         depends on OF && HAS_IOMEM
1907         depends on GOLDFISH || COMPILE_TEST
1908         help
1909           Say yes to enable RTC driver for the Goldfish based virtual platform.
1911           Goldfish is a code name for the virtual platform developed by Google
1912           for Android emulation.
1914 config RTC_DRV_WILCO_EC
1915         tristate "Wilco EC RTC"
1916         depends on WILCO_EC
1917         default m
1918         help
1919           If you say yes here, you get read/write support for the Real Time
1920           Clock on the Wilco Embedded Controller (Wilco is a kind of Chromebook)
1922           This can also be built as a module. If so, the module will
1923           be named "rtc_wilco_ec".
1925 endif # RTC_CLASS