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