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