#
# RTC drivers configuration
#

menu "Real Time Clock"

config DM_RTC
	bool "Enable Driver Model for RTC drivers"
	depends on DM
	select LIB_DATE
	help
	  Enable drver model for real-time-clock drivers. The RTC uclass
	  then provides the rtc_get()/rtc_set() interface, delegating to
	  drivers to perform the actual functions. See rtc.h for a
	  description of the API.

config SPL_DM_RTC
	bool "Enable Driver Model for RTC drivers in SPL"
	depends on SPL_DM
	help
	  Enable drver model for real-time-clock drivers. The RTC uclass
	  then provides the rtc_get()/rtc_set() interface, delegating to
	  drivers to perform the actual functions. See rtc.h for a
	  description of the API.

config TPL_DM_RTC
	bool "Enable Driver Model for RTC drivers in TPL"
	depends on TPL_DM
	help
	  Enable drver model for real-time-clock drivers. The RTC uclass
	  then provides the rtc_get()/rtc_set() interface, delegating to
	  drivers to perform the actual functions. See rtc.h for a
	  description of the API.

config RTC_ENABLE_32KHZ_OUTPUT
	bool "Enable RTC 32Khz output"
	help
	   Some real-time clocks support the output of 32kHz square waves (such as ds3231),
	   the config symbol choose Real Time Clock device 32Khz output feature.

config RTC_PCF2127
	bool "Enable PCF2127 driver"
	depends on DM_RTC
	help
	  The PCF2127 is a CMOS Real Time Clock (RTC) and calendar with an integrated
	  Temperature Compensated Crystal (Xtal) Oscillator (TCXO) and a 32.768 kHz quartz
	  crystal optimized for very high accuracy and very low power consumption. The PCF2127
	  has a selectable I2C-bus or SPI-bus, a backup battery switch-over circuit, a
	  programmable watchdog function, a timestamp function, and many other features.

config RTC_DS1307
	bool "Enable DS1307 driver"
	depends on DM_RTC
	help
	  Support for Dallas Semiconductor (now Maxim) DS1307 and DS1338/9 and
	  compatible Real Time Clock devices.

config RTC_ISL1208
	bool "Enable ISL1208 driver"
	depends on DM_RTC
	help
	  The Renesas (formerly Intersil) ISL1208 is a I2C Real Time Clock (RTC) and
	  calendar with automatic leap year correction, 2-byte battery backed SRAM,
	  automatic power switch-over, alarm function and 15 selectable frequency
	  outputs.

	  This driver supports reading and writing the RTC/calendar and detects
	  total power failures.

config RTC_RV3029
	bool "Enable RV3029 driver"
	depends on DM_RTC
	help
	  The MicroCrystal RV3029 is a I2C Real Time Clock (RTC) with 8-byte
	  battery-backed SRAM.

	  This driver supports reading and writing the RTC/calendar and the
	  battery-baced SRAM section.

config RTC_RV8803
	bool "Enable RV8803 driver"
	depends on DM_RTC
	help
	  The Micro Crystal RV8803 is a high accuracy, ultra-low power I2C
	  Real Time Clock (RTC) with temperature compensation.

	  This driver supports reading and writing the RTC/calendar and
	  detects total power failures.

config RTC_RX8010SJ
	bool "Enable RX8010SJ driver"
	depends on DM_RTC
	help
	  Support for Epson RX8010SJ Real Time Clock devices.

config RTC_RX8025
	bool "Enable RX8025 driver"
	help
	  Support for Epson RX8025 Real Time Clock devices.

config RTC_PL031
	bool "Enable ARM AMBA PL031 RTC driver"
	help
	  The ARM PrimeCell Real Time Clock (PL031) is an optional SoC
	  peripheral based on the Advanced Microcontroller Bus Architecture
	  (AMBA). It is emulated in QEMU virtual ARM machines.

config RTC_MV
	bool "Enable Marvell RTC driver"
	depends on DM_RTC
	help
	  Enable Marvell RTC driver. This driver supports the rtc that is present
	  on some Marvell SoCs.

config RTC_S35392A
	bool "Enable S35392A driver"
	select BITREVERSE
	help
	  Enable s35392a driver which provides rtc get and set function.

config RTC_MC146818
	bool "Enable MC146818 driver"
	help
	  This is a widely used real-time clock chip originally by Motorola
	  and now available from NXP. It includes a battery-backed real-time
	  clock with a wide array of features and 50 bytes of general-purpose,
	  battery-backed RAM. The driver supports access to the clock and RAM.

config RTC_M41T62
	bool "Enable M41T62 driver"
	help
	  Enable driver for ST's M41T62 compatible RTC devices (like RV-4162).
	  It is a serial (I2C) real-time clock (RTC) with alarm.

config RTC_STM32
	bool "Enable STM32 RTC driver"
	depends on DM_RTC
	help
	  Enable STM32 RTC driver. This driver supports the rtc that is present
	  on some STM32 SoCs.
endmenu
