linux/drivers/rtc/Kconfig

# SPDX-License-Identifier: GPL-2.0-only
#
# RTC class/drivers configuration
#

config RTC_LIB
	bool

config RTC_MC146818_LIB
	bool
	select RTC_LIB

menuconfig RTC_CLASS
	bool "Real Time Clock"
	default n
	depends on !S390
	select RTC_LIB
	help
	  Generic RTC class support. If you say yes here, you will
	  be allowed to plug one or more RTCs to your system. You will
	  probably want to enable one or more of the interfaces below.

if RTC_CLASS

config RTC_HCTOSYS
	bool "Set system time from RTC on startup and resume"
	default y
	help
	  If you say yes here, the system time (wall clock) will be set using
	  the value read from a specified RTC device. This is useful to avoid
	  unnecessary fsck runs at boot time, and to network better.

config RTC_HCTOSYS_DEVICE
	string "RTC used to set the system time"
	depends on RTC_HCTOSYS
	default "rtc0"
	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. This
	  device should record time in UTC, since the kernel won't do
	  timezone correction.

	  This clock should be battery-backed, so that it reads the correct
	  time when the system boots from a power-off state. Otherwise, your
	  system will need an external clock source (like an NTP server).

	  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
	  during all this system's supported sleep states.

config RTC_SYSTOHC
	bool "Set the RTC time based on NTP synchronization"
	default y
	help
	  If you say yes here, the system time (wall clock) will be stored
	  in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11
	  minutes if userspace reports synchronized NTP status.

config RTC_SYSTOHC_DEVICE
	string "RTC used to synchronize NTP adjustment"
	depends on RTC_SYSTOHC
	default RTC_HCTOSYS_DEVICE if RTC_HCTOSYS
	default "rtc0"
	help
	  The RTC device used for NTP synchronization. The main difference
	  between RTC_HCTOSYS_DEVICE and RTC_SYSTOHC_DEVICE is that this
	  one can sleep when setting time, because it runs in the workqueue
	  context.

config RTC_DEBUG
	bool "RTC debug support"
	help
	  Say yes here to enable debugging support in the RTC framework
	  and individual RTC drivers.

config RTC_LIB_KUNIT_TEST
	tristate "KUnit test for RTC lib functions" if !KUNIT_ALL_TESTS
	depends on KUNIT
	default KUNIT_ALL_TESTS
	help
	  Enable this option to test RTC library functions.

	  If unsure, say N.

config RTC_NVMEM
	bool "RTC non volatile storage support"
	select NVMEM
	default RTC_CLASS
	help
	  Say yes here to add support for the non volatile (often battery
	  backed) storage present on RTCs.

comment "RTC interfaces"

config RTC_INTF_SYSFS
	bool "/sys/class/rtc/rtcN (sysfs)"
	depends on SYSFS
	default RTC_CLASS
	help
	  Say yes here if you want to use your RTCs using sysfs interfaces,
	  /sys/class/rtc/rtc0 through /sys/.../rtcN.

	  If unsure, say Y.

config RTC_INTF_PROC
	bool "/proc/driver/rtc (procfs for rtcN)"
	depends on PROC_FS
	default RTC_CLASS
	help
	  Say yes here if you want to use your system clock RTC through
	  the proc interface, /proc/driver/rtc.
	  Other RTCs will not be available through that API.
	  If there is no RTC for the system clock, then the first RTC(rtc0)
	  is used by default.

	  If unsure, say Y.

config RTC_INTF_DEV
	bool "/dev/rtcN (character devices)"
	default RTC_CLASS
	help
	  Say yes here if you want to use your RTCs using the /dev
	  interfaces, which "udev" sets up as /dev/rtc0 through
	  /dev/rtcN.

	  You may want to set up a symbolic link so one of these
	  can be accessed as /dev/rtc, which is a name
	  expected by "hwclock" and some other programs. Recent
	  versions of "udev" are known to set up the symlink for you.

	  If unsure, say Y.

config RTC_INTF_DEV_UIE_EMUL
	bool "RTC UIE emulation on dev interface"
	depends on RTC_INTF_DEV
	help
	  Provides an emulation for RTC_UIE if the underlying rtc chip
	  driver does not expose RTC_UIE ioctls. Those requests generate
	  once-per-second update interrupts, used for synchronization.

	  The emulation code will read the time from the hardware
	  clock several times per second, please enable this option
	  only if you know that you really need it.

config RTC_DRV_TEST
	tristate "Test driver/device"
	help
	  If you say yes here you get support for the
	  RTC test driver. It's a software RTC which can be
	  used to test the RTC subsystem APIs. It gets
	  the time from the system clock.
	  You want this driver only if you are doing development
	  on the RTC subsystem. Please read the source code
	  for further details.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-test.

comment "I2C RTC drivers"

if I2C

config RTC_DRV_88PM860X
	tristate "Marvell 88PM860x"
	depends on MFD_88PM860X
	help
	  If you say yes here you get support for RTC function in Marvell
	  88PM860x chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-88pm860x.

config RTC_DRV_88PM80X
	tristate "Marvell 88PM80x"
	depends on MFD_88PM800
	help
	  If you say yes here you get support for RTC function in Marvell
	  88PM80x chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-88pm80x.

config RTC_DRV_ABB5ZES3
	select REGMAP_I2C
	tristate "Abracon AB-RTCMC-32.768kHz-B5ZE-S3"
	help
	  If you say yes here you get support for the Abracon
	  AB-RTCMC-32.768kHz-B5ZE-S3 I2C RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ab-b5ze-s3.

config RTC_DRV_ABEOZ9
	select REGMAP_I2C
	tristate "Abracon AB-RTCMC-32.768kHz-EOZ9"
	help
	  If you say yes here you get support for the Abracon
	  AB-RTCMC-32.768kHz-EOA9 I2C RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ab-e0z9.

config RTC_DRV_ABX80X
	tristate "Abracon ABx80x"
	select WATCHDOG_CORE if WATCHDOG
	help
	  If you say yes here you get support for Abracon AB080X and AB180X
	  families of ultra-low-power  battery- and capacitor-backed real-time
	  clock chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-abx80x.

config RTC_DRV_AC100
	tristate "X-Powers AC100"
	depends on MFD_AC100
	help
	  If you say yes here you get support for the real-time clock found
	  in X-Powers AC100 family peripheral ICs.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ac100.

config RTC_DRV_BRCMSTB
	tristate "Broadcom STB wake-timer"
	depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
	default ARCH_BRCMSTB || BMIPS_GENERIC
	help
	  If you say yes here you get support for the wake-timer found on
	  Broadcom STB SoCs (BCM7xxx).

	  This driver can also be built as a module. If so, the module will
	  be called rtc-brcmstb-waketimer.

config RTC_DRV_AS3722
	tristate "ams AS3722 RTC driver"
	depends on MFD_AS3722
	help
	  If you say yes here you get support for the RTC of ams AS3722 PMIC
	  chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-as3722.

config RTC_DRV_DS1307
	tristate "Dallas/Maxim DS1307/37/38/39/40/41, ST M41T00, EPSON RX-8025, ISL12057"
	select REGMAP_I2C
	select WATCHDOG_CORE if WATCHDOG
	help
	  If you say yes here you get support for various compatible RTC
	  chips (often with battery backup) connected with I2C. This driver
	  should handle DS1307, DS1337, DS1338, DS1339, DS1340, DS1341,
	  ST M41T00, EPSON RX-8025, Intersil ISL12057 and probably other chips.
	  In some cases the RTC must already have been initialized (by
	  manufacturing or a bootloader).

	  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. 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_DS1307_CENTURY
	bool "Century bit support for rtc-ds1307"
	depends on RTC_DRV_DS1307
	default n
	help
	  The DS1307 driver suffered from a bug where it was enabling the
	  century bit inconditionnally but never used it when reading the time.
	  It made the driver unable to support dates beyond 2099.
	  Setting this option will add proper support for the century bit but if
	  the time was previously set using a kernel predating this option,
	  reading the date will return a date in the next century.
	  To solve that, you could boot a kernel without this option set, set
	  the RTC date and then boot a kernel with this option set.

config RTC_DRV_DS1374
	tristate "Dallas/Maxim DS1374"
	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_DS1374_WDT
	bool "Dallas/Maxim DS1374 watchdog timer"
	depends on RTC_DRV_DS1374 && WATCHDOG
	select WATCHDOG_CORE
	help
	  If you say Y here you will get support for the
	  watchdog timer in the Dallas Semiconductor DS1374
	  real-time clock chips.

config RTC_DRV_DS1672
	tristate "Dallas/Maxim DS1672"
	help
	  If you say yes here you get support for the
	  Dallas/Maxim DS1672 timekeeping chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds1672.

config RTC_DRV_HYM8563
	tristate "Haoyu Microelectronics HYM8563"
	depends on OF
	help
	  Say Y to enable support for the HYM8563 I2C RTC chip. Apart
	  from the usual rtc functions it provides a clock output of
	  up to 32kHz.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-hym8563.

config RTC_DRV_LP8788
	tristate "TI LP8788 RTC driver"
	depends on MFD_LP8788
	help
	  Say Y to enable support for the LP8788 RTC/ALARM driver.

config RTC_DRV_MAX6900
	tristate "Maxim MAX6900"
	help
	  If you say yes here you will get support for the
	  Maxim MAX6900 I2C RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-max6900.

config RTC_DRV_MAX8907
	tristate "Maxim MAX8907"
	depends on MFD_MAX8907 || COMPILE_TEST
	select REGMAP_IRQ
	help
	  If you say yes here you will get support for the
	  RTC of Maxim MAX8907 PMIC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-max8907.

config RTC_DRV_MAX8925
	tristate "Maxim MAX8925"
	depends on MFD_MAX8925
	help
	  If you say yes here you will get support for the
	  RTC of Maxim MAX8925 PMIC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-max8925.

config RTC_DRV_MAX8998
	tristate "Maxim MAX8998"
	depends on MFD_MAX8998
	help
	  If you say yes here you will get support for the
	  RTC of Maxim MAX8998 PMIC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-max8998.

config RTC_DRV_MAX8997
	tristate "Maxim MAX8997"
	depends on MFD_MAX8997
	help
	  If you say yes here you will get support for the
	  RTC of Maxim MAX8997 PMIC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-max8997.

config RTC_DRV_MAX31335
	tristate "Analog Devices MAX31335"
	depends on I2C
	depends on COMMON_CLK
	depends on HWMON || HWMON=n
	select REGMAP_I2C
	help
	  If you say yes here you get support for the Analog Devices
	  MAX31335.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-max31335.

config RTC_DRV_MAX77686
	tristate "Maxim MAX77686"
	depends on MFD_MAX77686 || MFD_MAX77620 || MFD_MAX77714 || COMPILE_TEST
	help
	  If you say yes here you will get support for the
	  RTC of Maxim MAX77686/MAX77620/MAX77802 PMIC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-max77686.

config RTC_DRV_NCT3018Y
	tristate "Nuvoton NCT3018Y"
	depends on OF
	help
	   If you say yes here you get support for the Nuvoton NCT3018Y I2C RTC
	   chip.

	   This driver can also be built as a module, if so, the module will be
	   called "rtc-nct3018y".

config RTC_DRV_RK808
	tristate "Rockchip RK805/RK808/RK809/RK817/RK818 RTC"
	depends on MFD_RK8XX
	help
	  If you say yes here you will get support for the
	  RTC of RK805, RK809 and RK817, RK808 and RK818 PMIC.

	  This driver can also be built as a module. If so, the module
	  will be called rk808-rtc.

config RTC_DRV_RS5C372
	tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A"
	help
	  If you say yes here you get support for the
	  Ricoh R2025S/D, RS5C372A, RS5C372B, RV5C386, and RV5C387A RTC chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rs5c372.

config RTC_DRV_ISL1208
	tristate "Intersil ISL1208"
	help
	  If you say yes here you get support for the
	  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_ISL12022
	tristate "Intersil ISL12022"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the
	  Intersil ISL12022 RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-isl12022.

config RTC_DRV_ISL12026
	tristate "Intersil ISL12026"
	depends on OF
	help
	  If you say yes here you get support for the
	  Intersil ISL12026 RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-isl12026.

config RTC_DRV_X1205
	tristate "Xicor/Intersil X1205"
	help
	  If you say yes here you get support for the
	  Xicor/Intersil X1205 RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-x1205.

config RTC_DRV_PCF8523
	tristate "NXP PCF8523"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the NXP PCF8523 RTC
	  chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-pcf8523.

config RTC_DRV_PCF85063
	tristate "NXP PCF85063"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the PCF85063 RTC chip

	  This driver can also be built as a module. If so, the module
	  will be called rtc-pcf85063.

config RTC_DRV_PCF85363
	tristate "NXP PCF85363"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the PCF85363 RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-pcf85363.

	  The nvmem interface will be named pcf85363-#, where # is the
	  zero-based instance number.

config RTC_DRV_PCF8563
	tristate "Philips PCF8563/Epson RTC8564"
	help
	  If you say yes here you get support for the
	  Philips PCF8563 RTC chip. The Epson RTC8564
	  should work as well.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-pcf8563.

config RTC_DRV_PCF8583
	tristate "Philips PCF8583"
	help
	  If you say yes here you get support for the Philips PCF8583
	  RTC chip found on Acorn RiscPCs. This driver supports the
	  platform specific method of retrieving the current year from
	  the RTC's SRAM. It will work on other platforms with the same
	  chip, but the year will probably have to be tweaked.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-pcf8583.

config RTC_DRV_M41T80
	tristate "ST M41T62/65/M41T80/81/82/83/84/85/87 and compatible"
	help
	  If you say Y here you will get support for the ST M41T60
	  and M41T80 RTC chips series. Currently, the following chips are
	  supported: M41T62, M41T65, M41T80, M41T81, M41T82, M41T83, M41ST84,
	  M41ST85, M41ST87, and MicroCrystal RV4162.

	  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 M41T65/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 the ST M41T60 and M41T80 RTC chips series.

config RTC_DRV_BD70528
	tristate "ROHM BD71815 and BD71828 PMIC RTC"
	depends on MFD_ROHM_BD71828
	help
	  If you say Y here you will get support for the RTC
	  block on ROHM BD71815 and BD71828 Power Management IC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-bd70528.

config RTC_DRV_BQ32K
	tristate "TI BQ32000"
	help
	  If you say Y here you will get support for the TI
	  BQ32000 I2C RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-bq32k.

config RTC_DRV_TWL92330
	bool "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_TWL4030
	tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0"
	depends on TWL4030_CORE
	depends on OF
	help
	  If you say yes here you get support for the RTC on the
	  TWL4030/TWL5030/TWL6030 family chips, used mostly with OMAP3 platforms.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-twl.

config RTC_DRV_PALMAS
	tristate "TI Palmas RTC driver"
	depends on MFD_PALMAS
	help
	  If you say yes here you get support for the RTC of TI PALMA series PMIC
	  chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-palma.

config RTC_DRV_TPS6586X
	tristate "TI TPS6586X RTC driver"
	depends on MFD_TPS6586X
	help
	  TI Power Management IC TPS6586X supports RTC functionality
	  along with alarm. This driver supports the RTC driver for
	  the TPS6586X RTC module.

config RTC_DRV_TPS6594
	tristate "TI TPS6594 RTC driver"
	depends on MFD_TPS6594
	default MFD_TPS6594
	help
	  TI Power Management IC TPS6594 supports RTC functionality
	  along with alarm. This driver supports the RTC driver for
	  the TPS6594 RTC module.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-tps6594.

config RTC_DRV_TPS65910
	tristate "TI TPS65910 RTC driver"
	depends on MFD_TPS65910
	help
	  If you say yes here you get support for the RTC on the
	  TPS65910 chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-tps65910.

config RTC_DRV_RC5T583
	tristate "RICOH 5T583 RTC driver"
	depends on MFD_RC5T583
	help
	  If you say yes here you get support for the RTC on the
	  RICOH 5T583 chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rc5t583.

config RTC_DRV_RC5T619
	tristate "RICOH RC5T619 RTC driver"
	depends on MFD_RN5T618
	help
	  If you say yes here you get support for the RTC on the
	  RICOH RC5T619 chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rc5t619.

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.

config RTC_DRV_RX8010
	tristate "Epson RX8010SJ"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the Epson RX8010SJ RTC
	  chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rx8010.

config RTC_DRV_RX8111
	tristate "Epson RX8111"
	select REGMAP_I2C
	depends on I2C
	help
	  If you say yes here you will get support for the Epson RX8111 RTC.

	  This driver can also be built as a module. If so, the module will be
	  called rtc-rx8111.

config RTC_DRV_RX8581
	tristate "Epson RX-8571/RX-8581"
	select REGMAP_I2C
	help
	  If you say yes here you will get support for the Epson RX-8571/
	  RX-8581.

	  This driver can also be built as a module. If so the module
	  will be called rtc-rx8581.

config RTC_DRV_RX8025
	tristate "Epson RX-8025SA/NB"
	help
	  If you say yes here you get support for the Epson
	  RX-8025SA/NB RTC chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rx8025.

config RTC_DRV_EM3027
	tristate "EM Microelectronic EM3027"
	help
	  If you say yes here you get support for the EM
	  Microelectronic EM3027 RTC chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-em3027.

config RTC_DRV_RV3028
	tristate "Micro Crystal RV3028"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the Micro Crystal
	  RV3028.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rv3028.

config RTC_DRV_RV3032
	tristate "Micro Crystal RV3032"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the Micro Crystal
	  RV3032.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rv3032.

config RTC_DRV_RV8803
	tristate "Micro Crystal RV8803, Epson RX8900"
	help
	  If you say yes here you get support for the Micro Crystal RV8803 and
	  Epson RX8900 RTC chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rv8803.

config RTC_DRV_S5M
	tristate "Samsung S2M/S5M series"
	depends on MFD_SEC_CORE || COMPILE_TEST
	select REGMAP_IRQ
	select REGMAP_I2C
	help
	  If you say yes here you will get support for the
	  RTC of Samsung S2MPS14 and S5M PMIC series.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-s5m.

config RTC_DRV_SD2405AL
	tristate "DFRobot SD2405AL"
	select REGMAP_I2C
	help
	  If you say yes here you will get support for the
	  DFRobot SD2405AL I2C RTC Module.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-sd2405al.

config RTC_DRV_SD3078
	tristate "ZXW Shenzhen whwave SD3078"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the ZXW Shenzhen whwave
	  SD3078 RTC chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-sd3078

endif # I2C

comment "SPI RTC drivers"

if SPI_MASTER

config RTC_DRV_M41T93
	tristate "ST M41T93"
	help
	  If you say yes here you will get support for the
	  ST M41T93 SPI RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-m41t93.

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_DS1302
	tristate "Dallas/Maxim DS1302"
	depends on SPI
	help
	  If you say yes here you get support for the Dallas DS1302 RTC chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds1302.

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_DS1343
	select REGMAP_SPI
	tristate "Dallas/Maxim DS1343/DS1344"
	help
	  If you say yes here you get support for the
	  Dallas/Maxim DS1343 and DS1344 real time clock chips.
	  Support for trickle charger, alarm is provided.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds1343.

config RTC_DRV_DS1347
	select REGMAP_SPI
	tristate "Dallas/Maxim DS1347"
	help
	  If you say yes here you get support for the
	  Dallas/Maxim DS1347 chips.

	  This driver only supports the RTC feature, and not other chip
	  features such as alarms.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds1347.

config RTC_DRV_DS1390
	tristate "Dallas/Maxim DS1390/93/94"
	help
	  If you say yes here you get support for the
	  Dallas/Maxim DS1390/93/94 chips.

	  This driver supports the RTC feature and trickle charging but not
	  other chip features such as alarms.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds1390.

config RTC_DRV_MAX6916
	tristate "Maxim MAX6916"
	help
	  If you say yes here you will get support for the
	  Maxim MAX6916 SPI RTC chip.

	  This driver only supports the RTC feature, and not other chip
	  features such as alarms.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-max6916.

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_RX4581
	tristate "Epson RX-4581"
	help
	  If you say yes here you will get support for the Epson RX-4581.

	  This driver can also be built as a module. If so the module
	  will be called rtc-rx4581.

config RTC_DRV_RS5C348
	tristate "Ricoh RS5C348A/B"
	help
	  If you say yes here you get support for the
	  Ricoh RS5C348A and RS5C348B RTC chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rs5c348.

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_PCF2123
	tristate "NXP PCF2123"
	select REGMAP_SPI
	help
	  If you say yes here you get support for the NXP PCF2123
	  RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-pcf2123.

config RTC_DRV_MCP795
	tristate "Microchip MCP795"
	help
	  If you say yes here you will get support for the Microchip MCP795.

	  This driver can also be built as a module. If so the module
	  will be called rtc-mcp795.

endif # SPI_MASTER

#
# Helper to resolve issues with configs that have SPI enabled but I2C
# modular.  See SND_SOC_I2C_AND_SPI for more information
#
config RTC_I2C_AND_SPI
	tristate
	default m if I2C=m
	default y if I2C=y
	default y if SPI_MASTER=y

comment "SPI and I2C RTC drivers"

config RTC_DRV_DS3232
	tristate "Dallas/Maxim DS3232/DS3234"
	depends on RTC_I2C_AND_SPI
	select REGMAP_I2C if I2C
	select REGMAP_SPI if SPI_MASTER
	help
	  If you say yes here you get support for Dallas Semiconductor
	  DS3232 and DS3234 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-ds3232.

config RTC_DRV_DS3232_HWMON
	bool "HWMON support for Dallas/Maxim DS3232/DS3234"
	depends on RTC_DRV_DS3232 && HWMON && !(RTC_DRV_DS3232=y && HWMON=m)
	default y
	help
	  Say Y here if you want to expose temperature sensor data on
	  rtc-ds3232

config RTC_DRV_PCF2127
	tristate "NXP PCF2127"
	depends on RTC_I2C_AND_SPI
	select REGMAP_I2C if I2C
	select REGMAP_SPI if SPI_MASTER
	select WATCHDOG_CORE if WATCHDOG
	help
	  If you say yes here you get support for the NXP PCF2127/29/31 RTC
	  chips with integrated quartz crystal for industrial applications.
	  These chips also have watchdog timer and tamper switch detection
	  features.

	  PCF2127 has an additional feature of 512 bytes battery backed
	  memory that's accessible using nvmem interface.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-pcf2127.

config RTC_DRV_RV3029C2
	tristate "Micro Crystal RV3029/3049"
	depends on RTC_I2C_AND_SPI
	select REGMAP_I2C if I2C
	select REGMAP_SPI if SPI_MASTER
	help
	  If you say yes here you get support for the Micro Crystal
	  RV3029 and RV3049 RTC chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rv3029c2.

config RTC_DRV_RV3029_HWMON
	bool "HWMON support for RV3029/3049"
	depends on RTC_DRV_RV3029C2 && HWMON
	depends on !(RTC_DRV_RV3029C2=y && HWMON=m)
	default y
	help
	  Say Y here if you want to expose temperature sensor data on
	  rtc-rv3029.

config RTC_DRV_RX6110
	tristate "Epson RX-6110"
	depends on RTC_I2C_AND_SPI
	select REGMAP_SPI if SPI_MASTER
	select REGMAP_I2C if I2C
	help
	  If you say yes here you will get support for the Epson RX-6110.

	  This driver can also be built as a module. If so the module
	  will be called rtc-rx6110.

comment "Platform RTC drivers"

# this 'CMOS' RTC driver is arch dependent because it requires
# <asm/mc146818rtc.h> defining CMOS_READ/CMOS_WRITE, and a
# global rtc_lock ... it's not yet just another platform_device.

config RTC_DRV_CMOS
	tristate "PC-style 'CMOS'"
	depends on X86 || ARM || PPC || MIPS || SPARC64
	depends on HAS_IOPORT || MACH_DECSTATION
	default y if X86
	select RTC_MC146818_LIB
	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.
	  Specifically the original MC146818, compatibles like those in
	  PC south bridges, the DS12887 or M48T86, some multifunction
	  or LPC bus chips, and so on.

	  Your system will need to define the platform device used by
	  this driver, otherwise it won't be accessible. This means
	  you can safely enable this driver if you don't know whether
	  or not your board has this kind of hardware.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-cmos.

config RTC_DRV_ALPHA
	bool "Alpha PC-style CMOS"
	depends on ALPHA
	depends on HAS_IOPORT
	select RTC_MC146818_LIB
	default y
	help
	  Direct support for the real-time clock found on every Alpha
	  system, specifically MC146818 compatibles.  If in doubt, say Y.

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"
	depends on HAS_IOMEM
	help
	  If you say yes here you get support for the Dallas DS1286 RTC chips.

config RTC_DRV_DS1511
	tristate "Dallas DS1511"
	depends on HAS_IOMEM
	help
	  If you say yes here you get support for the
	  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"
	depends on HAS_IOMEM
	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_DS1685_FAMILY
	tristate "Dallas/Maxim DS1685 Family"
	depends on HAS_IOMEM
	help
	  If you say yes here you get support for the Dallas/Maxim DS1685
	  family of real time chips.  This family includes the DS1685/DS1687,
	  DS1689/DS1693, DS17285/DS17287, DS17485/DS17487, and
	  DS17885/DS17887 chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds1685.

choice
	prompt "Subtype"
	depends on RTC_DRV_DS1685_FAMILY
	default RTC_DRV_DS1685

config RTC_DRV_DS1685
	bool "DS1685/DS1687"
	help
	  This enables support for the Dallas/Maxim DS1685/DS1687 real time
	  clock chip.

	  This chip is commonly found in SGI O2 (IP32) and SGI Octane (IP30)
	  systems, as well as EPPC-405-UC modules by electronic system design
	  GmbH.

config RTC_DRV_DS1689
	bool "DS1689/DS1693"
	help
	  This enables support for the Dallas/Maxim DS1689/DS1693 real time
	  clock chip.

	  This is an older RTC chip, supplanted by the DS1685/DS1687 above,
	  which supports a few minor features such as Vcc, Vbat, and Power
	  Cycle counters, plus a customer-specific, 8-byte ROM/Serial number.

	  It also works for the even older DS1688/DS1691 RTC chips, which are
	  virtually the same and carry the same model number.  Both chips
	  have 114 bytes of user NVRAM.

config RTC_DRV_DS17285
	bool "DS17285/DS17287"
	help
	  This enables support for the Dallas/Maxim DS17285/DS17287 real time
	  clock chip.

	  This chip features 2kb of extended NV-SRAM.  It may possibly be
	  found in some SGI O2 systems (rare).

config RTC_DRV_DS17485
	bool "DS17485/DS17487"
	help
	  This enables support for the Dallas/Maxim DS17485/DS17487 real time
	  clock chip.

	  This chip features 4kb of extended NV-SRAM.

config RTC_DRV_DS17885
	bool "DS17885/DS17887"
	help
	  This enables support for the Dallas/Maxim DS17885/DS17887 real time
	  clock chip.

	  This chip features 8kb of extended NV-SRAM.

endchoice

config RTC_DRV_DS1742
	tristate "Maxim/Dallas DS1742/1743"
	depends on HAS_IOMEM
	help
	  If you say yes here you get support for the
	  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_DS2404
	tristate "Maxim/Dallas DS2404"
	help
	  If you say yes here you get support for the
	  Dallas DS2404 RTC chip.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds2404.

config RTC_DRV_DA9052
	tristate "Dialog DA9052/DA9053 RTC"
	depends on PMIC_DA9052
	help
	  Say y here to support the RTC driver for Dialog Semiconductor
	  DA9052-BC and DA9053-AA/Bx PMICs.

config RTC_DRV_DA9055
	tristate "Dialog Semiconductor DA9055 RTC"
	depends on MFD_DA9055
	help
	  If you say yes here you will get support for the
	  RTC of the Dialog DA9055 PMIC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-da9055

config RTC_DRV_DA9063
	tristate "Dialog Semiconductor DA9063/DA9062 RTC"
	depends on MFD_DA9063 || MFD_DA9062
	help
	  If you say yes here you will get support for the RTC subsystem
	  for the Dialog Semiconductor PMIC chips DA9063 and DA9062.

	  This driver can also be built as a module. If so, the module
	  will be called "rtc-da9063".

config RTC_DRV_EFI
	tristate "EFI RTC"
	depends on EFI && !X86
	help
	  If you say yes here you will get support for the EFI
	  Real Time Clock.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-efi.

config RTC_DRV_STK17TA8
	tristate "Simtek STK17TA8"
	depends on HAS_IOMEM
	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 HAS_IOMEM
	help
	  If you say Y here you will get support for the
	  ST M48T86 and Dallas DS12887 RTC chips.

	  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"
	depends on HAS_IOMEM
	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"
	depends on HAS_IOMEM
	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_MSM6242
	tristate "Oki MSM6242"
	depends on HAS_IOMEM
	help
	  If you say yes here you get support for the Oki MSM6242
	  timekeeping chip. It is used in some Amiga models (e.g. A2000).

	  This driver can also be built as a module. If so, the module
	  will be called rtc-msm6242.

config RTC_DRV_BQ4802
	tristate "TI BQ4802"
	depends on HAS_IOMEM && HAS_IOPORT
	depends on SPARC || COMPILE_TEST
	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_RP5C01
	tristate "Ricoh RP5C01"
	depends on HAS_IOMEM
	help
	  If you say yes here you get support for the Ricoh RP5C01
	  timekeeping chip. It is used in some Amiga models (e.g. A3000
	  and A4000).

	  This driver can also be built as a module. If so, the module
	  will be called rtc-rp5c01.

config RTC_DRV_GAMECUBE
	tristate "Nintendo GameCube, Wii and Wii U RTC"
	depends on GAMECUBE || WII || COMPILE_TEST
	select REGMAP
	help
	  If you say yes here you will get support for the RTC subsystem
	  of the Nintendo GameCube, Wii and Wii U.

	  This driver can also be built as a module. If so, the module
	  will be called "rtc-gamecube".

config RTC_DRV_WM831X
	tristate "Wolfson Microelectronics WM831x RTC"
	depends on MFD_WM831X
	help
	  If you say yes here you will get support for the RTC subsystem
	  of the Wolfson Microelectronics WM831X series PMICs.

	  This driver can also be built as a module. If so, the module
	  will be called "rtc-wm831x".

config RTC_DRV_WM8350
	tristate "Wolfson Microelectronics WM8350 RTC"
	depends on MFD_WM8350
	help
	  If you say yes here you will get support for the RTC subsystem
	  of the Wolfson Microelectronics WM8350.

	  This driver can also be built as a module. If so, the module
	  will be called "rtc-wm8350".

config RTC_DRV_SC27XX
	tristate "Spreadtrum SC27xx RTC"
	depends on MFD_SC27XX_PMIC || COMPILE_TEST
	help
	  If you say Y here you will get support for the RTC subsystem
	  of the Spreadtrum SC27xx series PMICs. The SC27xx series PMICs
	  includes the SC2720, SC2721, SC2723, SC2730 and SC2731 chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-sc27xx.

config RTC_DRV_SPEAR
	tristate "SPEAR ST RTC"
	depends on PLAT_SPEAR || COMPILE_TEST
	default y
	help
	 If you say Y here you will get support for the RTC found on
	 spear

config RTC_DRV_PCF50633
	depends on MFD_PCF50633
	tristate "NXP PCF50633 RTC"
	help
	  If you say yes here you get support for the RTC subsystem of the
	  NXP PCF50633 used in embedded systems.

config RTC_DRV_AB8500
	tristate "ST-Ericsson AB8500 RTC"
	depends on AB8500_CORE
	select RTC_INTF_DEV
	select RTC_INTF_DEV_UIE_EMUL
	help
	  Select this to enable the ST-Ericsson AB8500 power management IC RTC
	  support. This chip contains a battery- and capacitor-backed RTC.

config RTC_DRV_OPAL
	tristate "IBM OPAL RTC driver"
	depends on PPC_POWERNV
	default y
	help
	  If you say yes here you get support for the PowerNV platform RTC
	  driver based on OPAL interfaces.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-opal.

config RTC_DRV_OPTEE
	tristate "OP-TEE based RTC driver"
	depends on OPTEE
	help
	  Select this to get support for OP-TEE based RTC control on SoCs where
	  RTC are not accessible to the normal world (Linux).

	  This driver can also be built as a module. If so, the module
	  will be called rtc-optee.

config RTC_DRV_ZYNQMP
	tristate "Xilinx Zynq Ultrascale+ MPSoC RTC"
	depends on OF && HAS_IOMEM
	help
	  If you say yes here you get support for the RTC controller found on
	  Xilinx Zynq Ultrascale+ MPSoC.

config RTC_DRV_CROS_EC
	tristate "Chrome OS EC RTC driver"
	depends on CROS_EC
	help
	  If you say yes here you will get support for the
	  Chrome OS Embedded Controller's RTC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-cros-ec.

config RTC_DRV_NTXEC
	tristate "Netronix embedded controller RTC"
	depends on MFD_NTXEC
	help
	  Say yes here if you want to support the RTC functionality of the
	  embedded controller found in certain e-book readers designed by the
	  original design manufacturer Netronix.

comment "on-CPU RTC drivers"

config RTC_DRV_ASM9260
	tristate "Alphascale asm9260 RTC"
	depends on MACH_ASM9260 || COMPILE_TEST
	help
	  If you say yes here you get support for the RTC on the
	  Alphascale asm9260 SoC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-asm9260.

config RTC_DRV_DIGICOLOR
	tristate "Conexant Digicolor RTC"
	depends on ARCH_DIGICOLOR || COMPILE_TEST
	help
	  If you say yes here you get support for the RTC on Conexant
	  Digicolor platforms. This currently includes the CX92755 SoC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-digicolor.

config RTC_DRV_IMXDI
	tristate "Freescale IMX DryIce Real Time Clock"
	depends on ARCH_MXC || COMPILE_TEST
	depends on OF
	help
	   Support for Freescale IMX DryIce RTC

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-imxdi".

config RTC_DRV_FSL_FTM_ALARM
	tristate "Freescale FlexTimer alarm timer"
	depends on ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
	help
	   For the FlexTimer in LS1012A, LS1021A, LS1028A, LS1043A, LS1046A,
	   LS1088A, LS208xA, we can use FTM as the wakeup source.

	   Say y here to enable FTM alarm support. The FTM alarm provides
	   alarm functions for wakeup system from deep sleep.

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-fsl-ftm-alarm".

config RTC_DRV_MESON
	tristate "Amlogic Meson RTC"
	depends on (ARM && ARCH_MESON) || COMPILE_TEST
	select REGMAP_MMIO
	help
	   Support for the RTC block on the Amlogic Meson6, Meson8, Meson8b
	   and Meson8m2 SoCs.

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-meson".

config RTC_DRV_MESON_VRTC
	tristate "Amlogic Meson Virtual RTC"
	depends on ARCH_MESON || COMPILE_TEST
	default m if ARCH_MESON
	help
	  If you say yes here you will get support for the
	  Virtual RTC of Amlogic SoCs.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-meson-vrtc.

config RTC_DRV_OMAP
	tristate "TI OMAP Real Time Clock"
	depends on ARCH_OMAP || ARCH_DAVINCI || COMPILE_TEST
	depends on OF
	depends on PINCTRL
	select GENERIC_PINCONF
	help
	  Say "yes" here to support the on chip real time clock
	  present on TI OMAP1, AM33xx, DA8xx/OMAP-L13x, AM43xx and DRA7xx.

	  This driver can also be built as a module, if so, module
	  will be called rtc-omap.

config RTC_DRV_S3C
	tristate "Samsung S3C series SoC RTC"
	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || \
		   COMPILE_TEST
	help
	  RTC (Realtime Clock) driver for the clock inbuilt into the
	  Samsung S3C64XX series of SoCs. This can provide periodic
	  interrupt rates from 1Hz to 64Hz for user programs, and
	  wakeup from Alarm.

	  This driver can also be build as a module. If so, the module
	  will be called rtc-s3c.

config RTC_DRV_EP93XX
	tristate "Cirrus Logic EP93XX"
	depends on ARCH_EP93XX || COMPILE_TEST
	help
	  If you say yes here you get support for the
	  RTC embedded in the Cirrus Logic EP93XX processors.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ep93xx.

config RTC_DRV_SA1100
	tristate "SA11x0/PXA2xx/PXA910"
	depends on ARCH_SA1100 || ARCH_PXA || ARCH_MMP
	help
	  If you say Y here you will get access to the real time clock
	  built into your SA11x0 or PXA2xx CPU.

	  To compile this driver as a module, choose M here: the
	  module will be called rtc-sa1100.

config RTC_DRV_SH
	tristate "SuperH On-Chip RTC"
	depends on SUPERH || ARCH_RENESAS
	help
	  Say Y here to enable support for the on-chip RTC found in
	  most SuperH processors. This RTC is also found in RZ/A SoCs.

	  To compile this driver as a module, choose M here: the
	  module will be called rtc-sh.

config RTC_DRV_SUNPLUS
	tristate "Sunplus SP7021 RTC"
	depends on SOC_SP7021
	help
	  Say 'yes' to get support for the real-time clock present in
	  Sunplus SP7021 - a SoC for industrial applications. It provides
	  RTC status check, timer/alarm functionalities, user data
	  reservation with the battery over 2.5V, RTC power status check
	  and battery charge.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-sunplus.

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 ARM_AMBA
	help
	  If you say Y here you will get access to ARM AMBA
	  PrimeCell PL031 RTC found on certain ARM SOCs.

	  To compile this driver as a module, choose M here: the
	  module will be called rtc-pl031.

config RTC_DRV_AT91RM9200
	tristate "AT91RM9200 or some AT91SAM9 RTC"
	depends on ARCH_AT91 || COMPILE_TEST
	depends on OF
	help
	  Driver for the internal RTC (Realtime Clock) module found on
	  Atmel AT91RM9200's and some  AT91SAM9 chips. On AT91SAM9 chips
	  this is powered by the backup power supply.

config RTC_DRV_AT91SAM9
	tristate "AT91SAM9 RTT as RTC"
	depends on ARCH_AT91 || COMPILE_TEST
	depends on OF && HAS_IOMEM
	select MFD_SYSCON
	help
	  Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
	  can be used as an RTC thanks to the backup power supply (e.g. a
	  small coin cell battery) which keeps this block and the GPBR
	  (General Purpose Backup Registers) block powered when the device
	  is shutdown.
	  Some AT91SAM9 SoCs provide a real RTC block, on those ones you'd
	  probably want to use the real RTC block instead of the "RTT as an
	  RTC" driver.

config RTC_DRV_AU1XXX
	tristate "Au1xxx Counter0 RTC support"
	depends on MIPS_ALCHEMY
	help
	  This is a driver for the Au1xxx on-chip Counter0 (Time-Of-Year
	  counter) to be used as a RTC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-au1xxx.

config RTC_DRV_RS5C313
	tristate "Ricoh RS5C313"
	depends on SH_LANDISK
	help
	  If you say yes here you get support for the Ricoh RS5C313 RTC chips.

config RTC_DRV_RZN1
	tristate "Renesas RZ/N1 RTC"
	depends on ARCH_RZN1 || COMPILE_TEST
	depends on OF && HAS_IOMEM
	help
	  If you say yes here you get support for the Renesas RZ/N1 RTC.

config RTC_DRV_GENERIC
	tristate "Generic RTC support"
	# Please consider writing a new RTC driver instead of using the generic
	# RTC abstraction
	depends on PARISC || M68K || PPC || SUPERH || COMPILE_TEST
	help
	  Say Y or M here to enable RTC support on systems using the generic
	  RTC abstraction. If you do not know what you are doing, you should
	  just say Y.

config RTC_DRV_PXA
	tristate "PXA27x/PXA3xx"
	depends on ARCH_PXA
	select RTC_DRV_SA1100
	help
	 If you say Y here you will get access to the real time clock
	 built into your PXA27x or PXA3xx CPU. This RTC is actually 2 RTCs
	 consisting of an SA1100 compatible RTC and the extended PXA RTC.

	 This RTC driver uses PXA RTC registers available since pxa27x
	 series (RDxR, RYxR) instead of legacy RCNR, RTAR.

config RTC_DRV_VT8500
	tristate "VIA/WonderMedia 85xx SoC RTC"
	depends on ARCH_VT8500 || COMPILE_TEST
	help
	  If you say Y here you will get access to the real time clock
	  built into your VIA VT8500 SoC or its relatives.


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_SUN6I
	bool "Allwinner A31 RTC"
	default MACH_SUN6I || MACH_SUN8I
	depends on COMMON_CLK
	depends on ARCH_SUNXI || COMPILE_TEST
	help
	  If you say Y here you will get support for the RTC found in
	  some Allwinner SoCs like the A31 or the A64.

config RTC_DRV_SUNXI
	tristate "Allwinner sun4i/sun7i RTC"
	depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
	help
	  If you say Y here you will get support for the RTC found on
	  Allwinner A10/A20.

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.

config RTC_DRV_MV
	tristate "Marvell SoC RTC"
	depends on ARCH_DOVE || ARCH_MVEBU || COMPILE_TEST
	help
	  If you say yes here you will get support for the in-chip RTC
	  that can be found in some of Marvell's SoC devices, such as
	  the Kirkwood 88F6281 and 88F6192.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-mv.

config RTC_DRV_ARMADA38X
	tristate "Armada 38x Marvell SoC RTC"
	depends on ARCH_MVEBU || COMPILE_TEST
	depends on OF
	help
	  If you say yes here you will get support for the in-chip RTC
	  that can be found in the Armada 38x Marvell's SoC device

	  This driver can also be built as a module. If so, the module
	  will be called armada38x-rtc.

config RTC_DRV_CADENCE
	tristate "Cadence RTC driver"
	depends on OF && HAS_IOMEM
	help
	  If you say Y here you will get access to Cadence RTC IP
	  found on certain SOCs.

	  To compile this driver as a module, choose M here: the
	  module will be called rtc-cadence.

config RTC_DRV_FTRTC010
	tristate "Faraday Technology FTRTC010 RTC"
	depends on HAS_IOMEM
	default ARCH_GEMINI
	help
	  If you say Y here you will get support for the
	  Faraday Technolog FTRTC010 found on e.g. Gemini SoC's.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ftrtc010.

config RTC_DRV_PS3
	tristate "PS3 RTC"
	depends on PPC_PS3
	help
	  If you say yes here you will get support for the RTC on PS3.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ps3.

config RTC_DRV_STMP
	tristate "Freescale STMP3xxx/i.MX23/i.MX28 RTC"
	depends on ARCH_MXS || COMPILE_TEST
	select STMP_DEVICE
	help
	  If you say yes here you will get support for the onboard
	  STMP3xxx/i.MX23/i.MX28 RTC.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-stmp3xxx.

config RTC_DRV_PCAP
	tristate "PCAP RTC"
	depends on EZX_PCAP
	help
	  If you say Y here you will get support for the RTC found on
	  the PCAP2 ASIC used on some Motorola phones.

config RTC_DRV_MC13XXX
	depends on MFD_MC13XXX
	tristate "Freescale MC13xxx RTC"
	help
	  This enables support for the RTCs found on Freescale's PMICs
	  MC13783 and MC13892.

config RTC_DRV_MPC5121
	tristate "Freescale MPC5121 built-in RTC"
	depends on PPC_MPC512x || PPC_MPC52xx
	help
	  If you say yes here you will get support for the
	  built-in RTC on MPC5121 or on MPC5200.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-mpc5121.

config RTC_DRV_JZ4740
	tristate "Ingenic JZ4740 SoC"
	depends on MIPS || COMPILE_TEST
	depends on OF && COMMON_CLK
	help
	  If you say yes here you get support for the Ingenic JZ47xx SoCs RTC
	  controllers.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-jz4740.

config RTC_DRV_LOONGSON
	tristate "Loongson On-chip RTC"
	depends on MACH_LOONGSON32 || MACH_LOONGSON64 || COMPILE_TEST
	select REGMAP_MMIO
	help
	  This is a driver for the Loongson on-chip Counter0 (Time-Of-Year
	  counter) to be used as a RTC.
	  It can be found on Loongson-1 series cpu, Loongson-2K series cpu
	  and Loongson LS7A bridge chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-loongson.

config RTC_DRV_LPC24XX
	tristate "NXP RTC for LPC178x/18xx/408x/43xx"
	depends on ARCH_LPC18XX || COMPILE_TEST
	depends on OF && HAS_IOMEM
	depends on COMMON_CLK
	help
	  This enables support for the NXP RTC found which can be found on
	  NXP LPC178x/18xx/408x/43xx devices.

	  If you have one of the devices above enable this driver to use
	  the hardware RTC. This driver can also be built as a module. If
	  so, the module will be called rtc-lpc24xx.

config RTC_DRV_LPC32XX
	depends on ARCH_LPC32XX || COMPILE_TEST
	tristate "NXP LPC32XX RTC"
	help
	  This enables support for the NXP RTC in the LPC32XX

	  This driver can also be built as a module. If so, the module
	  will be called rtc-lpc32xx.

config RTC_DRV_PM8XXX
	tristate "Qualcomm PMIC8XXX RTC"
	depends on MFD_PM8XXX || MFD_SPMI_PMIC || COMPILE_TEST
	help
	  If you say yes here you get support for the
	  Qualcomm PMIC8XXX RTC.

	  To compile this driver as a module, choose M here: the
	  module will be called rtc-pm8xxx.

config RTC_DRV_TEGRA
	tristate "NVIDIA Tegra Internal RTC driver"
	depends on ARCH_TEGRA || COMPILE_TEST
	help
	  If you say yes here you get support for the
	  Tegra 200 series internal RTC module.

	  This drive can also be built as a module. If so, the module
	  will be called rtc-tegra.

config RTC_DRV_MXC
	tristate "Freescale MXC Real Time Clock"
	depends on ARCH_MXC || COMPILE_TEST
	depends on HAS_IOMEM
	depends on OF
	help
	   If you say yes here you get support for the Freescale MXC
	   RTC module.

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-mxc".

config RTC_DRV_MXC_V2
	tristate "Freescale MXC Real Time Clock for i.MX53"
	depends on ARCH_MXC || COMPILE_TEST
	depends on HAS_IOMEM
	depends on OF
	help
	   If you say yes here you get support for the Freescale MXC
	   SRTC module in i.MX53 processor.

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-mxc_v2".

config RTC_DRV_SNVS
	tristate "Freescale SNVS RTC support"
	select REGMAP_MMIO
	depends on ARCH_MXC || COMPILE_TEST
	depends on HAS_IOMEM
	depends on OF
	help
	   If you say yes here you get support for the Freescale SNVS
	   Low Power (LP) RTC module.

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-snvs".

config RTC_DRV_BBNSM
	tristate "NXP BBNSM RTC support"
	select REGMAP_MMIO
	depends on ARCH_MXC || COMPILE_TEST
	depends on HAS_IOMEM
	depends on OF
	help
	   If you say yes here you get support for the NXP BBNSM RTC module.

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-bbnsm".

config RTC_DRV_IMX_BBM_SCMI
	depends on IMX_SCMI_BBM_EXT || COMPILE_TEST
	default y if ARCH_MXC
	tristate "NXP i.MX BBM SCMI RTC support"
	help
	  If you say yes here you get support for the NXP i.MX BBSM SCMI
	  RTC module.

	  To compile this driver as a module, choose M here: the
	  module will be called rtc-imx-sm-bbm.

config RTC_DRV_IMX_SC
	depends on IMX_SCU
	depends on HAVE_ARM_SMCCC
	tristate "NXP i.MX System Controller RTC support"
	help
	   If you say yes here you get support for the NXP i.MX System
	   Controller RTC module.

config RTC_DRV_ST_LPC
	tristate "STMicroelectronics LPC RTC"
	depends on ARCH_STI
	depends on OF
	help
	  Say Y here to include STMicroelectronics Low Power Controller
	  (LPC) based RTC support.

	  To compile this driver as a module, choose M here: the
	  module will be called rtc-st-lpc.

config RTC_DRV_MOXART
	tristate "MOXA ART RTC"
	depends on ARCH_MOXART || COMPILE_TEST
	help
	   If you say yes here you get support for the MOXA ART
	   RTC module.

	   This driver can also be built as a module. If so, the module
	   will be called rtc-moxart

config RTC_DRV_MT2712
	tristate "MediaTek MT2712 SoC based RTC"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	help
	  This enables support for the real time clock built in the MediaTek
	  SoCs for MT2712.

	  This drive can also be built as a module. If so, the module
	  will be called rtc-mt2712.

config RTC_DRV_MT6397
	tristate "MediaTek PMIC based RTC"
	depends on MFD_MT6397 || COMPILE_TEST
	select IRQ_DOMAIN
	help
	  This selects the MediaTek(R) RTC driver. RTC is part of MediaTek
	  MT6397 PMIC. You should enable MT6397 PMIC MFD before select
	  MediaTek(R) RTC driver.

	  If you want to use MediaTek(R) RTC interface, select Y or M here.

config RTC_DRV_MT7622
	tristate "MediaTek SoC based RTC"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	help
	  This enables support for the real time clock built in the MediaTek
	  SoCs.

	  This drive can also be built as a module. If so, the module
	  will be called rtc-mt7622.

config RTC_DRV_XGENE
	tristate "APM X-Gene RTC"
	depends on HAS_IOMEM
	depends on ARCH_XGENE || COMPILE_TEST
	help
	  If you say yes here you get support for the APM X-Gene SoC real time
	  clock.

	  This driver can also be built as a module, if so, the module
	  will be called "rtc-xgene".

config RTC_DRV_PIC32
	tristate "Microchip PIC32 RTC"
	depends on MACH_PIC32
	default y
	help
	   If you say yes here you get support for the PIC32 RTC module.

	   This driver can also be built as a module. If so, the module
	   will be called rtc-pic32

config RTC_DRV_R7301
	tristate "EPSON TOYOCOM RTC-7301SF/DG"
	select REGMAP_MMIO
	depends on OF && HAS_IOMEM
	help
	   If you say yes here you get support for the EPSON TOYOCOM
	   RTC-7301SF/DG chips.

	   This driver can also be built as a module. If so, the module
	   will be called rtc-r7301.

config RTC_DRV_STM32
	tristate "STM32 RTC"
	select REGMAP_MMIO
	depends on ARCH_STM32 || COMPILE_TEST
	depends on OF
	depends on PINCTRL
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	depends on COMMON_CLK
	help
	   If you say yes here you get support for the STM32 On-Chip
	   Real Time Clock.

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-stm32".

config RTC_DRV_CPCAP
	depends on MFD_CPCAP
	tristate "Motorola CPCAP RTC"
	help
	   Say y here for CPCAP rtc found on some Motorola phones
	   and tablets such as Droid 4.

config RTC_DRV_RTD119X
	bool "Realtek RTD129x RTC"
	depends on ARCH_REALTEK || COMPILE_TEST
	default ARCH_REALTEK
	help
	  If you say yes here, you get support for the RTD1295 SoC
	  Real Time Clock.

config RTC_DRV_ASPEED
	tristate "ASPEED RTC"
	depends on OF
	depends on ARCH_ASPEED || COMPILE_TEST
	help
	  If you say yes here you get support for the ASPEED BMC SoC real time
	  clocks.

	  This driver can also be built as a module, if so, the module
	  will be called "rtc-aspeed".

config RTC_DRV_TI_K3
	tristate "TI K3 RTC"
	depends on ARCH_K3 || COMPILE_TEST
	select REGMAP_MMIO
	help
	  If you say yes here you get support for the Texas Instruments's
	  Real Time Clock for K3 architecture.

	  This driver can also be built as a module, if so, the module
	  will be called "rtc-ti-k3".

config RTC_DRV_MA35D1
	tristate "Nuvoton MA35D1 RTC"
	depends on ARCH_MA35 || COMPILE_TEST
	select REGMAP_MMIO
	help
	   If you say yes here you get support for the Nuvoton MA35D1
	   On-Chip Real Time Clock.

	   This driver can also be built as a module, if so, the module
	   will be called "rtc-ma35d1".

comment "HID Sensor RTC drivers"

config RTC_DRV_HID_SENSOR_TIME
	tristate "HID Sensor Time"
	depends on USB_HID
	depends on HID_SENSOR_HUB && IIO
	select HID_SENSOR_IIO_COMMON
	help
	  Say yes here to build support for the HID Sensors of type Time.
	  This drivers makes such sensors available as RTCs.

	  If this driver is compiled as a module, it will be named
	  rtc-hid-sensor-time.

config RTC_DRV_GOLDFISH
	tristate "Goldfish Real Time Clock"
	depends on HAS_IOMEM
	help
	  Say yes to enable RTC driver for the Goldfish based virtual platform.

	  Goldfish is a code name for the virtual platform developed by Google
	  for Android emulation.

config RTC_DRV_WILCO_EC
	tristate "Wilco EC RTC"
	depends on WILCO_EC
	default m
	help
	  If you say yes here, you get read/write support for the Real Time
	  Clock on the Wilco Embedded Controller (Wilco is a kind of Chromebook)

	  This can also be built as a module. If so, the module will
	  be named "rtc_wilco_ec".

config RTC_DRV_MSC313
	tristate "MStar MSC313 RTC"
        depends on ARCH_MSTARV7 || COMPILE_TEST
	help
	  If you say yes here you get support for the Mstar MSC313e On-Chip
	  Real Time Clock.

	  This driver can also be built as a module, if so, the module
	  will be called "rtc-msc313".

config RTC_DRV_POLARFIRE_SOC
	tristate "Microchip PolarFire SoC built-in RTC"
	depends on ARCH_MICROCHIP_POLARFIRE
	help
	  If you say yes here you will get support for the
	  built-in RTC on Polarfire SoC.

	  This driver can also be built as a module, if so, the module
	  will be called "rtc-mpfs".

config RTC_DRV_SSD202D
	tristate "SigmaStar SSD202D RTC"
	depends on ARCH_MSTARV7 || COMPILE_TEST
	default ARCH_MSTARV7
	help
	  If you say yes here you get support for the SigmaStar SSD202D On-Chip
	  Real Time Clock.

	  This driver can also be built as a module, if so, the module
	  will be called "rtc-ssd20xd".

endif # RTC_CLASS