ide: move ->failed_pc to ide_drive_t
[linux-ginger.git] / drivers / rtc / Kconfig
blob81450fbd8b1246c3bca1841f8cd314af79264081
2 # RTC class/drivers configuration
5 config RTC_LIB
6         tristate
8 menuconfig RTC_CLASS
9         tristate "Real Time Clock"
10         default n
11         depends on !S390
12         select RTC_LIB
13         help
14           Generic RTC class support. If you say yes here, you will
15           be allowed to plug one or more RTCs to your system. You will
16           probably want to enable one or more of the interfaces below.
18           This driver can also be built as a module. If so, the module
19           will be called rtc-core.
21 if RTC_CLASS
23 config RTC_HCTOSYS
24         bool "Set system time from RTC on startup and resume"
25         depends on RTC_CLASS = y
26         default y
27         help
28           If you say yes here, the system time (wall clock) will be set using
29           the value read from a specified RTC device. This is useful to avoid
30           unnecessary fsck runs at boot time, and to network better.
32 config RTC_HCTOSYS_DEVICE
33         string "RTC used to set the system time"
34         depends on RTC_HCTOSYS = y
35         default "rtc0"
36         help
37           The RTC device that will be used to (re)initialize the system
38           clock, usually rtc0. Initialization is done when the system
39           starts up, and when it resumes from a low power state. This
40           device should record time in UTC, since the kernel won't do
41           timezone correction.
43           The driver for this RTC device must be loaded before late_initcall
44           functions run, so it must usually be statically linked.
46           This clock should be battery-backed, so that it reads the correct
47           time when the system boots from a power-off state. Otherwise, your
48           system will need an external clock source (like an NTP server).
50           If the clock you specify here is not battery backed, it may still
51           be useful to reinitialize system time when resuming from system
52           sleep states. Do not specify an RTC here unless it stays powered
53           during all this system's supported sleep states.
55 config RTC_DEBUG
56         bool "RTC debug support"
57         depends on RTC_CLASS = y
58         help
59           Say yes here to enable debugging support in the RTC framework
60           and individual RTC drivers.
62 comment "RTC interfaces"
64 config RTC_INTF_SYSFS
65         boolean "/sys/class/rtc/rtcN (sysfs)"
66         depends on SYSFS
67         default RTC_CLASS
68         help
69           Say yes here if you want to use your RTCs using sysfs interfaces,
70           /sys/class/rtc/rtc0 through /sys/.../rtcN.
72           If unsure, say Y.
74 config RTC_INTF_PROC
75         boolean "/proc/driver/rtc (procfs for rtc0)"
76         depends on PROC_FS
77         default RTC_CLASS
78         help
79           Say yes here if you want to use your first RTC through the proc
80           interface, /proc/driver/rtc. Other RTCs will not be available
81           through that API.
83           If unsure, say Y.
85 config RTC_INTF_DEV
86         boolean "/dev/rtcN (character devices)"
87         default RTC_CLASS
88         help
89           Say yes here if you want to use your RTCs using the /dev
90           interfaces, which "udev" sets up as /dev/rtc0 through
91           /dev/rtcN.
93           You may want to set up a symbolic link so one of these
94           can be accessed as /dev/rtc, which is a name
95           expected by "hwclock" and some other programs. Recent
96           versions of "udev" are known to set up the symlink for you.
98           If unsure, say Y.
100 config RTC_INTF_DEV_UIE_EMUL
101         bool "RTC UIE emulation on dev interface"
102         depends on RTC_INTF_DEV
103         help
104           Provides an emulation for RTC_UIE if the underlying rtc chip
105           driver does not expose RTC_UIE ioctls. Those requests generate
106           once-per-second update interrupts, used for synchronization.
108           The emulation code will read the time from the hardware
109           clock several times per second, please enable this option
110           only if you know that you really need it.
112 config RTC_DRV_TEST
113         tristate "Test driver/device"
114         help
115           If you say yes here you get support for the
116           RTC test driver. It's a software RTC which can be
117           used to test the RTC subsystem APIs. It gets
118           the time from the system clock.
119           You want this driver only if you are doing development
120           on the RTC subsystem. Please read the source code
121           for further details.
123           This driver can also be built as a module. If so, the module
124           will be called rtc-test.
126 comment "I2C RTC drivers"
127         depends on I2C
129 if I2C
131 config RTC_DRV_DS1307
132         tristate "Dallas/Maxim DS1307/37/38/39/40, ST M41T00"
133         help
134           If you say yes here you get support for various compatible RTC
135           chips (often with battery backup) connected with I2C. This driver
136           should handle DS1307, DS1337, DS1338, DS1339, DS1340, ST M41T00,
137           and probably other chips. In some cases the RTC must already
138           have been initialized (by manufacturing or a bootloader).
140           The first seven registers on these chips hold an RTC, and other
141           registers may add features such as NVRAM, a trickle charger for
142           the RTC/NVRAM backup power, and alarms. NVRAM is visible in
143           sysfs, but other chip features may not be available.
145           This driver can also be built as a module. If so, the module
146           will be called rtc-ds1307.
148 config RTC_DRV_DS1374
149         tristate "Dallas/Maxim DS1374"
150         depends on RTC_CLASS && I2C
151         help
152           If you say yes here you get support for Dallas Semiconductor
153           DS1374 real-time clock chips. If an interrupt is associated
154           with the device, the alarm functionality is supported.
156           This driver can also be built as a module. If so, the module
157           will be called rtc-ds1374.
159 config RTC_DRV_DS1672
160         tristate "Dallas/Maxim DS1672"
161         help
162           If you say yes here you get support for the
163           Dallas/Maxim DS1672 timekeeping chip.
165           This driver can also be built as a module. If so, the module
166           will be called rtc-ds1672.
168 config RTC_DRV_MAX6900
169         tristate "Maxim MAX6900"
170         help
171           If you say yes here you will get support for the
172           Maxim MAX6900 I2C RTC chip.
174           This driver can also be built as a module. If so, the module
175           will be called rtc-max6900.
177 config RTC_DRV_RS5C372
178         tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A"
179         help
180           If you say yes here you get support for the
181           Ricoh R2025S/D, RS5C372A, RS5C372B, RV5C386, and RV5C387A RTC chips.
183           This driver can also be built as a module. If so, the module
184           will be called rtc-rs5c372.
186 config RTC_DRV_ISL1208
187         tristate "Intersil ISL1208"
188         help
189           If you say yes here you get support for the
190           Intersil ISL1208 RTC chip.
192           This driver can also be built as a module. If so, the module
193           will be called rtc-isl1208.
195 config RTC_DRV_X1205
196         tristate "Xicor/Intersil X1205"
197         help
198           If you say yes here you get support for the
199           Xicor/Intersil X1205 RTC chip.
201           This driver can also be built as a module. If so, the module
202           will be called rtc-x1205.
204 config RTC_DRV_PCF8563
205         tristate "Philips PCF8563/Epson RTC8564"
206         help
207           If you say yes here you get support for the
208           Philips PCF8563 RTC chip. The Epson RTC8564
209           should work as well.
211           This driver can also be built as a module. If so, the module
212           will be called rtc-pcf8563.
214 config RTC_DRV_PCF8583
215         tristate "Philips PCF8583"
216         help
217           If you say yes here you get support for the Philips PCF8583
218           RTC chip found on Acorn RiscPCs. This driver supports the
219           platform specific method of retrieving the current year from
220           the RTC's SRAM. It will work on other platforms with the same
221           chip, but the year will probably have to be tweaked.
223           This driver can also be built as a module. If so, the module
224           will be called rtc-pcf8583.
226 config RTC_DRV_M41T80
227         tristate "ST M41T65/M41T80/81/82/83/84/85/87"
228         help
229           If you say Y here you will get support for the ST M41T60
230           and M41T80 RTC chips series. Currently, the following chips are
231           supported: M41T65, M41T80, M41T81, M41T82, M41T83, M41ST84,
232           M41ST85, and M41ST87.
234           This driver can also be built as a module. If so, the module
235           will be called rtc-m41t80.
237 config RTC_DRV_M41T80_WDT
238         bool "ST M41T65/M41T80 series RTC watchdog timer"
239         depends on RTC_DRV_M41T80
240         help
241           If you say Y here you will get support for the
242           watchdog timer in the ST M41T60 and M41T80 RTC chips series.
244 config RTC_DRV_DM355EVM
245         tristate "TI DaVinci DM355 EVM RTC"
246         depends on MFD_DM355EVM_MSP
247         help
248           Supports the RTC firmware in the MSP430 on the DM355 EVM.
250 config RTC_DRV_TWL92330
251         boolean "TI TWL92330/Menelaus"
252         depends on MENELAUS
253         help
254           If you say yes here you get support for the RTC on the
255           TWL92330 "Menelaus" power management chip, used with OMAP2
256           platforms. The support is integrated with the rest of
257           the Menelaus driver; it's not separate module.
259 config RTC_DRV_TWL4030
260         tristate "TI TWL4030/TWL5030/TPS659x0"
261         depends on RTC_CLASS && TWL4030_CORE
262         help
263           If you say yes here you get support for the RTC on the
264           TWL4030 family chips, used mostly with OMAP3 platforms.
266           This driver can also be built as a module. If so, the module
267           will be called rtc-twl4030.
269 config RTC_DRV_S35390A
270         tristate "Seiko Instruments S-35390A"
271         select BITREVERSE
272         help
273           If you say yes here you will get support for the Seiko
274           Instruments S-35390A.
276           This driver can also be built as a module. If so the module
277           will be called rtc-s35390a.
279 config RTC_DRV_FM3130
280         tristate "Ramtron FM3130"
281         help
282           If you say Y here you will get support for the
283           Ramtron FM3130 RTC chips.
284           Ramtron FM3130 is a chip with two separate devices inside,
285           RTC clock and FRAM. This driver provides only RTC functionality.
287           This driver can also be built as a module. If so the module
288           will be called rtc-fm3130.
290 config RTC_DRV_RX8581
291         tristate "Epson RX-8581"
292         help
293           If you say yes here you will get support for the Epson RX-8581.
295           This driver can also be built as a module. If so the module
296           will be called rtc-rx8581.
298 endif # I2C
300 comment "SPI RTC drivers"
302 if SPI_MASTER
304 config RTC_DRV_M41T94
305         tristate "ST M41T94"
306         help
307           If you say yes here you will get support for the
308           ST M41T94 SPI RTC chip.
310           This driver can also be built as a module. If so, the module
311           will be called rtc-m41t94.
313 config RTC_DRV_DS1305
314         tristate "Dallas/Maxim DS1305/DS1306"
315         help
316           Select this driver to get support for the Dallas/Maxim DS1305
317           and DS1306 real time clock chips. These support a trickle
318           charger, alarms, and NVRAM in addition to the clock.
320           This driver can also be built as a module. If so, the module
321           will be called rtc-ds1305.
323 config RTC_DRV_DS1390
324         tristate "Dallas/Maxim DS1390/93/94"
325         help
326           If you say yes here you get support for the
327           Dallas/Maxim DS1390/93/94 chips.
329           This driver only supports the RTC feature, and not other chip
330           features such as alarms and trickle charging.
332           This driver can also be built as a module. If so, the module
333           will be called rtc-ds1390.
335 config RTC_DRV_MAX6902
336         tristate "Maxim MAX6902"
337         help
338           If you say yes here you will get support for the
339           Maxim MAX6902 SPI RTC chip.
341           This driver can also be built as a module. If so, the module
342           will be called rtc-max6902.
344 config RTC_DRV_R9701
345         tristate "Epson RTC-9701JE"
346         help
347           If you say yes here you will get support for the
348           Epson RTC-9701JE SPI RTC chip.
350           This driver can also be built as a module. If so, the module
351           will be called rtc-r9701.
353 config RTC_DRV_RS5C348
354         tristate "Ricoh RS5C348A/B"
355         help
356           If you say yes here you get support for the
357           Ricoh RS5C348A and RS5C348B RTC chips.
359           This driver can also be built as a module. If so, the module
360           will be called rtc-rs5c348.
362 config RTC_DRV_DS3234
363         tristate "Maxim/Dallas DS3234"
364         help
365           If you say yes here you get support for the
366           Maxim/Dallas DS3234 SPI RTC chip.
368           This driver can also be built as a module. If so, the module
369           will be called rtc-ds3234.
371 endif # SPI_MASTER
373 comment "Platform RTC drivers"
375 # this 'CMOS' RTC driver is arch dependent because <asm-generic/rtc.h>
376 # requires <asm/mc146818rtc.h> defining CMOS_READ/CMOS_WRITE, and a
377 # global rtc_lock ... it's not yet just another platform_device.
379 config RTC_DRV_CMOS
380         tristate "PC-style 'CMOS'"
381         depends on X86 || ALPHA || ARM || M32R || ATARI || PPC || MIPS || SPARC64
382         default y if X86
383         help
384           Say "yes" here to get direct support for the real time clock
385           found in every PC or ACPI-based system, and some other boards.
386           Specifically the original MC146818, compatibles like those in
387           PC south bridges, the DS12887 or M48T86, some multifunction
388           or LPC bus chips, and so on.
390           Your system will need to define the platform device used by
391           this driver, otherwise it won't be accessible. This means
392           you can safely enable this driver if you don't know whether
393           or not your board has this kind of hardware.
395           This driver can also be built as a module. If so, the module
396           will be called rtc-cmos.
398 config RTC_DRV_DS1216
399         tristate "Dallas DS1216"
400         depends on SNI_RM
401         help
402           If you say yes here you get support for the Dallas DS1216 RTC chips.
404 config RTC_DRV_DS1286
405         tristate "Dallas DS1286"
406         help
407           If you say yes here you get support for the Dallas DS1286 RTC chips.
409 config RTC_DRV_DS1302
410         tristate "Dallas DS1302"
411         depends on SH_SECUREEDGE5410
412         help
413           If you say yes here you get support for the Dallas DS1302 RTC chips.
415 config RTC_DRV_DS1511
416         tristate "Dallas DS1511"
417         depends on RTC_CLASS
418         help
419           If you say yes here you get support for the
420           Dallas DS1511 timekeeping/watchdog chip.
422           This driver can also be built as a module. If so, the module
423           will be called rtc-ds1511.
425 config RTC_DRV_DS1553
426         tristate "Maxim/Dallas DS1553"
427         help
428           If you say yes here you get support for the
429           Maxim/Dallas DS1553 timekeeping chip.
431           This driver can also be built as a module. If so, the module
432           will be called rtc-ds1553.
434 config RTC_DRV_DS1742
435         tristate "Maxim/Dallas DS1742/1743"
436         help
437           If you say yes here you get support for the
438           Maxim/Dallas DS1742/1743 timekeeping chip.
440           This driver can also be built as a module. If so, the module
441           will be called rtc-ds1742.
443 config RTC_DRV_STK17TA8
444         tristate "Simtek STK17TA8"
445         depends on RTC_CLASS
446         help
447           If you say yes here you get support for the
448           Simtek STK17TA8 timekeeping chip.
450           This driver can also be built as a module. If so, the module
451           will be called rtc-stk17ta8.
453 config RTC_DRV_M48T86
454         tristate "ST M48T86/Dallas DS12887"
455         help
456           If you say Y here you will get support for the
457           ST M48T86 and Dallas DS12887 RTC chips.
459           This driver can also be built as a module. If so, the module
460           will be called rtc-m48t86.
462 config RTC_DRV_M48T35
463         tristate "ST M48T35"
464         help
465           If you say Y here you will get support for the
466           ST M48T35 RTC chip.
468           This driver can also be built as a module, if so, the module
469           will be called "rtc-m48t35".
471 config RTC_DRV_M48T59
472         tristate "ST M48T59/M48T08/M48T02"
473         help
474           If you say Y here you will get support for the
475           ST M48T59 RTC chip and compatible ST M48T08 and M48T02.
477           These chips are usually found in Sun SPARC and UltraSPARC
478           workstations.
480           This driver can also be built as a module, if so, the module
481           will be called "rtc-m48t59".
483 config RTC_DRV_BQ4802
484         tristate "TI BQ4802"
485         help
486           If you say Y here you will get support for the TI
487           BQ4802 RTC chip.
489           This driver can also be built as a module. If so, the module
490           will be called rtc-bq4802.
492 config RTC_DRV_V3020
493         tristate "EM Microelectronic V3020"
494         help
495           If you say yes here you will get support for the
496           EM Microelectronic v3020 RTC chip.
498           This driver can also be built as a module. If so, the module
499           will be called rtc-v3020.
501 config RTC_DRV_WM8350
502         tristate "Wolfson Microelectronics WM8350 RTC"
503         depends on MFD_WM8350
504         help
505           If you say yes here you will get support for the RTC subsystem
506           of the Wolfson Microelectronics WM8350.
508           This driver can also be built as a module. If so, the module
509           will be called "rtc-wm8350".
511 config RTC_DRV_PCF50633
512         depends on MFD_PCF50633
513         tristate "NXP PCF50633 RTC"
514         help
515           If you say yes here you get support for the RTC subsystem of the
516           NXP PCF50633 used in embedded systems.
518 comment "on-CPU RTC drivers"
520 config RTC_DRV_OMAP
521         tristate "TI OMAP1"
522         depends on ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730
523         help
524           Say "yes" here to support the real time clock on TI OMAP1 chips.
525           This driver can also be built as a module called rtc-omap.
527 config RTC_DRV_S3C
528         tristate "Samsung S3C series SoC RTC"
529         depends on ARCH_S3C2410
530         help
531           RTC (Realtime Clock) driver for the clock inbuilt into the
532           Samsung S3C24XX series of SoCs. This can provide periodic
533           interrupt rates from 1Hz to 64Hz for user programs, and
534           wakeup from Alarm.
536           The driver currently supports the common features on all the
537           S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440
538           and S3C2442.
540           This driver can also be build as a module. If so, the module
541           will be called rtc-s3c.
543 config RTC_DRV_EP93XX
544         tristate "Cirrus Logic EP93XX"
545         depends on ARCH_EP93XX
546         help
547           If you say yes here you get support for the
548           RTC embedded in the Cirrus Logic EP93XX processors.
550           This driver can also be built as a module. If so, the module
551           will be called rtc-ep93xx.
553 config RTC_DRV_SA1100
554         tristate "SA11x0/PXA2xx"
555         depends on ARCH_SA1100 || ARCH_PXA
556         help
557           If you say Y here you will get access to the real time clock
558           built into your SA11x0 or PXA2xx CPU.
560           To compile this driver as a module, choose M here: the
561           module will be called rtc-sa1100.
563 config RTC_DRV_SH
564         tristate "SuperH On-Chip RTC"
565         depends on RTC_CLASS && SUPERH
566         help
567           Say Y here to enable support for the on-chip RTC found in
568           most SuperH processors.
570           To compile this driver as a module, choose M here: the
571           module will be called rtc-sh.
573 config RTC_DRV_VR41XX
574         tristate "NEC VR41XX"
575         depends on CPU_VR41XX
576         help
577           If you say Y here you will get access to the real time clock
578           built into your NEC VR41XX CPU.
580           To compile this driver as a module, choose M here: the
581           module will be called rtc-vr41xx.
583 config RTC_DRV_PL030
584         tristate "ARM AMBA PL030 RTC"
585         depends on ARM_AMBA
586         help
587           If you say Y here you will get access to ARM AMBA
588           PrimeCell PL030 RTC found on certain ARM SOCs.
590           To compile this driver as a module, choose M here: the
591           module will be called rtc-pl030.
593 config RTC_DRV_PL031
594         tristate "ARM AMBA PL031 RTC"
595         depends on ARM_AMBA
596         help
597           If you say Y here you will get access to ARM AMBA
598           PrimeCell PL031 RTC found on certain ARM SOCs.
600           To compile this driver as a module, choose M here: the
601           module will be called rtc-pl031.
603 config RTC_DRV_AT32AP700X
604         tristate "AT32AP700X series RTC"
605         depends on PLATFORM_AT32AP
606         help
607           Driver for the internal RTC (Realtime Clock) on Atmel AVR32
608           AT32AP700x family processors.
610 config RTC_DRV_AT91RM9200
611         tristate "AT91RM9200 or AT91SAM9RL"
612         depends on ARCH_AT91RM9200 || ARCH_AT91SAM9RL
613         help
614           Driver for the internal RTC (Realtime Clock) module found on
615           Atmel AT91RM9200's and AT91SAM9RL chips. On SAM9RL chips
616           this is powered by the backup power supply.
618 config RTC_DRV_AT91SAM9
619         tristate "AT91SAM9x/AT91CAP9"
620         depends on ARCH_AT91 && !(ARCH_AT91RM9200 || ARCH_AT91X40)
621         help
622           RTC driver for the Atmel AT91SAM9x and AT91CAP9 internal RTT
623           (Real Time Timer). These timers are powered by the backup power
624           supply (such as a small coin cell battery), but do not need to
625           be used as RTCs.
627           (On AT91SAM9rl chips you probably want to use the dedicated RTC
628           module and leave the RTT available for other uses.)
630 config RTC_DRV_AT91SAM9_RTT
631         int
632         range 0 1
633         default 0
634         prompt "RTT module Number" if ARCH_AT91SAM9263
635         depends on RTC_DRV_AT91SAM9
636         help
637           More than one RTT module is available. You can choose which
638           one will be used as an RTC. The default of zero is normally
639           OK to use, though some systems use that for non-RTC purposes.
641 config RTC_DRV_AT91SAM9_GPBR
642         int
643         range 0 3 if !ARCH_AT91SAM9263
644         range 0 15 if ARCH_AT91SAM9263
645         default 0
646         prompt "Backup Register Number"
647         depends on RTC_DRV_AT91SAM9
648         help
649           The RTC driver needs to use one of the General Purpose Backup
650           Registers (GPBRs) as well as the RTT. You can choose which one
651           will be used. The default of zero is normally OK to use, but
652           on some systems other software needs to use that register.
654 config RTC_DRV_AU1XXX
655         tristate "Au1xxx Counter0 RTC support"
656         depends on SOC_AU1X00
657         help
658           This is a driver for the Au1xxx on-chip Counter0 (Time-Of-Year
659           counter) to be used as a RTC.
661           This driver can also be built as a module. If so, the module
662           will be called rtc-au1xxx.
664 config RTC_DRV_BFIN
665         tristate "Blackfin On-Chip RTC"
666         depends on BLACKFIN && !BF561
667         help
668           If you say yes here you will get support for the
669           Blackfin On-Chip Real Time Clock.
671           This driver can also be built as a module. If so, the module
672           will be called rtc-bfin.
674 config RTC_DRV_RS5C313
675         tristate "Ricoh RS5C313"
676         depends on SH_LANDISK
677         help
678           If you say yes here you get support for the Ricoh RS5C313 RTC chips.
680 config RTC_DRV_PARISC
681         tristate "PA-RISC firmware RTC support"
682         depends on PARISC
683         help
684           Say Y or M here to enable RTC support on PA-RISC systems using
685           firmware calls. If you do not know what you are doing, you should
686           just say Y.
688 config RTC_DRV_PPC
689        tristate "PowerPC machine dependent RTC support"
690        depends on PPC
691        help
692          The PowerPC kernel has machine-specific functions for accessing
693          the RTC. This exposes that functionality through the generic RTC
694          class.
696 config RTC_DRV_PXA
697        tristate "PXA27x/PXA3xx"
698        depends on ARCH_PXA
699        help
700          If you say Y here you will get access to the real time clock
701          built into your PXA27x or PXA3xx CPU.
703          This RTC driver uses PXA RTC registers available since pxa27x
704          series (RDxR, RYxR) instead of legacy RCNR, RTAR.
707 config RTC_DRV_SUN4V
708         bool "SUN4V Hypervisor RTC"
709         depends on SPARC64
710         help
711           If you say Y here you will get support for the Hypervisor
712           based RTC on SUN4V systems.
714 config RTC_DRV_STARFIRE
715         bool "Starfire RTC"
716         depends on SPARC64
717         help
718           If you say Y here you will get support for the RTC found on
719           Starfire systems.
721 config RTC_DRV_TX4939
722         tristate "TX4939 SoC"
723         depends on SOC_TX4939
724         help
725           Driver for the internal RTC (Realtime Clock) module found on
726           Toshiba TX4939 SoC.
728 config RTC_DRV_MV
729         tristate "Marvell SoC RTC"
730         depends on ARCH_KIRKWOOD
731         help
732           If you say yes here you will get support for the in-chip RTC
733           that can be found in some of Marvell's SoC devices, such as
734           the Kirkwood 88F6281 and 88F6192.
736           This driver can also be built as a module. If so, the module
737           will be called rtc-mv.
739 endif # RTC_CLASS