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