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