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