Merge tag 'rtc-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
[linux-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 && !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.
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           The driver for this RTC device must be loaded before late_initcall
45           functions run, so it must usually be statically linked.
46
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).
50
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.
55
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.
63
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.
74
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.
80
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.
88
89 comment "RTC interfaces"
90
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.
98
99           If unsure, say Y.
100
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.
111
112           If unsure, say Y.
113
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.
121
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.
126
127           If unsure, say Y.
128
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.
136
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.
140
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.
151
152           This driver can also be built as a module. If so, the module
153           will be called rtc-test.
154
155 comment "I2C RTC drivers"
156
157 if I2C
158
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.
165
166           This driver can also be built as a module. If so, the module
167           will be called rtc-88pm860x.
168
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.
175
176           This driver can also be built as a module. If so, the module
177           will be called rtc-88pm80x.
178
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.
185
186           This driver can also be built as a module. If so, the module
187           will be called rtc-ab-b5ze-s3.
188
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.
195
196           This driver can also be built as a module. If so, the module
197           will be called rtc-ab-e0z9.
198
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.
206
207           This driver can also be built as a module. If so, the module
208           will be called rtc-abx80x.
209
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.
216
217           This driver can also be built as a module. If so, the module
218           will be called rtc-ac100.
219
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).
227
228           This driver can also be built as a module. If so, the module will
229           be called rtc-brcmstb-waketimer.
230
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.
237
238           This driver can also be built as a module. If so, the module
239           will be called rtc-as3722.
240
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).
250
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.
255
256           This driver can also be built as a module. If so, the module
257           will be called rtc-ds1307.
258
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.
272
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.
279
280           This driver can also be built as a module. If so, the module
281           will be called rtc-ds1374.
282
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.
290
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.
296
297           This driver can also be built as a module. If so, the module
298           will be called rtc-ds1672.
299
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.
307
308           This driver can also be built as a module. If so, the module
309           will be called rtc-hym8563.
310
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.
316
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.
322
323           This driver can also be built as a module. If so, the module
324           will be called rtc-max6900.
325
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.
332
333           This driver can also be built as a module. If so, the module
334           will be called rtc-max8907.
335
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.
342
343           This driver can also be built as a module. If so, the module
344           will be called rtc-max8925.
345
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.
352
353           This driver can also be built as a module. If so, the module
354           will be called rtc-max8998.
355
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.
362
363           This driver can also be built as a module. If so, the module
364           will be called rtc-max8997.
365
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.
372
373           This driver can also be built as a module. If so, the module
374           will be called rtc-max77686.
375
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.
382
383           This driver can also be built as a module. If so, the module
384           will be called rk808-rtc.
385
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.
391
392           This driver can also be built as a module. If so, the module
393           will be called rtc-rs5c372.
394
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.
400
401           This driver can also be built as a module. If so, the module
402           will be called rtc-isl1208.
403
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.
409
410           This driver can also be built as a module. If so, the module
411           will be called rtc-isl12022.
412
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.
419
420           This driver can also be built as a module. If so, the module
421           will be called rtc-isl12026.
422
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.
428
429           This driver can also be built as a module. If so, the module
430           will be called rtc-x1205.
431
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.
437
438           This driver can also be built as a module. If so, the module
439           will be called rtc-pcf8523.
440
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
446
447           This driver can also be built as a module. If so, the module
448           will be called rtc-pcf85063.
449
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.
455
456           This driver can also be built as a module. If so, the module
457           will be called rtc-pcf85363.
458
459           The nvmem interface will be named pcf85363-#, where # is the
460           zero-based instance number.
461
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.
468
469           This driver can also be built as a module. If so, the module
470           will be called rtc-pcf8563.
471
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.
480
481           This driver can also be built as a module. If so, the module
482           will be called rtc-pcf8583.
483
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.
491
492           This driver can also be built as a module. If so, the module
493           will be called rtc-m41t80.
494
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.
501 config RTC_DRV_BD70528
502         tristate "ROHM BD70528 PMIC RTC"
503         help
504           If you say Y here you will get support for the RTC
505           on ROHM BD70528 Power Management IC.
506
507           This driver can also be built as a module. If so, the module
508           will be called rtc-bd70528.
509
510 config RTC_DRV_BQ32K
511         tristate "TI BQ32000"
512         help
513           If you say Y here you will get support for the TI
514           BQ32000 I2C RTC chip.
515
516           This driver can also be built as a module. If so, the module
517           will be called rtc-bq32k.
518
519 config RTC_DRV_DM355EVM
520         tristate "TI DaVinci DM355 EVM RTC"
521         depends on MFD_DM355EVM_MSP
522         help
523           Supports the RTC firmware in the MSP430 on the DM355 EVM.
524
525 config RTC_DRV_TWL92330
526         bool "TI TWL92330/Menelaus"
527         depends on MENELAUS
528         help
529           If you say yes here you get support for the RTC on the
530           TWL92330 "Menelaus" power management chip, used with OMAP2
531           platforms. The support is integrated with the rest of
532           the Menelaus driver; it's not separate module.
533
534 config RTC_DRV_TWL4030
535         tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0"
536         depends on TWL4030_CORE
537         depends on OF
538         help
539           If you say yes here you get support for the RTC on the
540           TWL4030/TWL5030/TWL6030 family chips, used mostly with OMAP3 platforms.
541
542           This driver can also be built as a module. If so, the module
543           will be called rtc-twl.
544
545 config RTC_DRV_PALMAS
546         tristate "TI Palmas RTC driver"
547         depends on MFD_PALMAS
548         help
549           If you say yes here you get support for the RTC of TI PALMA series PMIC
550           chips.
551
552           This driver can also be built as a module. If so, the module
553           will be called rtc-palma.
554
555 config RTC_DRV_TPS6586X
556         tristate "TI TPS6586X RTC driver"
557         depends on MFD_TPS6586X
558         help
559           TI Power Management IC TPS6586X supports RTC functionality
560           along with alarm. This driver supports the RTC driver for
561           the TPS6586X RTC module.
562
563 config RTC_DRV_TPS65910
564         tristate "TI TPS65910 RTC driver"
565         depends on MFD_TPS65910
566         help
567           If you say yes here you get support for the RTC on the
568           TPS65910 chips.
569
570           This driver can also be built as a module. If so, the module
571           will be called rtc-tps65910.
572
573 config RTC_DRV_TPS80031
574         tristate "TI TPS80031/TPS80032 RTC driver"
575         depends on MFD_TPS80031
576         help
577           TI Power Management IC TPS80031 supports RTC functionality
578           along with alarm. This driver supports the RTC driver for
579           the TPS80031 RTC module.
580
581 config RTC_DRV_RC5T583
582         tristate "RICOH 5T583 RTC driver"
583         depends on MFD_RC5T583
584         help
585           If you say yes here you get support for the RTC on the
586           RICOH 5T583 chips.
587
588           This driver can also be built as a module. If so, the module
589           will be called rtc-rc5t583.
590
591 config RTC_DRV_S35390A
592         tristate "Seiko Instruments S-35390A"
593         select BITREVERSE
594         help
595           If you say yes here you will get support for the Seiko
596           Instruments S-35390A.
597
598           This driver can also be built as a module. If so the module
599           will be called rtc-s35390a.
600
601 config RTC_DRV_FM3130
602         tristate "Ramtron FM3130"
603         help
604           If you say Y here you will get support for the
605           Ramtron FM3130 RTC chips.
606           Ramtron FM3130 is a chip with two separate devices inside,
607           RTC clock and FRAM. This driver provides only RTC functionality.
608
609           This driver can also be built as a module. If so the module
610           will be called rtc-fm3130.
611
612 config RTC_DRV_RX8010
613         tristate "Epson RX8010SJ"
614         help
615           If you say yes here you get support for the Epson RX8010SJ RTC
616           chip.
617
618           This driver can also be built as a module. If so, the module
619           will be called rtc-rx8010.
620
621 config RTC_DRV_RX8581
622         tristate "Epson RX-8571/RX-8581"
623         help
624           If you say yes here you will get support for the Epson RX-8571/
625           RX-8581.
626
627           This driver can also be built as a module. If so the module
628           will be called rtc-rx8581.
629
630 config RTC_DRV_RX8025
631         tristate "Epson RX-8025SA/NB"
632         help
633           If you say yes here you get support for the Epson
634           RX-8025SA/NB RTC chips.
635
636           This driver can also be built as a module. If so, the module
637           will be called rtc-rx8025.
638
639 config RTC_DRV_EM3027
640         tristate "EM Microelectronic EM3027"
641         help
642           If you say yes here you get support for the EM
643           Microelectronic EM3027 RTC chips.
644
645           This driver can also be built as a module. If so, the module
646           will be called rtc-em3027.
647
648 config RTC_DRV_RV3028
649         tristate "Micro Crystal RV3028"
650         help
651           If you say yes here you get support for the Micro Crystal
652           RV3028.
653
654           This driver can also be built as a module. If so, the module
655           will be called rtc-rv3028.
656
657 config RTC_DRV_RV8803
658         tristate "Micro Crystal RV8803, Epson RX8900"
659         help
660           If you say yes here you get support for the Micro Crystal RV8803 and
661           Epson RX8900 RTC chips.
662
663           This driver can also be built as a module. If so, the module
664           will be called rtc-rv8803.
665
666 config RTC_DRV_S5M
667         tristate "Samsung S2M/S5M series"
668         depends on MFD_SEC_CORE || COMPILE_TEST
669         select REGMAP_IRQ
670         help
671           If you say yes here you will get support for the
672           RTC of Samsung S2MPS14 and S5M PMIC series.
673
674           This driver can also be built as a module. If so, the module
675           will be called rtc-s5m.
676
677 config RTC_DRV_SD3078
678     tristate "ZXW Shenzhen whwave SD3078"
679     help
680       If you say yes here you get support for the ZXW Shenzhen whwave
681       SD3078 RTC chips.
682
683       This driver can also be built as a module. If so, the module
684       will be called rtc-sd3078
685
686 endif # I2C
687
688 comment "SPI RTC drivers"
689
690 if SPI_MASTER
691
692 config RTC_DRV_M41T93
693         tristate "ST M41T93"
694         help
695           If you say yes here you will get support for the
696           ST M41T93 SPI RTC chip.
697
698           This driver can also be built as a module. If so, the module
699           will be called rtc-m41t93.
700
701 config RTC_DRV_M41T94
702         tristate "ST M41T94"
703         help
704           If you say yes here you will get support for the
705           ST M41T94 SPI RTC chip.
706
707           This driver can also be built as a module. If so, the module
708           will be called rtc-m41t94.
709
710 config RTC_DRV_DS1302
711         tristate "Dallas/Maxim DS1302"
712         depends on SPI
713         help
714           If you say yes here you get support for the Dallas DS1302 RTC chips.
715
716           This driver can also be built as a module. If so, the module
717           will be called rtc-ds1302.
718
719 config RTC_DRV_DS1305
720         tristate "Dallas/Maxim DS1305/DS1306"
721         help
722           Select this driver to get support for the Dallas/Maxim DS1305
723           and DS1306 real time clock chips. These support a trickle
724           charger, alarms, and NVRAM in addition to the clock.
725
726           This driver can also be built as a module. If so, the module
727           will be called rtc-ds1305.
728
729 config RTC_DRV_DS1343
730         select REGMAP_SPI
731         tristate "Dallas/Maxim DS1343/DS1344"
732         help
733           If you say yes here you get support for the
734           Dallas/Maxim DS1343 and DS1344 real time clock chips.
735           Support for trickle charger, alarm is provided.
736
737           This driver can also be built as a module. If so, the module
738           will be called rtc-ds1343.
739
740 config RTC_DRV_DS1347
741         select REGMAP_SPI
742         tristate "Dallas/Maxim DS1347"
743         help
744           If you say yes here you get support for the
745           Dallas/Maxim DS1347 chips.
746
747           This driver only supports the RTC feature, and not other chip
748           features such as alarms.
749
750           This driver can also be built as a module. If so, the module
751           will be called rtc-ds1347.
752
753 config RTC_DRV_DS1390
754         tristate "Dallas/Maxim DS1390/93/94"
755         help
756           If you say yes here you get support for the
757           Dallas/Maxim DS1390/93/94 chips.
758
759           This driver supports the RTC feature and trickle charging but not
760           other chip features such as alarms.
761
762           This driver can also be built as a module. If so, the module
763           will be called rtc-ds1390.
764
765 config RTC_DRV_MAX6916
766         tristate "Maxim MAX6916"
767         help
768           If you say yes here you will get support for the
769           Maxim MAX6916 SPI RTC chip.
770
771           This driver only supports the RTC feature, and not other chip
772           features such as alarms.
773
774           This driver can also be built as a module. If so, the module
775           will be called rtc-max6916.
776
777 config RTC_DRV_R9701
778         tristate "Epson RTC-9701JE"
779         help
780           If you say yes here you will get support for the
781           Epson RTC-9701JE SPI RTC chip.
782
783           This driver can also be built as a module. If so, the module
784           will be called rtc-r9701.
785
786 config RTC_DRV_RX4581
787         tristate "Epson RX-4581"
788         help
789           If you say yes here you will get support for the Epson RX-4581.
790
791           This driver can also be built as a module. If so the module
792           will be called rtc-rx4581.
793
794 config RTC_DRV_RX6110
795         tristate "Epson RX-6110"
796         select REGMAP_SPI
797         help
798           If you say yes here you will get support for the Epson RX-6610.
799
800           This driver can also be built as a module. If so the module
801           will be called rtc-rx6110.
802
803 config RTC_DRV_RS5C348
804         tristate "Ricoh RS5C348A/B"
805         help
806           If you say yes here you get support for the
807           Ricoh RS5C348A and RS5C348B RTC chips.
808
809           This driver can also be built as a module. If so, the module
810           will be called rtc-rs5c348.
811
812 config RTC_DRV_MAX6902
813         tristate "Maxim MAX6902"
814         help
815           If you say yes here you will get support for the
816           Maxim MAX6902 SPI RTC chip.
817
818           This driver can also be built as a module. If so, the module
819           will be called rtc-max6902.
820
821 config RTC_DRV_PCF2123
822         tristate "NXP PCF2123"
823         select REGMAP_SPI
824         help
825           If you say yes here you get support for the NXP PCF2123
826           RTC chip.
827
828           This driver can also be built as a module. If so, the module
829           will be called rtc-pcf2123.
830
831 config RTC_DRV_MCP795
832         tristate "Microchip MCP795"
833         help
834           If you say yes here you will get support for the Microchip MCP795.
835
836           This driver can also be built as a module. If so the module
837           will be called rtc-mcp795.
838
839 endif # SPI_MASTER
840
841 #
842 # Helper to resolve issues with configs that have SPI enabled but I2C
843 # modular.  See SND_SOC_I2C_AND_SPI for more information
844 #
845 config RTC_I2C_AND_SPI
846         tristate
847         default m if I2C=m
848         default y if I2C=y
849         default y if SPI_MASTER=y
850         select REGMAP_I2C if I2C
851         select REGMAP_SPI if SPI_MASTER
852
853 comment "SPI and I2C RTC drivers"
854
855 config RTC_DRV_DS3232
856         tristate "Dallas/Maxim DS3232/DS3234"
857         depends on RTC_I2C_AND_SPI
858         help
859           If you say yes here you get support for Dallas Semiconductor
860           DS3232 and DS3234 real-time clock chips. If an interrupt is associated
861           with the device, the alarm functionality is supported.
862
863           This driver can also be built as a module.  If so, the module
864           will be called rtc-ds3232.
865
866 config RTC_DRV_DS3232_HWMON
867         bool "HWMON support for Dallas/Maxim DS3232/DS3234"
868         depends on RTC_DRV_DS3232 && HWMON && !(RTC_DRV_DS3232=y && HWMON=m)
869         default y
870         help
871           Say Y here if you want to expose temperature sensor data on
872           rtc-ds3232
873
874 config RTC_DRV_PCF2127
875         tristate "NXP PCF2127"
876         depends on RTC_I2C_AND_SPI
877         help
878           If you say yes here you get support for the NXP PCF2127/29 RTC
879           chips.
880
881           This driver can also be built as a module. If so, the module
882           will be called rtc-pcf2127.
883
884 config RTC_DRV_RV3029C2
885         tristate "Micro Crystal RV3029/3049"
886         depends on RTC_I2C_AND_SPI
887         help
888           If you say yes here you get support for the Micro Crystal
889           RV3029 and RV3049 RTC chips.
890
891           This driver can also be built as a module. If so, the module
892           will be called rtc-rv3029c2.
893
894 config RTC_DRV_RV3029_HWMON
895         bool "HWMON support for RV3029/3049"
896         depends on RTC_DRV_RV3029C2 && HWMON
897         depends on !(RTC_DRV_RV3029C2=y && HWMON=m)
898         default y
899         help
900           Say Y here if you want to expose temperature sensor data on
901           rtc-rv3029.
902
903 comment "Platform RTC drivers"
904
905 # this 'CMOS' RTC driver is arch dependent because it requires
906 # <asm/mc146818rtc.h> defining CMOS_READ/CMOS_WRITE, and a
907 # global rtc_lock ... it's not yet just another platform_device.
908
909 config RTC_DRV_CMOS
910         tristate "PC-style 'CMOS'"
911         depends on X86 || ARM || PPC || MIPS || SPARC64
912         default y if X86
913         select RTC_MC146818_LIB
914         help
915           Say "yes" here to get direct support for the real time clock
916           found in every PC or ACPI-based system, and some other boards.
917           Specifically the original MC146818, compatibles like those in
918           PC south bridges, the DS12887 or M48T86, some multifunction
919           or LPC bus chips, and so on.
920
921           Your system will need to define the platform device used by
922           this driver, otherwise it won't be accessible. This means
923           you can safely enable this driver if you don't know whether
924           or not your board has this kind of hardware.
925
926           This driver can also be built as a module. If so, the module
927           will be called rtc-cmos.
928
929 config RTC_DRV_ALPHA
930         bool "Alpha PC-style CMOS"
931         depends on ALPHA
932         select RTC_MC146818_LIB
933         default y
934         help
935           Direct support for the real-time clock found on every Alpha
936           system, specifically MC146818 compatibles.  If in doubt, say Y.
937
938 config RTC_DRV_VRTC
939         tristate "Virtual RTC for Intel MID platforms"
940         depends on X86_INTEL_MID
941         default y if X86_INTEL_MID
942
943         help
944         Say "yes" here to get direct support for the real time clock
945         found on Moorestown platforms. The VRTC is a emulated RTC that
946         derives its clock source from a real RTC in the PMIC. The MC146818
947         style programming interface is mostly conserved, but any
948         updates are done via IPC calls to the system controller FW.
949
950 config RTC_DRV_DS1216
951         tristate "Dallas DS1216"
952         depends on SNI_RM
953         help
954           If you say yes here you get support for the Dallas DS1216 RTC chips.
955
956 config RTC_DRV_DS1286
957         tristate "Dallas DS1286"
958         depends on HAS_IOMEM
959         help
960           If you say yes here you get support for the Dallas DS1286 RTC chips.
961
962 config RTC_DRV_DS1511
963         tristate "Dallas DS1511"
964         depends on HAS_IOMEM
965         help
966           If you say yes here you get support for the
967           Dallas DS1511 timekeeping/watchdog chip.
968
969           This driver can also be built as a module. If so, the module
970           will be called rtc-ds1511.
971
972 config RTC_DRV_DS1553
973         tristate "Maxim/Dallas DS1553"
974         depends on HAS_IOMEM
975         help
976           If you say yes here you get support for the
977           Maxim/Dallas DS1553 timekeeping chip.
978
979           This driver can also be built as a module. If so, the module
980           will be called rtc-ds1553.
981
982 config RTC_DRV_DS1685_FAMILY
983         tristate "Dallas/Maxim DS1685 Family"
984         help
985           If you say yes here you get support for the Dallas/Maxim DS1685
986           family of real time chips.  This family includes the DS1685/DS1687,
987           DS1689/DS1693, DS17285/DS17287, DS17485/DS17487, and
988           DS17885/DS17887 chips.
989
990           This driver can also be built as a module. If so, the module
991           will be called rtc-ds1685.
992
993 choice
994         prompt "Subtype"
995         depends on RTC_DRV_DS1685_FAMILY
996         default RTC_DRV_DS1685
997
998 config RTC_DRV_DS1685
999         bool "DS1685/DS1687"
1000         help
1001           This enables support for the Dallas/Maxim DS1685/DS1687 real time
1002           clock chip.
1003
1004           This chip is commonly found in SGI O2 (IP32) and SGI Octane (IP30)
1005           systems, as well as EPPC-405-UC modules by electronic system design
1006           GmbH.
1007
1008 config RTC_DRV_DS1689
1009         bool "DS1689/DS1693"
1010         help
1011           This enables support for the Dallas/Maxim DS1689/DS1693 real time
1012           clock chip.
1013
1014           This is an older RTC chip, supplanted by the DS1685/DS1687 above,
1015           which supports a few minor features such as Vcc, Vbat, and Power
1016           Cycle counters, plus a customer-specific, 8-byte ROM/Serial number.
1017
1018           It also works for the even older DS1688/DS1691 RTC chips, which are
1019           virtually the same and carry the same model number.  Both chips
1020           have 114 bytes of user NVRAM.
1021
1022 config RTC_DRV_DS17285
1023         bool "DS17285/DS17287"
1024         help
1025           This enables support for the Dallas/Maxim DS17285/DS17287 real time
1026           clock chip.
1027
1028           This chip features 2kb of extended NV-SRAM.  It may possibly be
1029           found in some SGI O2 systems (rare).
1030
1031 config RTC_DRV_DS17485
1032         bool "DS17485/DS17487"
1033         help
1034           This enables support for the Dallas/Maxim DS17485/DS17487 real time
1035           clock chip.
1036
1037           This chip features 4kb of extended NV-SRAM.
1038
1039 config RTC_DRV_DS17885
1040         bool "DS17885/DS17887"
1041         help
1042           This enables support for the Dallas/Maxim DS17885/DS17887 real time
1043           clock chip.
1044
1045           This chip features 8kb of extended NV-SRAM.
1046
1047 endchoice
1048
1049 config RTC_DRV_DS1742
1050         tristate "Maxim/Dallas DS1742/1743"
1051         depends on HAS_IOMEM
1052         help
1053           If you say yes here you get support for the
1054           Maxim/Dallas DS1742/1743 timekeeping chip.
1055
1056           This driver can also be built as a module. If so, the module
1057           will be called rtc-ds1742.
1058
1059 config RTC_DRV_DS2404
1060         tristate "Maxim/Dallas DS2404"
1061         help
1062           If you say yes here you get support for the
1063           Dallas DS2404 RTC chip.
1064
1065           This driver can also be built as a module. If so, the module
1066           will be called rtc-ds2404.
1067
1068 config RTC_DRV_DA9052
1069         tristate "Dialog DA9052/DA9053 RTC"
1070         depends on PMIC_DA9052
1071         help
1072           Say y here to support the RTC driver for Dialog Semiconductor
1073           DA9052-BC and DA9053-AA/Bx PMICs.
1074
1075 config RTC_DRV_DA9055
1076         tristate "Dialog Semiconductor DA9055 RTC"
1077         depends on MFD_DA9055
1078         help
1079           If you say yes here you will get support for the
1080           RTC of the Dialog DA9055 PMIC.
1081
1082           This driver can also be built as a module. If so, the module
1083           will be called rtc-da9055
1084
1085 config RTC_DRV_DA9063
1086         tristate "Dialog Semiconductor DA9063/DA9062 RTC"
1087         depends on MFD_DA9063 || MFD_DA9062
1088         help
1089           If you say yes here you will get support for the RTC subsystem
1090           for the Dialog Semiconductor PMIC chips DA9063 and DA9062.
1091
1092           This driver can also be built as a module. If so, the module
1093           will be called "rtc-da9063".
1094
1095 config RTC_DRV_EFI
1096         tristate "EFI RTC"
1097         depends on EFI && !X86
1098         help
1099           If you say yes here you will get support for the EFI
1100           Real Time Clock.
1101
1102           This driver can also be built as a module. If so, the module
1103           will be called rtc-efi.
1104
1105 config RTC_DRV_STK17TA8
1106         tristate "Simtek STK17TA8"
1107         depends on HAS_IOMEM
1108         help
1109           If you say yes here you get support for the
1110           Simtek STK17TA8 timekeeping chip.
1111
1112           This driver can also be built as a module. If so, the module
1113           will be called rtc-stk17ta8.
1114
1115 config RTC_DRV_M48T86
1116         tristate "ST M48T86/Dallas DS12887"
1117         help
1118           If you say Y here you will get support for the
1119           ST M48T86 and Dallas DS12887 RTC chips.
1120
1121           This driver can also be built as a module. If so, the module
1122           will be called rtc-m48t86.
1123
1124 config RTC_DRV_M48T35
1125         tristate "ST M48T35"
1126         depends on HAS_IOMEM
1127         help
1128           If you say Y here you will get support for the
1129           ST M48T35 RTC chip.
1130
1131           This driver can also be built as a module, if so, the module
1132           will be called "rtc-m48t35".
1133
1134 config RTC_DRV_M48T59
1135         tristate "ST M48T59/M48T08/M48T02"
1136         depends on HAS_IOMEM
1137         help
1138           If you say Y here you will get support for the
1139           ST M48T59 RTC chip and compatible ST M48T08 and M48T02.
1140
1141           These chips are usually found in Sun SPARC and UltraSPARC
1142           workstations.
1143
1144           This driver can also be built as a module, if so, the module
1145           will be called "rtc-m48t59".
1146
1147 config RTC_DRV_MSM6242
1148         tristate "Oki MSM6242"
1149         depends on HAS_IOMEM
1150         help
1151           If you say yes here you get support for the Oki MSM6242
1152           timekeeping chip. It is used in some Amiga models (e.g. A2000).
1153
1154           This driver can also be built as a module. If so, the module
1155           will be called rtc-msm6242.
1156
1157 config RTC_DRV_BQ4802
1158         tristate "TI BQ4802"
1159         depends on HAS_IOMEM
1160         help
1161           If you say Y here you will get support for the TI
1162           BQ4802 RTC chip.
1163
1164           This driver can also be built as a module. If so, the module
1165           will be called rtc-bq4802.
1166
1167 config RTC_DRV_RP5C01
1168         tristate "Ricoh RP5C01"
1169         depends on HAS_IOMEM
1170         help
1171           If you say yes here you get support for the Ricoh RP5C01
1172           timekeeping chip. It is used in some Amiga models (e.g. A3000
1173           and A4000).
1174
1175           This driver can also be built as a module. If so, the module
1176           will be called rtc-rp5c01.
1177
1178 config RTC_DRV_V3020
1179         tristate "EM Microelectronic V3020"
1180         help
1181           If you say yes here you will get support for the
1182           EM Microelectronic v3020 RTC chip.
1183
1184           This driver can also be built as a module. If so, the module
1185           will be called rtc-v3020.
1186
1187 config RTC_DRV_WM831X
1188         tristate "Wolfson Microelectronics WM831x RTC"
1189         depends on MFD_WM831X
1190         help
1191           If you say yes here you will get support for the RTC subsystem
1192           of the Wolfson Microelectronics WM831X series PMICs.
1193
1194           This driver can also be built as a module. If so, the module
1195           will be called "rtc-wm831x".
1196
1197 config RTC_DRV_WM8350
1198         tristate "Wolfson Microelectronics WM8350 RTC"
1199         depends on MFD_WM8350
1200         help
1201           If you say yes here you will get support for the RTC subsystem
1202           of the Wolfson Microelectronics WM8350.
1203
1204           This driver can also be built as a module. If so, the module
1205           will be called "rtc-wm8350".
1206
1207 config RTC_DRV_SC27XX
1208         tristate "Spreadtrum SC27xx RTC"
1209         depends on MFD_SC27XX_PMIC || COMPILE_TEST
1210         help
1211           If you say Y here you will get support for the RTC subsystem
1212           of the Spreadtrum SC27xx series PMICs. The SC27xx series PMICs
1213           includes the SC2720, SC2721, SC2723, SC2730 and SC2731 chips.
1214
1215           This driver can also be built as a module. If so, the module
1216           will be called rtc-sc27xx.
1217
1218 config RTC_DRV_SPEAR
1219         tristate "SPEAR ST RTC"
1220         depends on PLAT_SPEAR || COMPILE_TEST
1221         default y
1222         help
1223          If you say Y here you will get support for the RTC found on
1224          spear
1225
1226 config RTC_DRV_PCF50633
1227         depends on MFD_PCF50633
1228         tristate "NXP PCF50633 RTC"
1229         help
1230           If you say yes here you get support for the RTC subsystem of the
1231           NXP PCF50633 used in embedded systems.
1232
1233 config RTC_DRV_AB3100
1234         tristate "ST-Ericsson AB3100 RTC"
1235         depends on AB3100_CORE
1236         default y if AB3100_CORE
1237         help
1238           Select this to enable the ST-Ericsson AB3100 Mixed Signal IC RTC
1239           support. This chip contains a battery- and capacitor-backed RTC.
1240
1241 config RTC_DRV_AB8500
1242         tristate "ST-Ericsson AB8500 RTC"
1243         depends on AB8500_CORE
1244         select RTC_INTF_DEV
1245         select RTC_INTF_DEV_UIE_EMUL
1246         help
1247           Select this to enable the ST-Ericsson AB8500 power management IC RTC
1248           support. This chip contains a battery- and capacitor-backed RTC.
1249
1250 config RTC_DRV_NUC900
1251         tristate "NUC910/NUC920 RTC driver"
1252         depends on ARCH_W90X900 || COMPILE_TEST
1253         help
1254           If you say yes here you get support for the RTC subsystem of the
1255           NUC910/NUC920 used in embedded systems.
1256
1257 config RTC_DRV_OPAL
1258         tristate "IBM OPAL RTC driver"
1259         depends on PPC_POWERNV
1260         default y
1261         help
1262           If you say yes here you get support for the PowerNV platform RTC
1263           driver based on OPAL interfaces.
1264
1265           This driver can also be built as a module. If so, the module
1266           will be called rtc-opal.
1267
1268 config RTC_DRV_ZYNQMP
1269         tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
1270         depends on OF
1271         help
1272           If you say yes here you get support for the RTC controller found on
1273           Xilinx Zynq Ultrascale+ MPSoC.
1274
1275 config RTC_DRV_CROS_EC
1276         tristate "Chrome OS EC RTC driver"
1277         depends on MFD_CROS_EC
1278         help
1279           If you say yes here you will get support for the
1280           Chrome OS Embedded Controller's RTC.
1281
1282           This driver can also be built as a module. If so, the module
1283           will be called rtc-cros-ec.
1284
1285 comment "on-CPU RTC drivers"
1286
1287 config RTC_DRV_ASM9260
1288         tristate "Alphascale asm9260 RTC"
1289         depends on MACH_ASM9260 || COMPILE_TEST
1290         help
1291           If you say yes here you get support for the RTC on the
1292           Alphascale asm9260 SoC.
1293
1294           This driver can also be built as a module. If so, the module
1295           will be called rtc-asm9260.
1296
1297 config RTC_DRV_DAVINCI
1298         tristate "TI DaVinci RTC"
1299         depends on ARCH_DAVINCI_DM365 || COMPILE_TEST
1300         help
1301           If you say yes here you get support for the RTC on the
1302           DaVinci platforms (DM365).
1303
1304           This driver can also be built as a module. If so, the module
1305           will be called rtc-davinci.
1306
1307 config RTC_DRV_DIGICOLOR
1308         tristate "Conexant Digicolor RTC"
1309         depends on ARCH_DIGICOLOR || COMPILE_TEST
1310         help
1311           If you say yes here you get support for the RTC on Conexant
1312           Digicolor platforms. This currently includes the CX92755 SoC.
1313
1314           This driver can also be built as a module. If so, the module
1315           will be called rtc-digicolor.
1316
1317 config RTC_DRV_IMXDI
1318         tristate "Freescale IMX DryIce Real Time Clock"
1319         depends on ARCH_MXC
1320         help
1321            Support for Freescale IMX DryIce RTC
1322
1323            This driver can also be built as a module, if so, the module
1324            will be called "rtc-imxdi".
1325
1326 config RTC_DRV_MESON
1327         tristate "Amlogic Meson RTC"
1328         depends on (ARM && ARCH_MESON) || COMPILE_TEST
1329         select REGMAP_MMIO
1330         help
1331            Support for the RTC block on the Amlogic Meson6, Meson8, Meson8b
1332            and Meson8m2 SoCs.
1333
1334            This driver can also be built as a module, if so, the module
1335            will be called "rtc-meson".
1336
1337 config RTC_DRV_OMAP
1338         tristate "TI OMAP Real Time Clock"
1339         depends on ARCH_OMAP || ARCH_DAVINCI || COMPILE_TEST
1340         depends on OF
1341         depends on PINCTRL
1342         select GENERIC_PINCONF
1343         help
1344           Say "yes" here to support the on chip real time clock
1345           present on TI OMAP1, AM33xx, DA8xx/OMAP-L13x, AM43xx and DRA7xx.
1346
1347           This driver can also be built as a module, if so, module
1348           will be called rtc-omap.
1349
1350 config HAVE_S3C_RTC
1351         bool
1352         help
1353           This will include RTC support for Samsung SoCs. If
1354           you want to include RTC support for any machine, kindly
1355           select this in the respective mach-XXXX/Kconfig file.
1356
1357 config RTC_DRV_S3C
1358         tristate "Samsung S3C series SoC RTC"
1359         depends on ARCH_S3C64XX || HAVE_S3C_RTC || COMPILE_TEST
1360         help
1361           RTC (Realtime Clock) driver for the clock inbuilt into the
1362           Samsung S3C24XX series of SoCs. This can provide periodic
1363           interrupt rates from 1Hz to 64Hz for user programs, and
1364           wakeup from Alarm.
1365
1366           The driver currently supports the common features on all the
1367           S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440
1368           and S3C2442.
1369
1370           This driver can also be build as a module. If so, the module
1371           will be called rtc-s3c.
1372
1373 config RTC_DRV_EP93XX
1374         tristate "Cirrus Logic EP93XX"
1375         depends on ARCH_EP93XX || COMPILE_TEST
1376         help
1377           If you say yes here you get support for the
1378           RTC embedded in the Cirrus Logic EP93XX processors.
1379
1380           This driver can also be built as a module. If so, the module
1381           will be called rtc-ep93xx.
1382
1383 config RTC_DRV_SA1100
1384         tristate "SA11x0/PXA2xx/PXA910"
1385         depends on ARCH_SA1100 || ARCH_PXA || ARCH_MMP
1386         help
1387           If you say Y here you will get access to the real time clock
1388           built into your SA11x0 or PXA2xx CPU.
1389
1390           To compile this driver as a module, choose M here: the
1391           module will be called rtc-sa1100.
1392
1393 config RTC_DRV_SH
1394         tristate "SuperH On-Chip RTC"
1395         depends on SUPERH || ARCH_RENESAS
1396         help
1397           Say Y here to enable support for the on-chip RTC found in
1398           most SuperH processors. This RTC is also found in RZ/A SoCs.
1399
1400           To compile this driver as a module, choose M here: the
1401           module will be called rtc-sh.
1402
1403 config RTC_DRV_VR41XX
1404         tristate "NEC VR41XX"
1405         depends on CPU_VR41XX || COMPILE_TEST
1406         help
1407           If you say Y here you will get access to the real time clock
1408           built into your NEC VR41XX CPU.
1409
1410           To compile this driver as a module, choose M here: the
1411           module will be called rtc-vr41xx.
1412
1413 config RTC_DRV_PL030
1414         tristate "ARM AMBA PL030 RTC"
1415         depends on ARM_AMBA
1416         help
1417           If you say Y here you will get access to ARM AMBA
1418           PrimeCell PL030 RTC found on certain ARM SOCs.
1419
1420           To compile this driver as a module, choose M here: the
1421           module will be called rtc-pl030.
1422
1423 config RTC_DRV_PL031
1424         tristate "ARM AMBA PL031 RTC"
1425         depends on ARM_AMBA
1426         help
1427           If you say Y here you will get access to ARM AMBA
1428           PrimeCell PL031 RTC found on certain ARM SOCs.
1429
1430           To compile this driver as a module, choose M here: the
1431           module will be called rtc-pl031.
1432
1433 config RTC_DRV_AT91RM9200
1434         tristate "AT91RM9200 or some AT91SAM9 RTC"
1435         depends on ARCH_AT91 || COMPILE_TEST
1436         help
1437           Driver for the internal RTC (Realtime Clock) module found on
1438           Atmel AT91RM9200's and some  AT91SAM9 chips. On AT91SAM9 chips
1439           this is powered by the backup power supply.
1440
1441 config RTC_DRV_AT91SAM9
1442         tristate "AT91SAM9 RTT as RTC"
1443         depends on ARCH_AT91 || COMPILE_TEST
1444         depends on OF && HAS_IOMEM
1445         select MFD_SYSCON
1446         help
1447           Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
1448           can be used as an RTC thanks to the backup power supply (e.g. a
1449           small coin cell battery) which keeps this block and the GPBR
1450           (General Purpose Backup Registers) block powered when the device
1451           is shutdown.
1452           Some AT91SAM9 SoCs provide a real RTC block, on those ones you'd
1453           probably want to use the real RTC block instead of the "RTT as an
1454           RTC" driver.
1455
1456 config RTC_DRV_AU1XXX
1457         tristate "Au1xxx Counter0 RTC support"
1458         depends on MIPS_ALCHEMY
1459         help
1460           This is a driver for the Au1xxx on-chip Counter0 (Time-Of-Year
1461           counter) to be used as a RTC.
1462
1463           This driver can also be built as a module. If so, the module
1464           will be called rtc-au1xxx.
1465
1466 config RTC_DRV_RS5C313
1467         tristate "Ricoh RS5C313"
1468         depends on SH_LANDISK
1469         help
1470           If you say yes here you get support for the Ricoh RS5C313 RTC chips.
1471
1472 config RTC_DRV_GENERIC
1473         tristate "Generic RTC support"
1474         # Please consider writing a new RTC driver instead of using the generic
1475         # RTC abstraction
1476         depends on PARISC || M68K || PPC || SUPERH32 || COMPILE_TEST
1477         help
1478           Say Y or M here to enable RTC support on systems using the generic
1479           RTC abstraction. If you do not know what you are doing, you should
1480           just say Y.
1481
1482 config RTC_DRV_PXA
1483         tristate "PXA27x/PXA3xx"
1484         depends on ARCH_PXA
1485         select RTC_DRV_SA1100
1486         help
1487          If you say Y here you will get access to the real time clock
1488          built into your PXA27x or PXA3xx CPU. This RTC is actually 2 RTCs
1489          consisting of an SA1100 compatible RTC and the extended PXA RTC.
1490
1491          This RTC driver uses PXA RTC registers available since pxa27x
1492          series (RDxR, RYxR) instead of legacy RCNR, RTAR.
1493
1494 config RTC_DRV_VT8500
1495         tristate "VIA/WonderMedia 85xx SoC RTC"
1496         depends on ARCH_VT8500 || COMPILE_TEST
1497         help
1498           If you say Y here you will get access to the real time clock
1499           built into your VIA VT8500 SoC or its relatives.
1500
1501
1502 config RTC_DRV_SUN4V
1503         bool "SUN4V Hypervisor RTC"
1504         depends on SPARC64
1505         help
1506           If you say Y here you will get support for the Hypervisor
1507           based RTC on SUN4V systems.
1508
1509 config RTC_DRV_SUN6I
1510         bool "Allwinner A31 RTC"
1511         default MACH_SUN6I || MACH_SUN8I
1512         depends on COMMON_CLK
1513         depends on ARCH_SUNXI || COMPILE_TEST
1514         help
1515           If you say Y here you will get support for the RTC found in
1516           some Allwinner SoCs like the A31 or the A64.
1517
1518 config RTC_DRV_SUNXI
1519         tristate "Allwinner sun4i/sun7i RTC"
1520         depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
1521         help
1522           If you say Y here you will get support for the RTC found on
1523           Allwinner A10/A20.
1524
1525 config RTC_DRV_STARFIRE
1526         bool "Starfire RTC"
1527         depends on SPARC64
1528         help
1529           If you say Y here you will get support for the RTC found on
1530           Starfire systems.
1531
1532 config RTC_DRV_TX4939
1533         tristate "TX4939 SoC"
1534         depends on SOC_TX4939 || COMPILE_TEST
1535         help
1536           Driver for the internal RTC (Realtime Clock) module found on
1537           Toshiba TX4939 SoC.
1538
1539 config RTC_DRV_MV
1540         tristate "Marvell SoC RTC"
1541         depends on ARCH_DOVE || ARCH_MVEBU || COMPILE_TEST
1542         help
1543           If you say yes here you will get support for the in-chip RTC
1544           that can be found in some of Marvell's SoC devices, such as
1545           the Kirkwood 88F6281 and 88F6192.
1546
1547           This driver can also be built as a module. If so, the module
1548           will be called rtc-mv.
1549
1550 config RTC_DRV_ARMADA38X
1551         tristate "Armada 38x Marvell SoC RTC"
1552         depends on ARCH_MVEBU || COMPILE_TEST
1553         help
1554           If you say yes here you will get support for the in-chip RTC
1555           that can be found in the Armada 38x Marvell's SoC device
1556
1557           This driver can also be built as a module. If so, the module
1558           will be called armada38x-rtc.
1559
1560 config RTC_DRV_CADENCE
1561         tristate "Cadence RTC driver"
1562         depends on OF && HAS_IOMEM
1563         help
1564           If you say Y here you will get access to Cadence RTC IP
1565           found on certain SOCs.
1566
1567           To compile this driver as a module, choose M here: the
1568           module will be called rtc-cadence.
1569
1570 config RTC_DRV_FTRTC010
1571         tristate "Faraday Technology FTRTC010 RTC"
1572         depends on HAS_IOMEM
1573         default ARCH_GEMINI
1574         help
1575           If you say Y here you will get support for the
1576           Faraday Technolog FTRTC010 found on e.g. Gemini SoC's.
1577
1578           This driver can also be built as a module. If so, the module
1579           will be called rtc-ftrtc010.
1580
1581 config RTC_DRV_PS3
1582         tristate "PS3 RTC"
1583         depends on PPC_PS3
1584         help
1585           If you say yes here you will get support for the RTC on PS3.
1586
1587           This driver can also be built as a module. If so, the module
1588           will be called rtc-ps3.
1589
1590 config RTC_DRV_COH901331
1591         tristate "ST-Ericsson COH 901 331 RTC"
1592         depends on ARCH_U300 || COMPILE_TEST
1593         help
1594           If you say Y here you will get access to ST-Ericsson
1595           COH 901 331 RTC clock found in some ST-Ericsson Mobile
1596           Platforms.
1597
1598           This driver can also be built as a module. If so, the module
1599           will be called "rtc-coh901331".
1600
1601
1602 config RTC_DRV_STMP
1603         tristate "Freescale STMP3xxx/i.MX23/i.MX28 RTC"
1604         depends on ARCH_MXS || COMPILE_TEST
1605         select STMP_DEVICE
1606         help
1607           If you say yes here you will get support for the onboard
1608           STMP3xxx/i.MX23/i.MX28 RTC.
1609
1610           This driver can also be built as a module. If so, the module
1611           will be called rtc-stmp3xxx.
1612
1613 config RTC_DRV_PCAP
1614         tristate "PCAP RTC"
1615         depends on EZX_PCAP
1616         help
1617           If you say Y here you will get support for the RTC found on
1618           the PCAP2 ASIC used on some Motorola phones.
1619
1620 config RTC_DRV_MC13XXX
1621         depends on MFD_MC13XXX
1622         tristate "Freescale MC13xxx RTC"
1623         help
1624           This enables support for the RTCs found on Freescale's PMICs
1625           MC13783 and MC13892.
1626
1627 config RTC_DRV_MPC5121
1628         tristate "Freescale MPC5121 built-in RTC"
1629         depends on PPC_MPC512x || PPC_MPC52xx
1630         help
1631           If you say yes here you will get support for the
1632           built-in RTC on MPC5121 or on MPC5200.
1633
1634           This driver can also be built as a module. If so, the module
1635           will be called rtc-mpc5121.
1636
1637 config RTC_DRV_JZ4740
1638         tristate "Ingenic JZ4740 SoC"
1639         depends on MIPS || COMPILE_TEST
1640         help
1641           If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
1642           controllers.
1643
1644           This driver can also be built as a module. If so, the module
1645           will be called rtc-jz4740.
1646
1647 config RTC_DRV_LPC24XX
1648         tristate "NXP RTC for LPC178x/18xx/408x/43xx"
1649         depends on ARCH_LPC18XX || COMPILE_TEST
1650         depends on OF && HAS_IOMEM
1651         help
1652           This enables support for the NXP RTC found which can be found on
1653           NXP LPC178x/18xx/408x/43xx devices.
1654
1655           If you have one of the devices above enable this driver to use
1656           the hardware RTC. This driver can also be built as a module. If
1657           so, the module will be called rtc-lpc24xx.
1658
1659 config RTC_DRV_LPC32XX
1660         depends on ARCH_LPC32XX || COMPILE_TEST
1661         tristate "NXP LPC32XX RTC"
1662         help
1663           This enables support for the NXP RTC in the LPC32XX
1664
1665           This driver can also be built as a module. If so, the module
1666           will be called rtc-lpc32xx.
1667
1668 config RTC_DRV_PM8XXX
1669         tristate "Qualcomm PMIC8XXX RTC"
1670         depends on MFD_PM8XXX || MFD_SPMI_PMIC || COMPILE_TEST
1671         help
1672           If you say yes here you get support for the
1673           Qualcomm PMIC8XXX RTC.
1674
1675           To compile this driver as a module, choose M here: the
1676           module will be called rtc-pm8xxx.
1677
1678 config RTC_DRV_TEGRA
1679         tristate "NVIDIA Tegra Internal RTC driver"
1680         depends on ARCH_TEGRA || COMPILE_TEST
1681         help
1682           If you say yes here you get support for the
1683           Tegra 200 series internal RTC module.
1684
1685           This drive can also be built as a module. If so, the module
1686           will be called rtc-tegra.
1687
1688 config RTC_DRV_PUV3
1689         tristate "PKUnity v3 RTC support"
1690         depends on ARCH_PUV3
1691         help
1692           This enables support for the RTC in the PKUnity-v3 SoCs.
1693
1694           This drive can also be built as a module. If so, the module
1695           will be called rtc-puv3.
1696
1697 config RTC_DRV_LOONGSON1
1698         tristate "loongson1 RTC support"
1699         depends on MACH_LOONGSON32
1700         help
1701           This is a driver for the loongson1 on-chip Counter0 (Time-Of-Year
1702           counter) to be used as a RTC.
1703
1704           This driver can also be built as a module. If so, the module
1705           will be called rtc-ls1x.
1706
1707 config RTC_DRV_MXC
1708         tristate "Freescale MXC Real Time Clock"
1709         depends on ARCH_MXC
1710         help
1711            If you say yes here you get support for the Freescale MXC
1712            RTC module.
1713
1714            This driver can also be built as a module, if so, the module
1715            will be called "rtc-mxc".
1716
1717 config RTC_DRV_MXC_V2
1718         tristate "Freescale MXC Real Time Clock for i.MX53"
1719         depends on ARCH_MXC
1720         help
1721            If you say yes here you get support for the Freescale MXC
1722            SRTC module in i.MX53 processor.
1723
1724            This driver can also be built as a module, if so, the module
1725            will be called "rtc-mxc_v2".
1726
1727 config RTC_DRV_SNVS
1728         tristate "Freescale SNVS RTC support"
1729         select REGMAP_MMIO
1730         depends on HAS_IOMEM
1731         depends on OF
1732         help
1733            If you say yes here you get support for the Freescale SNVS
1734            Low Power (LP) RTC module.
1735
1736            This driver can also be built as a module, if so, the module
1737            will be called "rtc-snvs".
1738
1739 config RTC_DRV_IMX_SC
1740         depends on IMX_SCU
1741         depends on HAVE_ARM_SMCCC
1742         tristate "NXP i.MX System Controller RTC support"
1743         help
1744            If you say yes here you get support for the NXP i.MX System
1745            Controller RTC module.
1746
1747 config RTC_DRV_SIRFSOC
1748         tristate "SiRFSOC RTC"
1749         depends on ARCH_SIRF
1750         help
1751           Say "yes" here to support the real time clock on SiRF SOC chips.
1752           This driver can also be built as a module called rtc-sirfsoc.
1753
1754 config RTC_DRV_ST_LPC
1755         tristate "STMicroelectronics LPC RTC"
1756         depends on ARCH_STI
1757         depends on OF
1758         help
1759           Say Y here to include STMicroelectronics Low Power Controller
1760           (LPC) based RTC support.
1761
1762           To compile this driver as a module, choose M here: the
1763           module will be called rtc-st-lpc.
1764
1765 config RTC_DRV_MOXART
1766         tristate "MOXA ART RTC"
1767         depends on ARCH_MOXART || COMPILE_TEST
1768         help
1769            If you say yes here you get support for the MOXA ART
1770            RTC module.
1771
1772            This driver can also be built as a module. If so, the module
1773            will be called rtc-moxart
1774
1775 config RTC_DRV_MT6397
1776         tristate "MediaTek PMIC based RTC"
1777         depends on MFD_MT6397 || (COMPILE_TEST && IRQ_DOMAIN)
1778         help
1779           This selects the MediaTek(R) RTC driver. RTC is part of MediaTek
1780           MT6397 PMIC. You should enable MT6397 PMIC MFD before select
1781           MediaTek(R) RTC driver.
1782
1783           If you want to use MediaTek(R) RTC interface, select Y or M here.
1784
1785 config RTC_DRV_MT7622
1786         tristate "MediaTek SoC based RTC"
1787         depends on ARCH_MEDIATEK || COMPILE_TEST
1788         help
1789           This enables support for the real time clock built in the MediaTek
1790           SoCs.
1791
1792           This drive can also be built as a module. If so, the module
1793           will be called rtc-mt7622.
1794
1795 config RTC_DRV_XGENE
1796         tristate "APM X-Gene RTC"
1797         depends on HAS_IOMEM
1798         depends on ARCH_XGENE || COMPILE_TEST
1799         help
1800           If you say yes here you get support for the APM X-Gene SoC real time
1801           clock.
1802
1803           This driver can also be built as a module, if so, the module
1804           will be called "rtc-xgene".
1805
1806 config RTC_DRV_PIC32
1807         tristate "Microchip PIC32 RTC"
1808         depends on MACH_PIC32
1809         default y
1810         help
1811            If you say yes here you get support for the PIC32 RTC module.
1812
1813            This driver can also be built as a module. If so, the module
1814            will be called rtc-pic32
1815
1816 config RTC_DRV_R7301
1817         tristate "EPSON TOYOCOM RTC-7301SF/DG"
1818         select REGMAP_MMIO
1819         depends on OF && HAS_IOMEM
1820         help
1821            If you say yes here you get support for the EPSON TOYOCOM
1822            RTC-7301SF/DG chips.
1823
1824            This driver can also be built as a module. If so, the module
1825            will be called rtc-r7301.
1826
1827 config RTC_DRV_STM32
1828         tristate "STM32 RTC"
1829         select REGMAP_MMIO
1830         depends on ARCH_STM32 || COMPILE_TEST
1831         help
1832            If you say yes here you get support for the STM32 On-Chip
1833            Real Time Clock.
1834
1835            This driver can also be built as a module, if so, the module
1836            will be called "rtc-stm32".
1837
1838 config RTC_DRV_CPCAP
1839         depends on MFD_CPCAP
1840         tristate "Motorola CPCAP RTC"
1841         help
1842            Say y here for CPCAP rtc found on some Motorola phones
1843            and tablets such as Droid 4.
1844
1845 config RTC_DRV_RTD119X
1846         bool "Realtek RTD129x RTC"
1847         depends on ARCH_REALTEK || COMPILE_TEST
1848         default ARCH_REALTEK
1849         help
1850           If you say yes here, you get support for the RTD1295 SoC
1851           Real Time Clock.
1852
1853 config RTC_DRV_ASPEED
1854         tristate "ASPEED RTC"
1855         depends on OF
1856         depends on ARCH_ASPEED || COMPILE_TEST
1857         help
1858           If you say yes here you get support for the ASPEED BMC SoC real time
1859           clocks.
1860
1861           This driver can also be built as a module, if so, the module
1862           will be called "rtc-aspeed".
1863
1864 comment "HID Sensor RTC drivers"
1865
1866 config RTC_DRV_HID_SENSOR_TIME
1867         tristate "HID Sensor Time"
1868         depends on USB_HID
1869         depends on HID_SENSOR_HUB && IIO
1870         select HID_SENSOR_IIO_COMMON
1871         help
1872           Say yes here to build support for the HID Sensors of type Time.
1873           This drivers makes such sensors available as RTCs.
1874
1875           If this driver is compiled as a module, it will be named
1876           rtc-hid-sensor-time.
1877
1878 config RTC_DRV_GOLDFISH
1879         tristate "Goldfish Real Time Clock"
1880         depends on OF && HAS_IOMEM
1881         depends on GOLDFISH || COMPILE_TEST
1882         help
1883           Say yes to enable RTC driver for the Goldfish based virtual platform.
1884
1885           Goldfish is a code name for the virtual platform developed by Google
1886           for Android emulation.
1887
1888 config RTC_DRV_WILCO_EC
1889         tristate "Wilco EC RTC"
1890         depends on WILCO_EC
1891         default m
1892         help
1893           If you say yes here, you get read/write support for the Real Time
1894           Clock on the Wilco Embedded Controller (Wilco is a kind of Chromebook)
1895
1896           This can also be built as a module. If so, the module will
1897           be named "rtc_wilco_ec".
1898
1899 endif # RTC_CLASS