rtc: add device driver for Dallas DS3234 SPI RTC chip
[safe/jmp/linux-2.6] / drivers / rtc / Kconfig
index 25bea05..16bc33c 100644 (file)
@@ -2,15 +2,13 @@
 # RTC class/drivers configuration
 #
 
-menu "Real Time Clock"
-       depends on !S390
-
 config RTC_LIB
        tristate
 
-config RTC_CLASS
-       tristate "RTC class"
+menuconfig RTC_CLASS
+       tristate "Real Time Clock"
        default n
+       depends on !S390
        select RTC_LIB
        help
          Generic RTC class support. If you say yes here, you will
@@ -18,7 +16,9 @@ config RTC_CLASS
          probably want to enable one or more of the interfaces below.
 
          This driver can also be built as a module. If so, the module
-         will be called rtc-class.
+         will be called rtc-core.
+
+if RTC_CLASS
 
 config RTC_HCTOSYS
        bool "Set system time from RTC on startup and resume"
@@ -36,7 +36,12 @@ config RTC_HCTOSYS_DEVICE
        help
          The RTC device that will be used to (re)initialize the system
          clock, usually rtc0.  Initialization is done when the system
-         starts up, and when it resumes from a low power state.
+         starts up, and when it resumes from a low power state.  This
+         device should record time in UTC, since the kernel won't do
+         timezone correction.
+
+         The driver for this RTC device must be loaded before late_initcall
+         functions run, so it must usually be statically linked.
 
          This clock should be battery-backed, so that it reads the correct
          time when the system boots from a power-off state.  Otherwise, your
@@ -44,7 +49,7 @@ config RTC_HCTOSYS_DEVICE
 
          If the clock you specify here is not battery backed, it may still
          be useful to reinitialize system time when resuming from system
-         sleep states.  Do not specify an RTC here unless it stays powered
+         sleep states. Do not specify an RTC here unless it stays powered
          during all this system's supported sleep states.
 
 config RTC_DEBUG
@@ -55,11 +60,10 @@ config RTC_DEBUG
          and individual RTC drivers.
 
 comment "RTC interfaces"
-       depends on RTC_CLASS
 
 config RTC_INTF_SYSFS
        boolean "/sys/class/rtc/rtcN (sysfs)"
-       depends on RTC_CLASS && SYSFS
+       depends on SYSFS
        default RTC_CLASS
        help
          Say yes here if you want to use your RTCs using sysfs interfaces,
@@ -70,7 +74,7 @@ config RTC_INTF_SYSFS
 
 config RTC_INTF_PROC
        boolean "/proc/driver/rtc (procfs for rtc0)"
-       depends on RTC_CLASS && PROC_FS
+       depends on PROC_FS
        default RTC_CLASS
        help
          Say yes here if you want to use your first RTC through the proc
@@ -82,7 +86,6 @@ config RTC_INTF_PROC
 
 config RTC_INTF_DEV
        boolean "/dev/rtcN (character devices)"
-       depends on RTC_CLASS
        default RTC_CLASS
        help
          Say yes here if you want to use your RTCs using the /dev
@@ -104,7 +107,6 @@ config RTC_INTF_DEV_UIE_EMUL
 
 config RTC_DRV_TEST
        tristate "Test driver/device"
-       depends on RTC_CLASS
        help
          If you say yes here you get support for the
          RTC test driver. It's a software RTC which can be
@@ -118,11 +120,12 @@ config RTC_DRV_TEST
          will be called rtc-test.
 
 comment "I2C RTC drivers"
-       depends on RTC_CLASS && I2C
+       depends on I2C
+
+if I2C
 
 config RTC_DRV_DS1307
        tristate "Dallas/Maxim DS1307/37/38/39/40, ST M41T00"
-       depends on RTC_CLASS && I2C
        help
          If you say yes here you get support for various compatible RTC
          chips (often with battery backup) connected with I2C.  This driver
@@ -132,15 +135,25 @@ config RTC_DRV_DS1307
 
          The first seven registers on these chips hold an RTC, and other
          registers may add features such as NVRAM, a trickle charger for
-         the RTC/NVRAM backup power, and alarms.  This driver may not
-         expose all those available chip features.
+         the RTC/NVRAM backup power, and alarms.  NVRAM is visible in
+         sysfs, but other chip features may not be available.
 
          This driver can also be built as a module. If so, the module
          will be called rtc-ds1307.
 
+config RTC_DRV_DS1374
+       tristate "Dallas/Maxim DS1374"
+       depends on RTC_CLASS && I2C
+       help
+         If you say yes here you get support for Dallas Semiconductor
+         DS1374 real-time clock chips.  If an interrupt is associated
+         with the device, the alarm functionality is supported.
+
+         This driver can also be built as a module.  If so, the module
+         will be called rtc-ds1374.
+
 config RTC_DRV_DS1672
        tristate "Dallas/Maxim DS1672"
-       depends on RTC_CLASS && I2C
        help
          If you say yes here you get support for the
          Dallas/Maxim DS1672 timekeeping chip.
@@ -149,8 +162,7 @@ config RTC_DRV_DS1672
          will be called rtc-ds1672.
 
 config RTC_DRV_MAX6900
-       tristate "Maxim 6900"
-       depends on RTC_CLASS && I2C
+       tristate "Maxim MAX6900"
        help
          If you say yes here you will get support for the
          Maxim MAX6900 I2C RTC chip.
@@ -160,7 +172,6 @@ config RTC_DRV_MAX6900
 
 config RTC_DRV_RS5C372
        tristate "Ricoh RS5C372A/B, RV5C386, RV5C387A"
-       depends on RTC_CLASS && I2C
        help
          If you say yes here you get support for the
          Ricoh RS5C372A, RS5C372B, RV5C386, and RV5C387A RTC chips.
@@ -169,18 +180,16 @@ config RTC_DRV_RS5C372
          will be called rtc-rs5c372.
 
 config RTC_DRV_ISL1208
-       tristate "Intersil 1208"
-       depends on RTC_CLASS && I2C
+       tristate "Intersil ISL1208"
        help
          If you say yes here you get support for the
-         Intersil 1208 RTC chip.
+         Intersil ISL1208 RTC chip.
 
          This driver can also be built as a module. If so, the module
          will be called rtc-isl1208.
 
 config RTC_DRV_X1205
        tristate "Xicor/Intersil X1205"
-       depends on RTC_CLASS && I2C
        help
          If you say yes here you get support for the
          Xicor/Intersil X1205 RTC chip.
@@ -190,7 +199,6 @@ config RTC_DRV_X1205
 
 config RTC_DRV_PCF8563
        tristate "Philips PCF8563/Epson RTC8564"
-       depends on RTC_CLASS && I2C
        help
          If you say yes here you get support for the
          Philips PCF8563 RTC chip. The Epson RTC8564
@@ -201,7 +209,6 @@ config RTC_DRV_PCF8563
 
 config RTC_DRV_PCF8583
        tristate "Philips PCF8583"
-       depends on RTC_CLASS && I2C
        help
          If you say yes here you get support for the Philips PCF8583
          RTC chip found on Acorn RiscPCs. This driver supports the
@@ -212,12 +219,99 @@ config RTC_DRV_PCF8583
          This driver can also be built as a module. If so, the module
          will be called rtc-pcf8583.
 
+config RTC_DRV_M41T80
+       tristate "ST M41T80/81/82/83/84/85/87"
+       help
+         If you say Y here you will get support for the
+         ST M41T80 RTC chips series. Currently following chips are
+         supported: M41T80, M41T81, M41T82, M41T83, M41ST84, M41ST85
+         and M41ST87.
+
+         This driver can also be built as a module. If so, the module
+         will be called rtc-m41t80.
+
+config RTC_DRV_M41T80_WDT
+       bool "ST M41T80 series RTC watchdog timer"
+       depends on RTC_DRV_M41T80
+       help
+         If you say Y here you will get support for the
+         watchdog timer in ST M41T80 RTC chips series.
+
+config RTC_DRV_TWL92330
+       boolean "TI TWL92330/Menelaus"
+       depends on MENELAUS
+       help
+         If you say yes here you get support for the RTC on the
+         TWL92330 "Menelaus" power management chip, used with OMAP2
+         platforms.  The support is integrated with the rest of
+         the Menelaus driver; it's not separate module.
+
+config RTC_DRV_S35390A
+       tristate "Seiko Instruments S-35390A"
+       select BITREVERSE
+       help
+         If you say yes here you will get support for the Seiko
+         Instruments S-35390A.
+
+         This driver can also be built as a module. If so the module
+         will be called rtc-s35390a.
+
+config RTC_DRV_FM3130
+       tristate "Ramtron FM3130"
+       help
+         If you say Y here you will get support for the
+         Ramtron FM3130 RTC chips.
+         Ramtron FM3130 is a chip with two separate devices inside,
+         RTC clock and FRAM. This driver provides only RTC functionality.
+
+         This driver can also be built as a module. If so the module
+         will be called rtc-fm3130.
+
+endif # I2C
+
 comment "SPI RTC drivers"
-       depends on RTC_CLASS && SPI_MASTER
+
+if SPI_MASTER
+
+config RTC_DRV_M41T94
+       tristate "ST M41T94"
+       help
+         If you say yes here you will get support for the
+         ST M41T94 SPI RTC chip.
+
+         This driver can also be built as a module. If so, the module
+         will be called rtc-m41t94.
+
+config RTC_DRV_DS1305
+       tristate "Dallas/Maxim DS1305/DS1306"
+       help
+         Select this driver to get support for the Dallas/Maxim DS1305
+         and DS1306 real time clock chips.  These support a trickle
+         charger, alarms, and NVRAM in addition to the clock.
+
+         This driver can also be built as a module. If so, the module
+         will be called rtc-ds1305.
+
+config RTC_DRV_MAX6902
+       tristate "Maxim MAX6902"
+       help
+         If you say yes here you will get support for the
+         Maxim MAX6902 SPI RTC chip.
+
+         This driver can also be built as a module. If so, the module
+         will be called rtc-max6902.
+
+config RTC_DRV_R9701
+       tristate "Epson RTC-9701JE"
+       help
+         If you say yes here you will get support for the
+         Epson RTC-9701JE SPI RTC chip.
+
+         This driver can also be built as a module. If so, the module
+         will be called rtc-r9701.
 
 config RTC_DRV_RS5C348
        tristate "Ricoh RS5C348A/B"
-       depends on RTC_CLASS && SPI_MASTER
        help
          If you say yes here you get support for the
          Ricoh RS5C348A and RS5C348B RTC chips.
@@ -225,18 +319,18 @@ config RTC_DRV_RS5C348
          This driver can also be built as a module. If so, the module
          will be called rtc-rs5c348.
 
-config RTC_DRV_MAX6902
-       tristate "Maxim 6902"
-       depends on RTC_CLASS && SPI_MASTER
+config RTC_DRV_DS3234
+       tristate "Maxim/Dallas DS3234"
        help
-         If you say yes here you will get support for the
-         Maxim MAX6902 SPI RTC chip.
+         If you say yes here you get support for the
+         Maxim/Dallas DS3234 SPI RTC chip.
 
          This driver can also be built as a module. If so, the module
-         will be called rtc-max6902.
+         will be called rtc-ds3234.
+
+endif # SPI_MASTER
 
 comment "Platform RTC drivers"
-       depends on RTC_CLASS
 
 # this 'CMOS' RTC driver is arch dependent because <asm-generic/rtc.h>
 # requires <asm/mc146818rtc.h> defining CMOS_READ/CMOS_WRITE, and a
@@ -244,8 +338,8 @@ comment "Platform RTC drivers"
 
 config RTC_DRV_CMOS
        tristate "PC-style 'CMOS'"
-       depends on RTC_CLASS && (X86 || ALPHA || ARM26 || ARM \
-               || M32R || ATARI || PPC || MIPS)
+       depends on X86 || ALPHA || ARM || M32R || ATARI || PPC || MIPS || SPARC64
+       default y if X86
        help
          Say "yes" here to get direct support for the real time clock
          found in every PC or ACPI-based system, and some other boards.
@@ -261,29 +355,63 @@ config RTC_DRV_CMOS
          This driver can also be built as a module. If so, the module
          will be called rtc-cmos.
 
-config RTC_DRV_DS1553
-       tristate "Dallas DS1553"
+config RTC_DRV_DS1216
+       tristate "Dallas DS1216"
+       depends on SNI_RM
+       help
+         If you say yes here you get support for the Dallas DS1216 RTC chips.
+
+config RTC_DRV_DS1286
+       tristate "Dallas DS1286"
+       help
+         If you say yes here you get support for the Dallas DS1286 RTC chips.
+
+config RTC_DRV_DS1302
+       tristate "Dallas DS1302"
+       depends on SH_SECUREEDGE5410
+       help
+         If you say yes here you get support for the Dallas DS1302 RTC chips.
+
+config RTC_DRV_DS1511
+       tristate "Dallas DS1511"
        depends on RTC_CLASS
        help
          If you say yes here you get support for the
-         Dallas DS1553 timekeeping chip.
+         Dallas DS1511 timekeeping/watchdog chip.
+
+         This driver can also be built as a module. If so, the module
+         will be called rtc-ds1511.
+
+config RTC_DRV_DS1553
+       tristate "Maxim/Dallas DS1553"
+       help
+         If you say yes here you get support for the
+         Maxim/Dallas DS1553 timekeeping chip.
 
          This driver can also be built as a module. If so, the module
          will be called rtc-ds1553.
 
 config RTC_DRV_DS1742
-       tristate "Dallas DS1742/1743"
-       depends on RTC_CLASS
+       tristate "Maxim/Dallas DS1742/1743"
        help
          If you say yes here you get support for the
-         Dallas DS1742/1743 timekeeping chip.
+         Maxim/Dallas DS1742/1743 timekeeping chip.
 
          This driver can also be built as a module. If so, the module
          will be called rtc-ds1742.
 
+config RTC_DRV_STK17TA8
+       tristate "Simtek STK17TA8"
+       depends on RTC_CLASS
+       help
+         If you say yes here you get support for the
+         Simtek STK17TA8 timekeeping chip.
+
+         This driver can also be built as a module. If so, the module
+         will be called rtc-stk17ta8.
+
 config RTC_DRV_M48T86
        tristate "ST M48T86/Dallas DS12887"
-       depends on RTC_CLASS
        help
          If you say Y here you will get support for the
          ST M48T86 and Dallas DS12887 RTC chips.
@@ -291,9 +419,38 @@ config RTC_DRV_M48T86
          This driver can also be built as a module. If so, the module
          will be called rtc-m48t86.
 
+config RTC_DRV_M48T35
+       tristate "ST M48T35"
+       help
+         If you say Y here you will get support for the
+         ST M48T35 RTC chip.
+
+         This driver can also be built as a module, if so, the module
+         will be called "rtc-m48t35".
+
+config RTC_DRV_M48T59
+       tristate "ST M48T59/M48T08/M48T02"
+       help
+         If you say Y here you will get support for the
+         ST M48T59 RTC chip and compatible ST M48T08 and M48T02.
+
+         These chips are usually found in Sun SPARC and UltraSPARC
+         workstations.
+
+         This driver can also be built as a module, if so, the module
+         will be called "rtc-m48t59".
+
+config RTC_DRV_BQ4802
+       tristate "TI BQ4802"
+       help
+         If you say Y here you will get support for the TI
+         BQ4802 RTC chip.
+
+         This driver can also be built as a module. If so, the module
+         will be called rtc-bq4802.
+
 config RTC_DRV_V3020
        tristate "EM Microelectronic V3020"
-       depends on RTC_CLASS
        help
          If you say yes here you will get support for the
          EM Microelectronic v3020 RTC chip.
@@ -302,19 +459,17 @@ config RTC_DRV_V3020
          will be called rtc-v3020.
 
 comment "on-CPU RTC drivers"
-       depends on RTC_CLASS
 
 config RTC_DRV_OMAP
        tristate "TI OMAP1"
-       depends on RTC_CLASS && ( \
-               ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 )
+       depends on ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730
        help
          Say "yes" here to support the real time clock on TI OMAP1 chips.
          This driver can also be built as a module called rtc-omap.
 
 config RTC_DRV_S3C
        tristate "Samsung S3C series SoC RTC"
-       depends on RTC_CLASS && ARCH_S3C2410
+       depends on ARCH_S3C2410
        help
          RTC (Realtime Clock) driver for the clock inbuilt into the
          Samsung S3C24XX series of SoCs. This can provide periodic
@@ -330,7 +485,7 @@ config RTC_DRV_S3C
 
 config RTC_DRV_EP93XX
        tristate "Cirrus Logic EP93XX"
-       depends on RTC_CLASS && ARCH_EP93XX
+       depends on ARCH_EP93XX
        help
          If you say yes here you get support for the
          RTC embedded in the Cirrus Logic EP93XX processors.
@@ -340,7 +495,7 @@ config RTC_DRV_EP93XX
 
 config RTC_DRV_SA1100
        tristate "SA11x0/PXA2xx"
-       depends on RTC_CLASS && (ARCH_SA1100 || ARCH_PXA)
+       depends on ARCH_SA1100 || ARCH_PXA
        help
          If you say Y here you will get access to the real time clock
          built into your SA11x0 or PXA2xx CPU.
@@ -360,7 +515,7 @@ config RTC_DRV_SH
 
 config RTC_DRV_VR41XX
        tristate "NEC VR41XX"
-       depends on RTC_CLASS && CPU_VR41XX
+       depends on CPU_VR41XX
        help
          If you say Y here you will get access to the real time clock
          built into your NEC VR41XX CPU.
@@ -368,9 +523,19 @@ config RTC_DRV_VR41XX
          To compile this driver as a module, choose M here: the
          module will be called rtc-vr41xx.
 
+config RTC_DRV_PL030
+       tristate "ARM AMBA PL030 RTC"
+       depends on ARM_AMBA
+       help
+         If you say Y here you will get access to ARM AMBA
+         PrimeCell PL030 RTC found on certain ARM SOCs.
+
+         To compile this driver as a module, choose M here: the
+         module will be called rtc-pl030.
+
 config RTC_DRV_PL031
        tristate "ARM AMBA PL031 RTC"
-       depends on RTC_CLASS && ARM_AMBA
+       depends on ARM_AMBA
        help
          If you say Y here you will get access to ARM AMBA
          PrimeCell PL031 RTC found on certain ARM SOCs.
@@ -380,20 +545,58 @@ config RTC_DRV_PL031
 
 config RTC_DRV_AT32AP700X
        tristate "AT32AP700X series RTC"
-       depends on RTC_CLASS && PLATFORM_AT32AP
+       depends on PLATFORM_AT32AP
        help
          Driver for the internal RTC (Realtime Clock) on Atmel AVR32
          AT32AP700x family processors.
 
 config RTC_DRV_AT91RM9200
-       tristate "AT91RM9200"
-       depends on RTC_CLASS && ARCH_AT91RM9200
-       help
-         Driver for the Atmel AT91RM9200's internal RTC (Realtime Clock).
+       tristate "AT91RM9200 or AT91SAM9RL"
+       depends on ARCH_AT91RM9200 || ARCH_AT91SAM9RL
+       help
+         Driver for the internal RTC (Realtime Clock) module found on
+         Atmel AT91RM9200's and AT91SAM9RL chips.  On SAM9RL chips
+         this is powered by the backup power supply.
+
+config RTC_DRV_AT91SAM9
+       tristate "AT91SAM9x/AT91CAP9"
+       depends on ARCH_AT91 && !(ARCH_AT91RM9200 || ARCH_AT91X40)
+       help
+         RTC driver for the Atmel AT91SAM9x and AT91CAP9 internal RTT
+         (Real Time Timer). These timers are powered by the backup power
+         supply (such as a small coin cell battery), but do not need to
+         be used as RTCs.
+
+         (On AT91SAM9rl chips you probably want to use the dedicated RTC
+         module and leave the RTT available for other uses.)
+
+config RTC_DRV_AT91SAM9_RTT
+       int
+       range 0 1
+       default 0
+       prompt "RTT module Number" if ARCH_AT91SAM9263
+       depends on RTC_DRV_AT91SAM9
+       help
+         More than one RTT module is available.  You can choose which
+         one will be used as an RTC.  The default of zero is normally
+         OK to use, though some systems use that for non-RTC purposes.
+
+config RTC_DRV_AT91SAM9_GPBR
+       int
+       range 0 3 if !ARCH_AT91SAM9263
+       range 0 15 if ARCH_AT91SAM9263
+       default 0
+       prompt "Backup Register Number"
+       depends on RTC_DRV_AT91SAM9
+       help
+         The RTC driver needs to use one of the General Purpose Backup
+         Registers (GPBRs) as well as the RTT.  You can choose which one
+         will be used.  The default of zero is normally OK to use, but
+         on some systems other software needs to use that register.
 
 config RTC_DRV_BFIN
        tristate "Blackfin On-Chip RTC"
-       depends on RTC_CLASS && BFIN
+       depends on BLACKFIN && !BF561
        help
          If you say yes here you will get support for the
          Blackfin On-Chip Real Time Clock.
@@ -403,8 +606,30 @@ config RTC_DRV_BFIN
 
 config RTC_DRV_RS5C313
        tristate "Ricoh RS5C313"
-       depends on RTC_CLASS && SH_LANDISK
+       depends on SH_LANDISK
        help
          If you say yes here you get support for the Ricoh RS5C313 RTC chips.
 
-endmenu
+config RTC_DRV_PPC
+       tristate "PowerPC machine dependent RTC support"
+       depends on PPC_MERGE
+       help
+        The PowerPC kernel has machine-specific functions for accessing
+        the RTC. This exposes that functionality through the generic RTC
+        class.
+
+config RTC_DRV_SUN4V
+       bool "SUN4V Hypervisor RTC"
+       depends on SPARC64
+       help
+         If you say Y here you will get support for the Hypervisor
+         based RTC on SUN4V systems.
+
+config RTC_DRV_STARFIRE
+       bool "Starfire RTC"
+       depends on SPARC64
+       help
+         If you say Y here you will get support for the RTC found on
+         Starfire systems.
+
+endif # RTC_CLASS