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