Merge tag 'sched-core-2024-09-19' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / drivers / rtc / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # RTC class/drivers configuration
4 #
5
6 config RTC_LIB
7         bool
8
9 config RTC_MC146818_LIB
10         bool
11         select RTC_LIB
12
13 menuconfig RTC_CLASS
14         bool "Real Time Clock"
15         default n
16         depends on !S390
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.
22
23 if RTC_CLASS
24
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.
32
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.
43
44           This clock should be battery-backed, so that it reads the correct
45           time when the system boots from a power-off state. Otherwise, your
46           system will need an external clock source (like an NTP server).
47
48           If the clock you specify here is not battery backed, it may still
49           be useful to reinitialize system time when resuming from system
50           sleep states. Do not specify an RTC here unless it stays powered
51           during all this system's supported sleep states.
52
53 config RTC_SYSTOHC
54         bool "Set the RTC time based on NTP synchronization"
55         default y
56         help
57           If you say yes here, the system time (wall clock) will be stored
58           in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11
59           minutes if userspace reports synchronized NTP status.
60
61 config RTC_SYSTOHC_DEVICE
62         string "RTC used to synchronize NTP adjustment"
63         depends on RTC_SYSTOHC
64         default RTC_HCTOSYS_DEVICE if RTC_HCTOSYS
65         default "rtc0"
66         help
67           The RTC device used for NTP synchronization. The main difference
68           between RTC_HCTOSYS_DEVICE and RTC_SYSTOHC_DEVICE is that this
69           one can sleep when setting time, because it runs in the workqueue
70           context.
71
72 config RTC_DEBUG
73         bool "RTC debug support"
74         help
75           Say yes here to enable debugging support in the RTC framework
76           and individual RTC drivers.
77
78 config RTC_LIB_KUNIT_TEST
79         tristate "KUnit test for RTC lib functions" if !KUNIT_ALL_TESTS
80         depends on KUNIT
81         default KUNIT_ALL_TESTS
82         help
83           Enable this option to test RTC library functions.
84
85           If unsure, say N.
86
87 config RTC_NVMEM
88         bool "RTC non volatile storage support"
89         select NVMEM
90         default RTC_CLASS
91         help
92           Say yes here to add support for the non volatile (often battery
93           backed) storage present on RTCs.
94
95 comment "RTC interfaces"
96
97 config RTC_INTF_SYSFS
98         bool "/sys/class/rtc/rtcN (sysfs)"
99         depends on SYSFS
100         default RTC_CLASS
101         help
102           Say yes here if you want to use your RTCs using sysfs interfaces,
103           /sys/class/rtc/rtc0 through /sys/.../rtcN.
104
105           If unsure, say Y.
106
107 config RTC_INTF_PROC
108         bool "/proc/driver/rtc (procfs for rtcN)"
109         depends on PROC_FS
110         default RTC_CLASS
111         help
112           Say yes here if you want to use your system clock RTC through
113           the proc interface, /proc/driver/rtc.
114           Other RTCs will not be available through that API.
115           If there is no RTC for the system clock, then the first RTC(rtc0)
116           is used by default.
117
118           If unsure, say Y.
119
120 config RTC_INTF_DEV
121         bool "/dev/rtcN (character devices)"
122         default RTC_CLASS
123         help
124           Say yes here if you want to use your RTCs using the /dev
125           interfaces, which "udev" sets up as /dev/rtc0 through
126           /dev/rtcN.
127
128           You may want to set up a symbolic link so one of these
129           can be accessed as /dev/rtc, which is a name
130           expected by "hwclock" and some other programs. Recent
131           versions of "udev" are known to set up the symlink for you.
132
133           If unsure, say Y.
134
135 config RTC_INTF_DEV_UIE_EMUL
136         bool "RTC UIE emulation on dev interface"
137         depends on RTC_INTF_DEV
138         help
139           Provides an emulation for RTC_UIE if the underlying rtc chip
140           driver does not expose RTC_UIE ioctls. Those requests generate
141           once-per-second update interrupts, used for synchronization.
142
143           The emulation code will read the time from the hardware
144           clock several times per second, please enable this option
145           only if you know that you really need it.
146
147 config RTC_DRV_TEST
148         tristate "Test driver/device"
149         help
150           If you say yes here you get support for the
151           RTC test driver. It's a software RTC which can be
152           used to test the RTC subsystem APIs. It gets
153           the time from the system clock.
154           You want this driver only if you are doing development
155           on the RTC subsystem. Please read the source code
156           for further details.
157
158           This driver can also be built as a module. If so, the module
159           will be called rtc-test.
160
161 comment "I2C RTC drivers"
162
163 if I2C
164
165 config RTC_DRV_88PM860X
166         tristate "Marvell 88PM860x"
167         depends on MFD_88PM860X
168         help
169           If you say yes here you get support for RTC function in Marvell
170           88PM860x chips.
171
172           This driver can also be built as a module. If so, the module
173           will be called rtc-88pm860x.
174
175 config RTC_DRV_88PM80X
176         tristate "Marvell 88PM80x"
177         depends on MFD_88PM800
178         help
179           If you say yes here you get support for RTC function in Marvell
180           88PM80x chips.
181
182           This driver can also be built as a module. If so, the module
183           will be called rtc-88pm80x.
184
185 config RTC_DRV_ABB5ZES3
186         select REGMAP_I2C
187         tristate "Abracon AB-RTCMC-32.768kHz-B5ZE-S3"
188         help
189           If you say yes here you get support for the Abracon
190           AB-RTCMC-32.768kHz-B5ZE-S3 I2C RTC chip.
191
192           This driver can also be built as a module. If so, the module
193           will be called rtc-ab-b5ze-s3.
194
195 config RTC_DRV_ABEOZ9
196         select REGMAP_I2C
197         tristate "Abracon AB-RTCMC-32.768kHz-EOZ9"
198         help
199           If you say yes here you get support for the Abracon
200           AB-RTCMC-32.768kHz-EOA9 I2C RTC chip.
201
202           This driver can also be built as a module. If so, the module
203           will be called rtc-ab-e0z9.
204
205 config RTC_DRV_ABX80X
206         tristate "Abracon ABx80x"
207         select WATCHDOG_CORE if WATCHDOG
208         help
209           If you say yes here you get support for Abracon AB080X and AB180X
210           families of ultra-low-power  battery- and capacitor-backed real-time
211           clock chips.
212
213           This driver can also be built as a module. If so, the module
214           will be called rtc-abx80x.
215
216 config RTC_DRV_AC100
217         tristate "X-Powers AC100"
218         depends on MFD_AC100
219         help
220           If you say yes here you get support for the real-time clock found
221           in X-Powers AC100 family peripheral ICs.
222
223           This driver can also be built as a module. If so, the module
224           will be called rtc-ac100.
225
226 config RTC_DRV_BRCMSTB
227         tristate "Broadcom STB wake-timer"
228         depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
229         default ARCH_BRCMSTB || BMIPS_GENERIC
230         help
231           If you say yes here you get support for the wake-timer found on
232           Broadcom STB SoCs (BCM7xxx).
233
234           This driver can also be built as a module. If so, the module will
235           be called rtc-brcmstb-waketimer.
236
237 config RTC_DRV_AS3722
238         tristate "ams AS3722 RTC driver"
239         depends on MFD_AS3722
240         help
241           If you say yes here you get support for the RTC of ams AS3722 PMIC
242           chips.
243
244           This driver can also be built as a module. If so, the module
245           will be called rtc-as3722.
246
247 config RTC_DRV_DS1307
248         tristate "Dallas/Maxim DS1307/37/38/39/40/41, ST M41T00, EPSON RX-8025, ISL12057"
249         select REGMAP_I2C
250         select WATCHDOG_CORE if WATCHDOG
251         help
252           If you say yes here you get support for various compatible RTC
253           chips (often with battery backup) connected with I2C. This driver
254           should handle DS1307, DS1337, DS1338, DS1339, DS1340, DS1341,
255           ST M41T00, EPSON RX-8025, Intersil ISL12057 and probably other chips.
256           In some cases the RTC must already have been initialized (by
257           manufacturing or a bootloader).
258
259           The first seven registers on these chips hold an RTC, and other
260           registers may add features such as NVRAM, a trickle charger for
261           the RTC/NVRAM backup power, and alarms. NVRAM is visible in
262           sysfs, but other chip features may not be available.
263
264           This driver can also be built as a module. If so, the module
265           will be called rtc-ds1307.
266
267 config RTC_DRV_DS1307_CENTURY
268         bool "Century bit support for rtc-ds1307"
269         depends on RTC_DRV_DS1307
270         default n
271         help
272           The DS1307 driver suffered from a bug where it was enabling the
273           century bit inconditionnally but never used it when reading the time.
274           It made the driver unable to support dates beyond 2099.
275           Setting this option will add proper support for the century bit but if
276           the time was previously set using a kernel predating this option,
277           reading the date will return a date in the next century.
278           To solve that, you could boot a kernel without this option set, set
279           the RTC date and then boot a kernel with this option set.
280
281 config RTC_DRV_DS1374
282         tristate "Dallas/Maxim DS1374"
283         help
284           If you say yes here you get support for Dallas Semiconductor
285           DS1374 real-time clock chips. If an interrupt is associated
286           with the device, the alarm functionality is supported.
287
288           This driver can also be built as a module. If so, the module
289           will be called rtc-ds1374.
290
291 config RTC_DRV_DS1374_WDT
292         bool "Dallas/Maxim DS1374 watchdog timer"
293         depends on RTC_DRV_DS1374 && WATCHDOG
294         select WATCHDOG_CORE
295         help
296           If you say Y here you will get support for the
297           watchdog timer in the Dallas Semiconductor DS1374
298           real-time clock chips.
299
300 config RTC_DRV_DS1672
301         tristate "Dallas/Maxim DS1672"
302         help
303           If you say yes here you get support for the
304           Dallas/Maxim DS1672 timekeeping chip.
305
306           This driver can also be built as a module. If so, the module
307           will be called rtc-ds1672.
308
309 config RTC_DRV_HYM8563
310         tristate "Haoyu Microelectronics HYM8563"
311         depends on OF
312         help
313           Say Y to enable support for the HYM8563 I2C RTC chip. Apart
314           from the usual rtc functions it provides a clock output of
315           up to 32kHz.
316
317           This driver can also be built as a module. If so, the module
318           will be called rtc-hym8563.
319
320 config RTC_DRV_LP8788
321         tristate "TI LP8788 RTC driver"
322         depends on MFD_LP8788
323         help
324           Say Y to enable support for the LP8788 RTC/ALARM driver.
325
326 config RTC_DRV_MAX6900
327         tristate "Maxim MAX6900"
328         help
329           If you say yes here you will get support for the
330           Maxim MAX6900 I2C RTC chip.
331
332           This driver can also be built as a module. If so, the module
333           will be called rtc-max6900.
334
335 config RTC_DRV_MAX8907
336         tristate "Maxim MAX8907"
337         depends on MFD_MAX8907 || COMPILE_TEST
338         select REGMAP_IRQ
339         help
340           If you say yes here you will get support for the
341           RTC of Maxim MAX8907 PMIC.
342
343           This driver can also be built as a module. If so, the module
344           will be called rtc-max8907.
345
346 config RTC_DRV_MAX8925
347         tristate "Maxim MAX8925"
348         depends on MFD_MAX8925
349         help
350           If you say yes here you will get support for the
351           RTC of Maxim MAX8925 PMIC.
352
353           This driver can also be built as a module. If so, the module
354           will be called rtc-max8925.
355
356 config RTC_DRV_MAX8998
357         tristate "Maxim MAX8998"
358         depends on MFD_MAX8998
359         help
360           If you say yes here you will get support for the
361           RTC of Maxim MAX8998 PMIC.
362
363           This driver can also be built as a module. If so, the module
364           will be called rtc-max8998.
365
366 config RTC_DRV_MAX8997
367         tristate "Maxim MAX8997"
368         depends on MFD_MAX8997
369         help
370           If you say yes here you will get support for the
371           RTC of Maxim MAX8997 PMIC.
372
373           This driver can also be built as a module. If so, the module
374           will be called rtc-max8997.
375
376 config RTC_DRV_MAX31335
377         tristate "Analog Devices MAX31335"
378         depends on I2C
379         depends on COMMON_CLK
380         depends on HWMON || HWMON=n
381         select REGMAP_I2C
382         help
383           If you say yes here you get support for the Analog Devices
384           MAX31335.
385
386           This driver can also be built as a module. If so, the module
387           will be called rtc-max31335.
388
389 config RTC_DRV_MAX77686
390         tristate "Maxim MAX77686"
391         depends on MFD_MAX77686 || MFD_MAX77620 || MFD_MAX77714 || COMPILE_TEST
392         help
393           If you say yes here you will get support for the
394           RTC of Maxim MAX77686/MAX77620/MAX77802 PMIC.
395
396           This driver can also be built as a module. If so, the module
397           will be called rtc-max77686.
398
399 config RTC_DRV_NCT3018Y
400         tristate "Nuvoton NCT3018Y"
401         depends on OF
402         help
403            If you say yes here you get support for the Nuvoton NCT3018Y I2C RTC
404            chip.
405
406            This driver can also be built as a module, if so, the module will be
407            called "rtc-nct3018y".
408
409 config RTC_DRV_RK808
410         tristate "Rockchip RK805/RK808/RK809/RK817/RK818 RTC"
411         depends on MFD_RK8XX
412         help
413           If you say yes here you will get support for the
414           RTC of RK805, RK809 and RK817, RK808 and RK818 PMIC.
415
416           This driver can also be built as a module. If so, the module
417           will be called rk808-rtc.
418
419 config RTC_DRV_RS5C372
420         tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A"
421         help
422           If you say yes here you get support for the
423           Ricoh R2025S/D, RS5C372A, RS5C372B, RV5C386, and RV5C387A RTC chips.
424
425           This driver can also be built as a module. If so, the module
426           will be called rtc-rs5c372.
427
428 config RTC_DRV_ISL1208
429         tristate "Intersil ISL1208"
430         help
431           If you say yes here you get support for the
432           Intersil ISL1208 RTC chip.
433
434           This driver can also be built as a module. If so, the module
435           will be called rtc-isl1208.
436
437 config RTC_DRV_ISL12022
438         tristate "Intersil ISL12022"
439         select REGMAP_I2C
440         help
441           If you say yes here you get support for the
442           Intersil ISL12022 RTC chip.
443
444           This driver can also be built as a module. If so, the module
445           will be called rtc-isl12022.
446
447 config RTC_DRV_ISL12026
448         tristate "Intersil ISL12026"
449         depends on OF
450         help
451           If you say yes here you get support for the
452           Intersil ISL12026 RTC chip.
453
454           This driver can also be built as a module. If so, the module
455           will be called rtc-isl12026.
456
457 config RTC_DRV_X1205
458         tristate "Xicor/Intersil X1205"
459         help
460           If you say yes here you get support for the
461           Xicor/Intersil X1205 RTC chip.
462
463           This driver can also be built as a module. If so, the module
464           will be called rtc-x1205.
465
466 config RTC_DRV_PCF8523
467         tristate "NXP PCF8523"
468         select REGMAP_I2C
469         help
470           If you say yes here you get support for the NXP PCF8523 RTC
471           chips.
472
473           This driver can also be built as a module. If so, the module
474           will be called rtc-pcf8523.
475
476 config RTC_DRV_PCF85063
477         tristate "NXP PCF85063"
478         select REGMAP_I2C
479         help
480           If you say yes here you get support for the PCF85063 RTC chip
481
482           This driver can also be built as a module. If so, the module
483           will be called rtc-pcf85063.
484
485 config RTC_DRV_PCF85363
486         tristate "NXP PCF85363"
487         select REGMAP_I2C
488         help
489           If you say yes here you get support for the PCF85363 RTC chip.
490
491           This driver can also be built as a module. If so, the module
492           will be called rtc-pcf85363.
493
494           The nvmem interface will be named pcf85363-#, where # is the
495           zero-based instance number.
496
497 config RTC_DRV_PCF8563
498         tristate "Philips PCF8563/Epson RTC8564"
499         help
500           If you say yes here you get support for the
501           Philips PCF8563 RTC chip. The Epson RTC8564
502           should work as well.
503
504           This driver can also be built as a module. If so, the module
505           will be called rtc-pcf8563.
506
507 config RTC_DRV_PCF8583
508         tristate "Philips PCF8583"
509         help
510           If you say yes here you get support for the Philips PCF8583
511           RTC chip found on Acorn RiscPCs. This driver supports the
512           platform specific method of retrieving the current year from
513           the RTC's SRAM. It will work on other platforms with the same
514           chip, but the year will probably have to be tweaked.
515
516           This driver can also be built as a module. If so, the module
517           will be called rtc-pcf8583.
518
519 config RTC_DRV_M41T80
520         tristate "ST M41T62/65/M41T80/81/82/83/84/85/87 and compatible"
521         help
522           If you say Y here you will get support for the ST M41T60
523           and M41T80 RTC chips series. Currently, the following chips are
524           supported: M41T62, M41T65, M41T80, M41T81, M41T82, M41T83, M41ST84,
525           M41ST85, M41ST87, and MicroCrystal RV4162.
526
527           This driver can also be built as a module. If so, the module
528           will be called rtc-m41t80.
529
530 config RTC_DRV_M41T80_WDT
531         bool "ST M41T65/M41T80 series RTC watchdog timer"
532         depends on RTC_DRV_M41T80
533         help
534           If you say Y here you will get support for the
535           watchdog timer in the ST M41T60 and M41T80 RTC chips series.
536
537 config RTC_DRV_BD70528
538         tristate "ROHM BD71815 and BD71828 PMIC RTC"
539         depends on MFD_ROHM_BD71828
540         help
541           If you say Y here you will get support for the RTC
542           block on ROHM BD71815 and BD71828 Power Management IC.
543
544           This driver can also be built as a module. If so, the module
545           will be called rtc-bd70528.
546
547 config RTC_DRV_BQ32K
548         tristate "TI BQ32000"
549         help
550           If you say Y here you will get support for the TI
551           BQ32000 I2C RTC chip.
552
553           This driver can also be built as a module. If so, the module
554           will be called rtc-bq32k.
555
556 config RTC_DRV_TWL92330
557         bool "TI TWL92330/Menelaus"
558         depends on MENELAUS
559         help
560           If you say yes here you get support for the RTC on the
561           TWL92330 "Menelaus" power management chip, used with OMAP2
562           platforms. The support is integrated with the rest of
563           the Menelaus driver; it's not separate module.
564
565 config RTC_DRV_TWL4030
566         tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0"
567         depends on TWL4030_CORE
568         depends on OF
569         help
570           If you say yes here you get support for the RTC on the
571           TWL4030/TWL5030/TWL6030 family chips, used mostly with OMAP3 platforms.
572
573           This driver can also be built as a module. If so, the module
574           will be called rtc-twl.
575
576 config RTC_DRV_PALMAS
577         tristate "TI Palmas RTC driver"
578         depends on MFD_PALMAS
579         help
580           If you say yes here you get support for the RTC of TI PALMA series PMIC
581           chips.
582
583           This driver can also be built as a module. If so, the module
584           will be called rtc-palma.
585
586 config RTC_DRV_TPS6586X
587         tristate "TI TPS6586X RTC driver"
588         depends on MFD_TPS6586X
589         help
590           TI Power Management IC TPS6586X supports RTC functionality
591           along with alarm. This driver supports the RTC driver for
592           the TPS6586X RTC module.
593
594 config RTC_DRV_TPS6594
595         tristate "TI TPS6594 RTC driver"
596         depends on MFD_TPS6594
597         default MFD_TPS6594
598         help
599           TI Power Management IC TPS6594 supports RTC functionality
600           along with alarm. This driver supports the RTC driver for
601           the TPS6594 RTC module.
602
603           This driver can also be built as a module. If so, the module
604           will be called rtc-tps6594.
605
606 config RTC_DRV_TPS65910
607         tristate "TI TPS65910 RTC driver"
608         depends on MFD_TPS65910
609         help
610           If you say yes here you get support for the RTC on the
611           TPS65910 chips.
612
613           This driver can also be built as a module. If so, the module
614           will be called rtc-tps65910.
615
616 config RTC_DRV_RC5T583
617         tristate "RICOH 5T583 RTC driver"
618         depends on MFD_RC5T583
619         help
620           If you say yes here you get support for the RTC on the
621           RICOH 5T583 chips.
622
623           This driver can also be built as a module. If so, the module
624           will be called rtc-rc5t583.
625
626 config RTC_DRV_RC5T619
627         tristate "RICOH RC5T619 RTC driver"
628         depends on MFD_RN5T618
629         help
630           If you say yes here you get support for the RTC on the
631           RICOH RC5T619 chips.
632
633           This driver can also be built as a module. If so, the module
634           will be called rtc-rc5t619.
635
636 config RTC_DRV_S35390A
637         tristate "Seiko Instruments S-35390A"
638         select BITREVERSE
639         help
640           If you say yes here you will get support for the Seiko
641           Instruments S-35390A.
642
643           This driver can also be built as a module. If so the module
644           will be called rtc-s35390a.
645
646 config RTC_DRV_FM3130
647         tristate "Ramtron FM3130"
648         help
649           If you say Y here you will get support for the
650           Ramtron FM3130 RTC chips.
651           Ramtron FM3130 is a chip with two separate devices inside,
652           RTC clock and FRAM. This driver provides only RTC functionality.
653
654           This driver can also be built as a module. If so the module
655           will be called rtc-fm3130.
656
657 config RTC_DRV_RX8010
658         tristate "Epson RX8010SJ"
659         select REGMAP_I2C
660         help
661           If you say yes here you get support for the Epson RX8010SJ RTC
662           chip.
663
664           This driver can also be built as a module. If so, the module
665           will be called rtc-rx8010.
666
667 config RTC_DRV_RX8111
668         tristate "Epson RX8111"
669         select REGMAP_I2C
670         depends on I2C
671         help
672           If you say yes here you will get support for the Epson RX8111 RTC.
673
674           This driver can also be built as a module. If so, the module will be
675           called rtc-rx8111.
676
677 config RTC_DRV_RX8581
678         tristate "Epson RX-8571/RX-8581"
679         select REGMAP_I2C
680         help
681           If you say yes here you will get support for the Epson RX-8571/
682           RX-8581.
683
684           This driver can also be built as a module. If so the module
685           will be called rtc-rx8581.
686
687 config RTC_DRV_RX8025
688         tristate "Epson RX-8025SA/NB"
689         help
690           If you say yes here you get support for the Epson
691           RX-8025SA/NB RTC chips.
692
693           This driver can also be built as a module. If so, the module
694           will be called rtc-rx8025.
695
696 config RTC_DRV_EM3027
697         tristate "EM Microelectronic EM3027"
698         help
699           If you say yes here you get support for the EM
700           Microelectronic EM3027 RTC chips.
701
702           This driver can also be built as a module. If so, the module
703           will be called rtc-em3027.
704
705 config RTC_DRV_RV3028
706         tristate "Micro Crystal RV3028"
707         select REGMAP_I2C
708         help
709           If you say yes here you get support for the Micro Crystal
710           RV3028.
711
712           This driver can also be built as a module. If so, the module
713           will be called rtc-rv3028.
714
715 config RTC_DRV_RV3032
716         tristate "Micro Crystal RV3032"
717         select REGMAP_I2C
718         help
719           If you say yes here you get support for the Micro Crystal
720           RV3032.
721
722           This driver can also be built as a module. If so, the module
723           will be called rtc-rv3032.
724
725 config RTC_DRV_RV8803
726         tristate "Micro Crystal RV8803, Epson RX8900"
727         help
728           If you say yes here you get support for the Micro Crystal RV8803 and
729           Epson RX8900 RTC chips.
730
731           This driver can also be built as a module. If so, the module
732           will be called rtc-rv8803.
733
734 config RTC_DRV_S5M
735         tristate "Samsung S2M/S5M series"
736         depends on MFD_SEC_CORE || COMPILE_TEST
737         select REGMAP_IRQ
738         select REGMAP_I2C
739         help
740           If you say yes here you will get support for the
741           RTC of Samsung S2MPS14 and S5M PMIC series.
742
743           This driver can also be built as a module. If so, the module
744           will be called rtc-s5m.
745
746 config RTC_DRV_SD3078
747         tristate "ZXW Shenzhen whwave SD3078"
748         select REGMAP_I2C
749         help
750           If you say yes here you get support for the ZXW Shenzhen whwave
751           SD3078 RTC chips.
752
753           This driver can also be built as a module. If so, the module
754           will be called rtc-sd3078
755
756 endif # I2C
757
758 comment "SPI RTC drivers"
759
760 if SPI_MASTER
761
762 config RTC_DRV_M41T93
763         tristate "ST M41T93"
764         help
765           If you say yes here you will get support for the
766           ST M41T93 SPI RTC chip.
767
768           This driver can also be built as a module. If so, the module
769           will be called rtc-m41t93.
770
771 config RTC_DRV_M41T94
772         tristate "ST M41T94"
773         help
774           If you say yes here you will get support for the
775           ST M41T94 SPI RTC chip.
776
777           This driver can also be built as a module. If so, the module
778           will be called rtc-m41t94.
779
780 config RTC_DRV_DS1302
781         tristate "Dallas/Maxim DS1302"
782         depends on SPI
783         help
784           If you say yes here you get support for the Dallas DS1302 RTC chips.
785
786           This driver can also be built as a module. If so, the module
787           will be called rtc-ds1302.
788
789 config RTC_DRV_DS1305
790         tristate "Dallas/Maxim DS1305/DS1306"
791         help
792           Select this driver to get support for the Dallas/Maxim DS1305
793           and DS1306 real time clock chips. These support a trickle
794           charger, alarms, and NVRAM in addition to the clock.
795
796           This driver can also be built as a module. If so, the module
797           will be called rtc-ds1305.
798
799 config RTC_DRV_DS1343
800         select REGMAP_SPI
801         tristate "Dallas/Maxim DS1343/DS1344"
802         help
803           If you say yes here you get support for the
804           Dallas/Maxim DS1343 and DS1344 real time clock chips.
805           Support for trickle charger, alarm is provided.
806
807           This driver can also be built as a module. If so, the module
808           will be called rtc-ds1343.
809
810 config RTC_DRV_DS1347
811         select REGMAP_SPI
812         tristate "Dallas/Maxim DS1347"
813         help
814           If you say yes here you get support for the
815           Dallas/Maxim DS1347 chips.
816
817           This driver only supports the RTC feature, and not other chip
818           features such as alarms.
819
820           This driver can also be built as a module. If so, the module
821           will be called rtc-ds1347.
822
823 config RTC_DRV_DS1390
824         tristate "Dallas/Maxim DS1390/93/94"
825         help
826           If you say yes here you get support for the
827           Dallas/Maxim DS1390/93/94 chips.
828
829           This driver supports the RTC feature and trickle charging but not
830           other chip features such as alarms.
831
832           This driver can also be built as a module. If so, the module
833           will be called rtc-ds1390.
834
835 config RTC_DRV_MAX6916
836         tristate "Maxim MAX6916"
837         help
838           If you say yes here you will get support for the
839           Maxim MAX6916 SPI RTC chip.
840
841           This driver only supports the RTC feature, and not other chip
842           features such as alarms.
843
844           This driver can also be built as a module. If so, the module
845           will be called rtc-max6916.
846
847 config RTC_DRV_R9701
848         tristate "Epson RTC-9701JE"
849         help
850           If you say yes here you will get support for the
851           Epson RTC-9701JE SPI RTC chip.
852
853           This driver can also be built as a module. If so, the module
854           will be called rtc-r9701.
855
856 config RTC_DRV_RX4581
857         tristate "Epson RX-4581"
858         help
859           If you say yes here you will get support for the Epson RX-4581.
860
861           This driver can also be built as a module. If so the module
862           will be called rtc-rx4581.
863
864 config RTC_DRV_RS5C348
865         tristate "Ricoh RS5C348A/B"
866         help
867           If you say yes here you get support for the
868           Ricoh RS5C348A and RS5C348B RTC chips.
869
870           This driver can also be built as a module. If so, the module
871           will be called rtc-rs5c348.
872
873 config RTC_DRV_MAX6902
874         tristate "Maxim MAX6902"
875         help
876           If you say yes here you will get support for the
877           Maxim MAX6902 SPI RTC chip.
878
879           This driver can also be built as a module. If so, the module
880           will be called rtc-max6902.
881
882 config RTC_DRV_PCF2123
883         tristate "NXP PCF2123"
884         select REGMAP_SPI
885         help
886           If you say yes here you get support for the NXP PCF2123
887           RTC chip.
888
889           This driver can also be built as a module. If so, the module
890           will be called rtc-pcf2123.
891
892 config RTC_DRV_MCP795
893         tristate "Microchip MCP795"
894         help
895           If you say yes here you will get support for the Microchip MCP795.
896
897           This driver can also be built as a module. If so the module
898           will be called rtc-mcp795.
899
900 endif # SPI_MASTER
901
902 #
903 # Helper to resolve issues with configs that have SPI enabled but I2C
904 # modular.  See SND_SOC_I2C_AND_SPI for more information
905 #
906 config RTC_I2C_AND_SPI
907         tristate
908         default m if I2C=m
909         default y if I2C=y
910         default y if SPI_MASTER=y
911
912 comment "SPI and I2C RTC drivers"
913
914 config RTC_DRV_DS3232
915         tristate "Dallas/Maxim DS3232/DS3234"
916         depends on RTC_I2C_AND_SPI
917         select REGMAP_I2C if I2C
918         select REGMAP_SPI if SPI_MASTER
919         help
920           If you say yes here you get support for Dallas Semiconductor
921           DS3232 and DS3234 real-time clock chips. If an interrupt is associated
922           with the device, the alarm functionality is supported.
923
924           This driver can also be built as a module.  If so, the module
925           will be called rtc-ds3232.
926
927 config RTC_DRV_DS3232_HWMON
928         bool "HWMON support for Dallas/Maxim DS3232/DS3234"
929         depends on RTC_DRV_DS3232 && HWMON && !(RTC_DRV_DS3232=y && HWMON=m)
930         default y
931         help
932           Say Y here if you want to expose temperature sensor data on
933           rtc-ds3232
934
935 config RTC_DRV_PCF2127
936         tristate "NXP PCF2127"
937         depends on RTC_I2C_AND_SPI
938         select REGMAP_I2C if I2C
939         select REGMAP_SPI if SPI_MASTER
940         select WATCHDOG_CORE if WATCHDOG
941         help
942           If you say yes here you get support for the NXP PCF2127/29/31 RTC
943           chips with integrated quartz crystal for industrial applications.
944           These chips also have watchdog timer and tamper switch detection
945           features.
946
947           PCF2127 has an additional feature of 512 bytes battery backed
948           memory that's accessible using nvmem interface.
949
950           This driver can also be built as a module. If so, the module
951           will be called rtc-pcf2127.
952
953 config RTC_DRV_RV3029C2
954         tristate "Micro Crystal RV3029/3049"
955         depends on RTC_I2C_AND_SPI
956         select REGMAP_I2C if I2C
957         select REGMAP_SPI if SPI_MASTER
958         help
959           If you say yes here you get support for the Micro Crystal
960           RV3029 and RV3049 RTC chips.
961
962           This driver can also be built as a module. If so, the module
963           will be called rtc-rv3029c2.
964
965 config RTC_DRV_RV3029_HWMON
966         bool "HWMON support for RV3029/3049"
967         depends on RTC_DRV_RV3029C2 && HWMON
968         depends on !(RTC_DRV_RV3029C2=y && HWMON=m)
969         default y
970         help
971           Say Y here if you want to expose temperature sensor data on
972           rtc-rv3029.
973
974 config RTC_DRV_RX6110
975         tristate "Epson RX-6110"
976         depends on RTC_I2C_AND_SPI
977         select REGMAP_SPI if SPI_MASTER
978         select REGMAP_I2C if I2C
979         help
980           If you say yes here you will get support for the Epson RX-6110.
981
982           This driver can also be built as a module. If so the module
983           will be called rtc-rx6110.
984
985 comment "Platform RTC drivers"
986
987 # this 'CMOS' RTC driver is arch dependent because it requires
988 # <asm/mc146818rtc.h> defining CMOS_READ/CMOS_WRITE, and a
989 # global rtc_lock ... it's not yet just another platform_device.
990
991 config RTC_DRV_CMOS
992         tristate "PC-style 'CMOS'"
993         depends on X86 || ARM || PPC || MIPS || SPARC64
994         depends on HAS_IOPORT || MACH_DECSTATION
995         default y if X86
996         select RTC_MC146818_LIB
997         help
998           Say "yes" here to get direct support for the real time clock
999           found in every PC or ACPI-based system, and some other boards.
1000           Specifically the original MC146818, compatibles like those in
1001           PC south bridges, the DS12887 or M48T86, some multifunction
1002           or LPC bus chips, and so on.
1003
1004           Your system will need to define the platform device used by
1005           this driver, otherwise it won't be accessible. This means
1006           you can safely enable this driver if you don't know whether
1007           or not your board has this kind of hardware.
1008
1009           This driver can also be built as a module. If so, the module
1010           will be called rtc-cmos.
1011
1012 config RTC_DRV_ALPHA
1013         bool "Alpha PC-style CMOS"
1014         depends on ALPHA
1015         depends on HAS_IOPORT
1016         select RTC_MC146818_LIB
1017         default y
1018         help
1019           Direct support for the real-time clock found on every Alpha
1020           system, specifically MC146818 compatibles.  If in doubt, say Y.
1021
1022 config RTC_DRV_DS1216
1023         tristate "Dallas DS1216"
1024         depends on SNI_RM
1025         help
1026           If you say yes here you get support for the Dallas DS1216 RTC chips.
1027
1028 config RTC_DRV_DS1286
1029         tristate "Dallas DS1286"
1030         depends on HAS_IOMEM
1031         help
1032           If you say yes here you get support for the Dallas DS1286 RTC chips.
1033
1034 config RTC_DRV_DS1511
1035         tristate "Dallas DS1511"
1036         depends on HAS_IOMEM
1037         help
1038           If you say yes here you get support for the
1039           Dallas DS1511 timekeeping/watchdog chip.
1040
1041           This driver can also be built as a module. If so, the module
1042           will be called rtc-ds1511.
1043
1044 config RTC_DRV_DS1553
1045         tristate "Maxim/Dallas DS1553"
1046         depends on HAS_IOMEM
1047         help
1048           If you say yes here you get support for the
1049           Maxim/Dallas DS1553 timekeeping chip.
1050
1051           This driver can also be built as a module. If so, the module
1052           will be called rtc-ds1553.
1053
1054 config RTC_DRV_DS1685_FAMILY
1055         tristate "Dallas/Maxim DS1685 Family"
1056         depends on HAS_IOMEM
1057         help
1058           If you say yes here you get support for the Dallas/Maxim DS1685
1059           family of real time chips.  This family includes the DS1685/DS1687,
1060           DS1689/DS1693, DS17285/DS17287, DS17485/DS17487, and
1061           DS17885/DS17887 chips.
1062
1063           This driver can also be built as a module. If so, the module
1064           will be called rtc-ds1685.
1065
1066 choice
1067         prompt "Subtype"
1068         depends on RTC_DRV_DS1685_FAMILY
1069         default RTC_DRV_DS1685
1070
1071 config RTC_DRV_DS1685
1072         bool "DS1685/DS1687"
1073         help
1074           This enables support for the Dallas/Maxim DS1685/DS1687 real time
1075           clock chip.
1076
1077           This chip is commonly found in SGI O2 (IP32) and SGI Octane (IP30)
1078           systems, as well as EPPC-405-UC modules by electronic system design
1079           GmbH.
1080
1081 config RTC_DRV_DS1689
1082         bool "DS1689/DS1693"
1083         help
1084           This enables support for the Dallas/Maxim DS1689/DS1693 real time
1085           clock chip.
1086
1087           This is an older RTC chip, supplanted by the DS1685/DS1687 above,
1088           which supports a few minor features such as Vcc, Vbat, and Power
1089           Cycle counters, plus a customer-specific, 8-byte ROM/Serial number.
1090
1091           It also works for the even older DS1688/DS1691 RTC chips, which are
1092           virtually the same and carry the same model number.  Both chips
1093           have 114 bytes of user NVRAM.
1094
1095 config RTC_DRV_DS17285
1096         bool "DS17285/DS17287"
1097         help
1098           This enables support for the Dallas/Maxim DS17285/DS17287 real time
1099           clock chip.
1100
1101           This chip features 2kb of extended NV-SRAM.  It may possibly be
1102           found in some SGI O2 systems (rare).
1103
1104 config RTC_DRV_DS17485
1105         bool "DS17485/DS17487"
1106         help
1107           This enables support for the Dallas/Maxim DS17485/DS17487 real time
1108           clock chip.
1109
1110           This chip features 4kb of extended NV-SRAM.
1111
1112 config RTC_DRV_DS17885
1113         bool "DS17885/DS17887"
1114         help
1115           This enables support for the Dallas/Maxim DS17885/DS17887 real time
1116           clock chip.
1117
1118           This chip features 8kb of extended NV-SRAM.
1119
1120 endchoice
1121
1122 config RTC_DRV_DS1742
1123         tristate "Maxim/Dallas DS1742/1743"
1124         depends on HAS_IOMEM
1125         help
1126           If you say yes here you get support for the
1127           Maxim/Dallas DS1742/1743 timekeeping chip.
1128
1129           This driver can also be built as a module. If so, the module
1130           will be called rtc-ds1742.
1131
1132 config RTC_DRV_DS2404
1133         tristate "Maxim/Dallas DS2404"
1134         help
1135           If you say yes here you get support for the
1136           Dallas DS2404 RTC chip.
1137
1138           This driver can also be built as a module. If so, the module
1139           will be called rtc-ds2404.
1140
1141 config RTC_DRV_DA9052
1142         tristate "Dialog DA9052/DA9053 RTC"
1143         depends on PMIC_DA9052
1144         help
1145           Say y here to support the RTC driver for Dialog Semiconductor
1146           DA9052-BC and DA9053-AA/Bx PMICs.
1147
1148 config RTC_DRV_DA9055
1149         tristate "Dialog Semiconductor DA9055 RTC"
1150         depends on MFD_DA9055
1151         help
1152           If you say yes here you will get support for the
1153           RTC of the Dialog DA9055 PMIC.
1154
1155           This driver can also be built as a module. If so, the module
1156           will be called rtc-da9055
1157
1158 config RTC_DRV_DA9063
1159         tristate "Dialog Semiconductor DA9063/DA9062 RTC"
1160         depends on MFD_DA9063 || MFD_DA9062
1161         help
1162           If you say yes here you will get support for the RTC subsystem
1163           for the Dialog Semiconductor PMIC chips DA9063 and DA9062.
1164
1165           This driver can also be built as a module. If so, the module
1166           will be called "rtc-da9063".
1167
1168 config RTC_DRV_EFI
1169         tristate "EFI RTC"
1170         depends on EFI && !X86
1171         help
1172           If you say yes here you will get support for the EFI
1173           Real Time Clock.
1174
1175           This driver can also be built as a module. If so, the module
1176           will be called rtc-efi.
1177
1178 config RTC_DRV_STK17TA8
1179         tristate "Simtek STK17TA8"
1180         depends on HAS_IOMEM
1181         help
1182           If you say yes here you get support for the
1183           Simtek STK17TA8 timekeeping chip.
1184
1185           This driver can also be built as a module. If so, the module
1186           will be called rtc-stk17ta8.
1187
1188 config RTC_DRV_M48T86
1189         tristate "ST M48T86/Dallas DS12887"
1190         depends on HAS_IOMEM
1191         help
1192           If you say Y here you will get support for the
1193           ST M48T86 and Dallas DS12887 RTC chips.
1194
1195           This driver can also be built as a module. If so, the module
1196           will be called rtc-m48t86.
1197
1198 config RTC_DRV_M48T35
1199         tristate "ST M48T35"
1200         depends on HAS_IOMEM
1201         help
1202           If you say Y here you will get support for the
1203           ST M48T35 RTC chip.
1204
1205           This driver can also be built as a module, if so, the module
1206           will be called "rtc-m48t35".
1207
1208 config RTC_DRV_M48T59
1209         tristate "ST M48T59/M48T08/M48T02"
1210         depends on HAS_IOMEM
1211         help
1212           If you say Y here you will get support for the
1213           ST M48T59 RTC chip and compatible ST M48T08 and M48T02.
1214
1215           These chips are usually found in Sun SPARC and UltraSPARC
1216           workstations.
1217
1218           This driver can also be built as a module, if so, the module
1219           will be called "rtc-m48t59".
1220
1221 config RTC_DRV_MSM6242
1222         tristate "Oki MSM6242"
1223         depends on HAS_IOMEM
1224         help
1225           If you say yes here you get support for the Oki MSM6242
1226           timekeeping chip. It is used in some Amiga models (e.g. A2000).
1227
1228           This driver can also be built as a module. If so, the module
1229           will be called rtc-msm6242.
1230
1231 config RTC_DRV_BQ4802
1232         tristate "TI BQ4802"
1233         depends on HAS_IOMEM && HAS_IOPORT
1234         depends on SPARC || COMPILE_TEST
1235         help
1236           If you say Y here you will get support for the TI
1237           BQ4802 RTC chip.
1238
1239           This driver can also be built as a module. If so, the module
1240           will be called rtc-bq4802.
1241
1242 config RTC_DRV_RP5C01
1243         tristate "Ricoh RP5C01"
1244         depends on HAS_IOMEM
1245         help
1246           If you say yes here you get support for the Ricoh RP5C01
1247           timekeeping chip. It is used in some Amiga models (e.g. A3000
1248           and A4000).
1249
1250           This driver can also be built as a module. If so, the module
1251           will be called rtc-rp5c01.
1252
1253 config RTC_DRV_GAMECUBE
1254         tristate "Nintendo GameCube, Wii and Wii U RTC"
1255         depends on GAMECUBE || WII || COMPILE_TEST
1256         select REGMAP
1257         help
1258           If you say yes here you will get support for the RTC subsystem
1259           of the Nintendo GameCube, Wii and Wii U.
1260
1261           This driver can also be built as a module. If so, the module
1262           will be called "rtc-gamecube".
1263
1264 config RTC_DRV_WM831X
1265         tristate "Wolfson Microelectronics WM831x RTC"
1266         depends on MFD_WM831X
1267         help
1268           If you say yes here you will get support for the RTC subsystem
1269           of the Wolfson Microelectronics WM831X series PMICs.
1270
1271           This driver can also be built as a module. If so, the module
1272           will be called "rtc-wm831x".
1273
1274 config RTC_DRV_WM8350
1275         tristate "Wolfson Microelectronics WM8350 RTC"
1276         depends on MFD_WM8350
1277         help
1278           If you say yes here you will get support for the RTC subsystem
1279           of the Wolfson Microelectronics WM8350.
1280
1281           This driver can also be built as a module. If so, the module
1282           will be called "rtc-wm8350".
1283
1284 config RTC_DRV_SC27XX
1285         tristate "Spreadtrum SC27xx RTC"
1286         depends on MFD_SC27XX_PMIC || COMPILE_TEST
1287         help
1288           If you say Y here you will get support for the RTC subsystem
1289           of the Spreadtrum SC27xx series PMICs. The SC27xx series PMICs
1290           includes the SC2720, SC2721, SC2723, SC2730 and SC2731 chips.
1291
1292           This driver can also be built as a module. If so, the module
1293           will be called rtc-sc27xx.
1294
1295 config RTC_DRV_SPEAR
1296         tristate "SPEAR ST RTC"
1297         depends on PLAT_SPEAR || COMPILE_TEST
1298         default y
1299         help
1300          If you say Y here you will get support for the RTC found on
1301          spear
1302
1303 config RTC_DRV_PCF50633
1304         depends on MFD_PCF50633
1305         tristate "NXP PCF50633 RTC"
1306         help
1307           If you say yes here you get support for the RTC subsystem of the
1308           NXP PCF50633 used in embedded systems.
1309
1310 config RTC_DRV_AB8500
1311         tristate "ST-Ericsson AB8500 RTC"
1312         depends on AB8500_CORE
1313         select RTC_INTF_DEV
1314         select RTC_INTF_DEV_UIE_EMUL
1315         help
1316           Select this to enable the ST-Ericsson AB8500 power management IC RTC
1317           support. This chip contains a battery- and capacitor-backed RTC.
1318
1319 config RTC_DRV_OPAL
1320         tristate "IBM OPAL RTC driver"
1321         depends on PPC_POWERNV
1322         default y
1323         help
1324           If you say yes here you get support for the PowerNV platform RTC
1325           driver based on OPAL interfaces.
1326
1327           This driver can also be built as a module. If so, the module
1328           will be called rtc-opal.
1329
1330 config RTC_DRV_OPTEE
1331         tristate "OP-TEE based RTC driver"
1332         depends on OPTEE
1333         help
1334           Select this to get support for OP-TEE based RTC control on SoCs where
1335           RTC are not accessible to the normal world (Linux).
1336
1337           This driver can also be built as a module. If so, the module
1338           will be called rtc-optee.
1339
1340 config RTC_DRV_ZYNQMP
1341         tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
1342         depends on OF && HAS_IOMEM
1343         help
1344           If you say yes here you get support for the RTC controller found on
1345           Xilinx Zynq Ultrascale+ MPSoC.
1346
1347 config RTC_DRV_CROS_EC
1348         tristate "Chrome OS EC RTC driver"
1349         depends on CROS_EC
1350         help
1351           If you say yes here you will get support for the
1352           Chrome OS Embedded Controller's RTC.
1353
1354           This driver can also be built as a module. If so, the module
1355           will be called rtc-cros-ec.
1356
1357 config RTC_DRV_NTXEC
1358         tristate "Netronix embedded controller RTC"
1359         depends on MFD_NTXEC
1360         help
1361           Say yes here if you want to support the RTC functionality of the
1362           embedded controller found in certain e-book readers designed by the
1363           original design manufacturer Netronix.
1364
1365 comment "on-CPU RTC drivers"
1366
1367 config RTC_DRV_ASM9260
1368         tristate "Alphascale asm9260 RTC"
1369         depends on MACH_ASM9260 || COMPILE_TEST
1370         help
1371           If you say yes here you get support for the RTC on the
1372           Alphascale asm9260 SoC.
1373
1374           This driver can also be built as a module. If so, the module
1375           will be called rtc-asm9260.
1376
1377 config RTC_DRV_DIGICOLOR
1378         tristate "Conexant Digicolor RTC"
1379         depends on ARCH_DIGICOLOR || COMPILE_TEST
1380         help
1381           If you say yes here you get support for the RTC on Conexant
1382           Digicolor platforms. This currently includes the CX92755 SoC.
1383
1384           This driver can also be built as a module. If so, the module
1385           will be called rtc-digicolor.
1386
1387 config RTC_DRV_IMXDI
1388         tristate "Freescale IMX DryIce Real Time Clock"
1389         depends on ARCH_MXC || COMPILE_TEST
1390         depends on OF
1391         help
1392            Support for Freescale IMX DryIce RTC
1393
1394            This driver can also be built as a module, if so, the module
1395            will be called "rtc-imxdi".
1396
1397 config RTC_DRV_FSL_FTM_ALARM
1398         tristate "Freescale FlexTimer alarm timer"
1399         depends on ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
1400         help
1401            For the FlexTimer in LS1012A, LS1021A, LS1028A, LS1043A, LS1046A,
1402            LS1088A, LS208xA, we can use FTM as the wakeup source.
1403
1404            Say y here to enable FTM alarm support. The FTM alarm provides
1405            alarm functions for wakeup system from deep sleep.
1406
1407            This driver can also be built as a module, if so, the module
1408            will be called "rtc-fsl-ftm-alarm".
1409
1410 config RTC_DRV_MESON
1411         tristate "Amlogic Meson RTC"
1412         depends on (ARM && ARCH_MESON) || COMPILE_TEST
1413         select REGMAP_MMIO
1414         help
1415            Support for the RTC block on the Amlogic Meson6, Meson8, Meson8b
1416            and Meson8m2 SoCs.
1417
1418            This driver can also be built as a module, if so, the module
1419            will be called "rtc-meson".
1420
1421 config RTC_DRV_MESON_VRTC
1422         tristate "Amlogic Meson Virtual RTC"
1423         depends on ARCH_MESON || COMPILE_TEST
1424         default m if ARCH_MESON
1425         help
1426           If you say yes here you will get support for the
1427           Virtual RTC of Amlogic SoCs.
1428
1429           This driver can also be built as a module. If so, the module
1430           will be called rtc-meson-vrtc.
1431
1432 config RTC_DRV_OMAP
1433         tristate "TI OMAP Real Time Clock"
1434         depends on ARCH_OMAP || ARCH_DAVINCI || COMPILE_TEST
1435         depends on OF
1436         depends on PINCTRL
1437         select GENERIC_PINCONF
1438         help
1439           Say "yes" here to support the on chip real time clock
1440           present on TI OMAP1, AM33xx, DA8xx/OMAP-L13x, AM43xx and DRA7xx.
1441
1442           This driver can also be built as a module, if so, module
1443           will be called rtc-omap.
1444
1445 config RTC_DRV_S3C
1446         tristate "Samsung S3C series SoC RTC"
1447         depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || \
1448                    COMPILE_TEST
1449         help
1450           RTC (Realtime Clock) driver for the clock inbuilt into the
1451           Samsung S3C64XX series of SoCs. This can provide periodic
1452           interrupt rates from 1Hz to 64Hz for user programs, and
1453           wakeup from Alarm.
1454
1455           This driver can also be build as a module. If so, the module
1456           will be called rtc-s3c.
1457
1458 config RTC_DRV_EP93XX
1459         tristate "Cirrus Logic EP93XX"
1460         depends on ARCH_EP93XX || COMPILE_TEST
1461         help
1462           If you say yes here you get support for the
1463           RTC embedded in the Cirrus Logic EP93XX processors.
1464
1465           This driver can also be built as a module. If so, the module
1466           will be called rtc-ep93xx.
1467
1468 config RTC_DRV_SA1100
1469         tristate "SA11x0/PXA2xx/PXA910"
1470         depends on ARCH_SA1100 || ARCH_PXA || ARCH_MMP
1471         help
1472           If you say Y here you will get access to the real time clock
1473           built into your SA11x0 or PXA2xx CPU.
1474
1475           To compile this driver as a module, choose M here: the
1476           module will be called rtc-sa1100.
1477
1478 config RTC_DRV_SH
1479         tristate "SuperH On-Chip RTC"
1480         depends on SUPERH || ARCH_RENESAS
1481         help
1482           Say Y here to enable support for the on-chip RTC found in
1483           most SuperH processors. This RTC is also found in RZ/A SoCs.
1484
1485           To compile this driver as a module, choose M here: the
1486           module will be called rtc-sh.
1487
1488 config RTC_DRV_SUNPLUS
1489         tristate "Sunplus SP7021 RTC"
1490         depends on SOC_SP7021
1491         help
1492           Say 'yes' to get support for the real-time clock present in
1493           Sunplus SP7021 - a SoC for industrial applications. It provides
1494           RTC status check, timer/alarm functionalities, user data
1495           reservation with the battery over 2.5V, RTC power status check
1496           and battery charge.
1497
1498           This driver can also be built as a module. If so, the module
1499           will be called rtc-sunplus.
1500
1501 config RTC_DRV_PL030
1502         tristate "ARM AMBA PL030 RTC"
1503         depends on ARM_AMBA
1504         help
1505           If you say Y here you will get access to ARM AMBA
1506           PrimeCell PL030 RTC found on certain ARM SOCs.
1507
1508           To compile this driver as a module, choose M here: the
1509           module will be called rtc-pl030.
1510
1511 config RTC_DRV_PL031
1512         tristate "ARM AMBA PL031 RTC"
1513         depends on ARM_AMBA
1514         help
1515           If you say Y here you will get access to ARM AMBA
1516           PrimeCell PL031 RTC found on certain ARM SOCs.
1517
1518           To compile this driver as a module, choose M here: the
1519           module will be called rtc-pl031.
1520
1521 config RTC_DRV_AT91RM9200
1522         tristate "AT91RM9200 or some AT91SAM9 RTC"
1523         depends on ARCH_AT91 || COMPILE_TEST
1524         depends on OF
1525         help
1526           Driver for the internal RTC (Realtime Clock) module found on
1527           Atmel AT91RM9200's and some  AT91SAM9 chips. On AT91SAM9 chips
1528           this is powered by the backup power supply.
1529
1530 config RTC_DRV_AT91SAM9
1531         tristate "AT91SAM9 RTT as RTC"
1532         depends on ARCH_AT91 || COMPILE_TEST
1533         depends on OF && HAS_IOMEM
1534         select MFD_SYSCON
1535         help
1536           Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
1537           can be used as an RTC thanks to the backup power supply (e.g. a
1538           small coin cell battery) which keeps this block and the GPBR
1539           (General Purpose Backup Registers) block powered when the device
1540           is shutdown.
1541           Some AT91SAM9 SoCs provide a real RTC block, on those ones you'd
1542           probably want to use the real RTC block instead of the "RTT as an
1543           RTC" driver.
1544
1545 config RTC_DRV_AU1XXX
1546         tristate "Au1xxx Counter0 RTC support"
1547         depends on MIPS_ALCHEMY
1548         help
1549           This is a driver for the Au1xxx on-chip Counter0 (Time-Of-Year
1550           counter) to be used as a RTC.
1551
1552           This driver can also be built as a module. If so, the module
1553           will be called rtc-au1xxx.
1554
1555 config RTC_DRV_RS5C313
1556         tristate "Ricoh RS5C313"
1557         depends on SH_LANDISK
1558         help
1559           If you say yes here you get support for the Ricoh RS5C313 RTC chips.
1560
1561 config RTC_DRV_RZN1
1562         tristate "Renesas RZ/N1 RTC"
1563         depends on ARCH_RZN1 || COMPILE_TEST
1564         depends on OF && HAS_IOMEM
1565         help
1566           If you say yes here you get support for the Renesas RZ/N1 RTC.
1567
1568 config RTC_DRV_GENERIC
1569         tristate "Generic RTC support"
1570         # Please consider writing a new RTC driver instead of using the generic
1571         # RTC abstraction
1572         depends on PARISC || M68K || PPC || SUPERH || COMPILE_TEST
1573         help
1574           Say Y or M here to enable RTC support on systems using the generic
1575           RTC abstraction. If you do not know what you are doing, you should
1576           just say Y.
1577
1578 config RTC_DRV_PXA
1579         tristate "PXA27x/PXA3xx"
1580         depends on ARCH_PXA
1581         select RTC_DRV_SA1100
1582         help
1583          If you say Y here you will get access to the real time clock
1584          built into your PXA27x or PXA3xx CPU. This RTC is actually 2 RTCs
1585          consisting of an SA1100 compatible RTC and the extended PXA RTC.
1586
1587          This RTC driver uses PXA RTC registers available since pxa27x
1588          series (RDxR, RYxR) instead of legacy RCNR, RTAR.
1589
1590 config RTC_DRV_VT8500
1591         tristate "VIA/WonderMedia 85xx SoC RTC"
1592         depends on ARCH_VT8500 || COMPILE_TEST
1593         help
1594           If you say Y here you will get access to the real time clock
1595           built into your VIA VT8500 SoC or its relatives.
1596
1597
1598 config RTC_DRV_SUN4V
1599         bool "SUN4V Hypervisor RTC"
1600         depends on SPARC64
1601         help
1602           If you say Y here you will get support for the Hypervisor
1603           based RTC on SUN4V systems.
1604
1605 config RTC_DRV_SUN6I
1606         bool "Allwinner A31 RTC"
1607         default MACH_SUN6I || MACH_SUN8I
1608         depends on COMMON_CLK
1609         depends on ARCH_SUNXI || COMPILE_TEST
1610         help
1611           If you say Y here you will get support for the RTC found in
1612           some Allwinner SoCs like the A31 or the A64.
1613
1614 config RTC_DRV_SUNXI
1615         tristate "Allwinner sun4i/sun7i RTC"
1616         depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
1617         help
1618           If you say Y here you will get support for the RTC found on
1619           Allwinner A10/A20.
1620
1621 config RTC_DRV_STARFIRE
1622         bool "Starfire RTC"
1623         depends on SPARC64
1624         help
1625           If you say Y here you will get support for the RTC found on
1626           Starfire systems.
1627
1628 config RTC_DRV_MV
1629         tristate "Marvell SoC RTC"
1630         depends on ARCH_DOVE || ARCH_MVEBU || COMPILE_TEST
1631         help
1632           If you say yes here you will get support for the in-chip RTC
1633           that can be found in some of Marvell's SoC devices, such as
1634           the Kirkwood 88F6281 and 88F6192.
1635
1636           This driver can also be built as a module. If so, the module
1637           will be called rtc-mv.
1638
1639 config RTC_DRV_ARMADA38X
1640         tristate "Armada 38x Marvell SoC RTC"
1641         depends on ARCH_MVEBU || COMPILE_TEST
1642         depends on OF
1643         help
1644           If you say yes here you will get support for the in-chip RTC
1645           that can be found in the Armada 38x Marvell's SoC device
1646
1647           This driver can also be built as a module. If so, the module
1648           will be called armada38x-rtc.
1649
1650 config RTC_DRV_CADENCE
1651         tristate "Cadence RTC driver"
1652         depends on OF && HAS_IOMEM
1653         help
1654           If you say Y here you will get access to Cadence RTC IP
1655           found on certain SOCs.
1656
1657           To compile this driver as a module, choose M here: the
1658           module will be called rtc-cadence.
1659
1660 config RTC_DRV_FTRTC010
1661         tristate "Faraday Technology FTRTC010 RTC"
1662         depends on HAS_IOMEM
1663         default ARCH_GEMINI
1664         help
1665           If you say Y here you will get support for the
1666           Faraday Technolog FTRTC010 found on e.g. Gemini SoC's.
1667
1668           This driver can also be built as a module. If so, the module
1669           will be called rtc-ftrtc010.
1670
1671 config RTC_DRV_PS3
1672         tristate "PS3 RTC"
1673         depends on PPC_PS3
1674         help
1675           If you say yes here you will get support for the RTC on PS3.
1676
1677           This driver can also be built as a module. If so, the module
1678           will be called rtc-ps3.
1679
1680 config RTC_DRV_STMP
1681         tristate "Freescale STMP3xxx/i.MX23/i.MX28 RTC"
1682         depends on ARCH_MXS || COMPILE_TEST
1683         select STMP_DEVICE
1684         help
1685           If you say yes here you will get support for the onboard
1686           STMP3xxx/i.MX23/i.MX28 RTC.
1687
1688           This driver can also be built as a module. If so, the module
1689           will be called rtc-stmp3xxx.
1690
1691 config RTC_DRV_PCAP
1692         tristate "PCAP RTC"
1693         depends on EZX_PCAP
1694         help
1695           If you say Y here you will get support for the RTC found on
1696           the PCAP2 ASIC used on some Motorola phones.
1697
1698 config RTC_DRV_MC13XXX
1699         depends on MFD_MC13XXX
1700         tristate "Freescale MC13xxx RTC"
1701         help
1702           This enables support for the RTCs found on Freescale's PMICs
1703           MC13783 and MC13892.
1704
1705 config RTC_DRV_MPC5121
1706         tristate "Freescale MPC5121 built-in RTC"
1707         depends on PPC_MPC512x || PPC_MPC52xx
1708         help
1709           If you say yes here you will get support for the
1710           built-in RTC on MPC5121 or on MPC5200.
1711
1712           This driver can also be built as a module. If so, the module
1713           will be called rtc-mpc5121.
1714
1715 config RTC_DRV_JZ4740
1716         tristate "Ingenic JZ4740 SoC"
1717         depends on MIPS || COMPILE_TEST
1718         depends on OF && COMMON_CLK
1719         help
1720           If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
1721           controllers.
1722
1723           This driver can also be built as a module. If so, the module
1724           will be called rtc-jz4740.
1725
1726 config RTC_DRV_LOONGSON
1727         tristate "Loongson On-chip RTC"
1728         depends on MACH_LOONGSON32 || MACH_LOONGSON64 || COMPILE_TEST
1729         select REGMAP_MMIO
1730         help
1731           This is a driver for the Loongson on-chip Counter0 (Time-Of-Year
1732           counter) to be used as a RTC.
1733           It can be found on Loongson-1 series cpu, Loongson-2K series cpu
1734           and Loongson LS7A bridge chips.
1735
1736           This driver can also be built as a module. If so, the module
1737           will be called rtc-loongson.
1738
1739 config RTC_DRV_LPC24XX
1740         tristate "NXP RTC for LPC178x/18xx/408x/43xx"
1741         depends on ARCH_LPC18XX || COMPILE_TEST
1742         depends on OF && HAS_IOMEM
1743         depends on COMMON_CLK
1744         help
1745           This enables support for the NXP RTC found which can be found on
1746           NXP LPC178x/18xx/408x/43xx devices.
1747
1748           If you have one of the devices above enable this driver to use
1749           the hardware RTC. This driver can also be built as a module. If
1750           so, the module will be called rtc-lpc24xx.
1751
1752 config RTC_DRV_LPC32XX
1753         depends on ARCH_LPC32XX || COMPILE_TEST
1754         tristate "NXP LPC32XX RTC"
1755         help
1756           This enables support for the NXP RTC in the LPC32XX
1757
1758           This driver can also be built as a module. If so, the module
1759           will be called rtc-lpc32xx.
1760
1761 config RTC_DRV_PM8XXX
1762         tristate "Qualcomm PMIC8XXX RTC"
1763         depends on MFD_PM8XXX || MFD_SPMI_PMIC || COMPILE_TEST
1764         help
1765           If you say yes here you get support for the
1766           Qualcomm PMIC8XXX RTC.
1767
1768           To compile this driver as a module, choose M here: the
1769           module will be called rtc-pm8xxx.
1770
1771 config RTC_DRV_TEGRA
1772         tristate "NVIDIA Tegra Internal RTC driver"
1773         depends on ARCH_TEGRA || COMPILE_TEST
1774         help
1775           If you say yes here you get support for the
1776           Tegra 200 series internal RTC module.
1777
1778           This drive can also be built as a module. If so, the module
1779           will be called rtc-tegra.
1780
1781 config RTC_DRV_MXC
1782         tristate "Freescale MXC Real Time Clock"
1783         depends on ARCH_MXC || COMPILE_TEST
1784         depends on HAS_IOMEM
1785         depends on OF
1786         help
1787            If you say yes here you get support for the Freescale MXC
1788            RTC module.
1789
1790            This driver can also be built as a module, if so, the module
1791            will be called "rtc-mxc".
1792
1793 config RTC_DRV_MXC_V2
1794         tristate "Freescale MXC Real Time Clock for i.MX53"
1795         depends on ARCH_MXC || COMPILE_TEST
1796         depends on HAS_IOMEM
1797         depends on OF
1798         help
1799            If you say yes here you get support for the Freescale MXC
1800            SRTC module in i.MX53 processor.
1801
1802            This driver can also be built as a module, if so, the module
1803            will be called "rtc-mxc_v2".
1804
1805 config RTC_DRV_SNVS
1806         tristate "Freescale SNVS RTC support"
1807         select REGMAP_MMIO
1808         depends on ARCH_MXC || COMPILE_TEST
1809         depends on HAS_IOMEM
1810         depends on OF
1811         help
1812            If you say yes here you get support for the Freescale SNVS
1813            Low Power (LP) RTC module.
1814
1815            This driver can also be built as a module, if so, the module
1816            will be called "rtc-snvs".
1817
1818 config RTC_DRV_BBNSM
1819         tristate "NXP BBNSM RTC support"
1820         select REGMAP_MMIO
1821         depends on ARCH_MXC || COMPILE_TEST
1822         depends on HAS_IOMEM
1823         depends on OF
1824         help
1825            If you say yes here you get support for the NXP BBNSM RTC module.
1826
1827            This driver can also be built as a module, if so, the module
1828            will be called "rtc-bbnsm".
1829
1830 config RTC_DRV_IMX_BBM_SCMI
1831         depends on IMX_SCMI_BBM_EXT || COMPILE_TEST
1832         default y if ARCH_MXC
1833         tristate "NXP i.MX BBM SCMI RTC support"
1834         help
1835           If you say yes here you get support for the NXP i.MX BBSM SCMI
1836           RTC module.
1837
1838           To compile this driver as a module, choose M here: the
1839           module will be called rtc-imx-sm-bbm.
1840
1841 config RTC_DRV_IMX_SC
1842         depends on IMX_SCU
1843         depends on HAVE_ARM_SMCCC
1844         tristate "NXP i.MX System Controller RTC support"
1845         help
1846            If you say yes here you get support for the NXP i.MX System
1847            Controller RTC module.
1848
1849 config RTC_DRV_ST_LPC
1850         tristate "STMicroelectronics LPC RTC"
1851         depends on ARCH_STI
1852         depends on OF
1853         help
1854           Say Y here to include STMicroelectronics Low Power Controller
1855           (LPC) based RTC support.
1856
1857           To compile this driver as a module, choose M here: the
1858           module will be called rtc-st-lpc.
1859
1860 config RTC_DRV_MOXART
1861         tristate "MOXA ART RTC"
1862         depends on ARCH_MOXART || COMPILE_TEST
1863         help
1864            If you say yes here you get support for the MOXA ART
1865            RTC module.
1866
1867            This driver can also be built as a module. If so, the module
1868            will be called rtc-moxart
1869
1870 config RTC_DRV_MT2712
1871         tristate "MediaTek MT2712 SoC based RTC"
1872         depends on ARCH_MEDIATEK || COMPILE_TEST
1873         help
1874           This enables support for the real time clock built in the MediaTek
1875           SoCs for MT2712.
1876
1877           This drive can also be built as a module. If so, the module
1878           will be called rtc-mt2712.
1879
1880 config RTC_DRV_MT6397
1881         tristate "MediaTek PMIC based RTC"
1882         depends on MFD_MT6397 || COMPILE_TEST
1883         select IRQ_DOMAIN
1884         help
1885           This selects the MediaTek(R) RTC driver. RTC is part of MediaTek
1886           MT6397 PMIC. You should enable MT6397 PMIC MFD before select
1887           MediaTek(R) RTC driver.
1888
1889           If you want to use MediaTek(R) RTC interface, select Y or M here.
1890
1891 config RTC_DRV_MT7622
1892         tristate "MediaTek SoC based RTC"
1893         depends on ARCH_MEDIATEK || COMPILE_TEST
1894         help
1895           This enables support for the real time clock built in the MediaTek
1896           SoCs.
1897
1898           This drive can also be built as a module. If so, the module
1899           will be called rtc-mt7622.
1900
1901 config RTC_DRV_XGENE
1902         tristate "APM X-Gene RTC"
1903         depends on HAS_IOMEM
1904         depends on ARCH_XGENE || COMPILE_TEST
1905         help
1906           If you say yes here you get support for the APM X-Gene SoC real time
1907           clock.
1908
1909           This driver can also be built as a module, if so, the module
1910           will be called "rtc-xgene".
1911
1912 config RTC_DRV_PIC32
1913         tristate "Microchip PIC32 RTC"
1914         depends on MACH_PIC32
1915         default y
1916         help
1917            If you say yes here you get support for the PIC32 RTC module.
1918
1919            This driver can also be built as a module. If so, the module
1920            will be called rtc-pic32
1921
1922 config RTC_DRV_R7301
1923         tristate "EPSON TOYOCOM RTC-7301SF/DG"
1924         select REGMAP_MMIO
1925         depends on OF && HAS_IOMEM
1926         help
1927            If you say yes here you get support for the EPSON TOYOCOM
1928            RTC-7301SF/DG chips.
1929
1930            This driver can also be built as a module. If so, the module
1931            will be called rtc-r7301.
1932
1933 config RTC_DRV_STM32
1934         tristate "STM32 RTC"
1935         select REGMAP_MMIO
1936         depends on ARCH_STM32 || COMPILE_TEST
1937         help
1938            If you say yes here you get support for the STM32 On-Chip
1939            Real Time Clock.
1940
1941            This driver can also be built as a module, if so, the module
1942            will be called "rtc-stm32".
1943
1944 config RTC_DRV_CPCAP
1945         depends on MFD_CPCAP
1946         tristate "Motorola CPCAP RTC"
1947         help
1948            Say y here for CPCAP rtc found on some Motorola phones
1949            and tablets such as Droid 4.
1950
1951 config RTC_DRV_RTD119X
1952         bool "Realtek RTD129x RTC"
1953         depends on ARCH_REALTEK || COMPILE_TEST
1954         default ARCH_REALTEK
1955         help
1956           If you say yes here, you get support for the RTD1295 SoC
1957           Real Time Clock.
1958
1959 config RTC_DRV_ASPEED
1960         tristate "ASPEED RTC"
1961         depends on OF
1962         depends on ARCH_ASPEED || COMPILE_TEST
1963         help
1964           If you say yes here you get support for the ASPEED BMC SoC real time
1965           clocks.
1966
1967           This driver can also be built as a module, if so, the module
1968           will be called "rtc-aspeed".
1969
1970 config RTC_DRV_TI_K3
1971         tristate "TI K3 RTC"
1972         depends on ARCH_K3 || COMPILE_TEST
1973         select REGMAP_MMIO
1974         help
1975           If you say yes here you get support for the Texas Instruments's
1976           Real Time Clock for K3 architecture.
1977
1978           This driver can also be built as a module, if so, the module
1979           will be called "rtc-ti-k3".
1980
1981 config RTC_DRV_MA35D1
1982         tristate "Nuvoton MA35D1 RTC"
1983         depends on ARCH_MA35 || COMPILE_TEST
1984         select REGMAP_MMIO
1985         help
1986            If you say yes here you get support for the Nuvoton MA35D1
1987            On-Chip Real Time Clock.
1988
1989            This driver can also be built as a module, if so, the module
1990            will be called "rtc-ma35d1".
1991
1992 comment "HID Sensor RTC drivers"
1993
1994 config RTC_DRV_HID_SENSOR_TIME
1995         tristate "HID Sensor Time"
1996         depends on USB_HID
1997         depends on HID_SENSOR_HUB && IIO
1998         select HID_SENSOR_IIO_COMMON
1999         help
2000           Say yes here to build support for the HID Sensors of type Time.
2001           This drivers makes such sensors available as RTCs.
2002
2003           If this driver is compiled as a module, it will be named
2004           rtc-hid-sensor-time.
2005
2006 config RTC_DRV_GOLDFISH
2007         tristate "Goldfish Real Time Clock"
2008         depends on HAS_IOMEM
2009         help
2010           Say yes to enable RTC driver for the Goldfish based virtual platform.
2011
2012           Goldfish is a code name for the virtual platform developed by Google
2013           for Android emulation.
2014
2015 config RTC_DRV_WILCO_EC
2016         tristate "Wilco EC RTC"
2017         depends on WILCO_EC
2018         default m
2019         help
2020           If you say yes here, you get read/write support for the Real Time
2021           Clock on the Wilco Embedded Controller (Wilco is a kind of Chromebook)
2022
2023           This can also be built as a module. If so, the module will
2024           be named "rtc_wilco_ec".
2025
2026 config RTC_DRV_MSC313
2027         tristate "MStar MSC313 RTC"
2028         depends on ARCH_MSTARV7 || COMPILE_TEST
2029         help
2030           If you say yes here you get support for the Mstar MSC313e On-Chip
2031           Real Time Clock.
2032
2033           This driver can also be built as a module, if so, the module
2034           will be called "rtc-msc313".
2035
2036 config RTC_DRV_POLARFIRE_SOC
2037         tristate "Microchip PolarFire SoC built-in RTC"
2038         depends on ARCH_MICROCHIP_POLARFIRE
2039         help
2040           If you say yes here you will get support for the
2041           built-in RTC on Polarfire SoC.
2042
2043           This driver can also be built as a module, if so, the module
2044           will be called "rtc-mpfs".
2045
2046 config RTC_DRV_SSD202D
2047         tristate "SigmaStar SSD202D RTC"
2048         depends on ARCH_MSTARV7 || COMPILE_TEST
2049         default ARCH_MSTARV7
2050         help
2051           If you say yes here you get support for the SigmaStar SSD202D On-Chip
2052           Real Time Clock.
2053
2054           This driver can also be built as a module, if so, the module
2055           will be called "rtc-ssd20xd".
2056
2057 endif # RTC_CLASS