# Copyright (c) 2022 Bjarki Arge Andreasen
# SPDX-License-Identifier: Apache-2.0

menuconfig RTC
	bool "Real-Time Clock (RTC) drivers"
	help
	  Enable RTC driver configuration.

if RTC

module = RTC
module-str = rtc
source "subsys/logging/Kconfig.template.log_config"

config RTC_INIT_PRIORITY
	int "RTC init priority"
	default KERNEL_INIT_PRIORITY_DEVICE
	help
	  RTC device driver initialization priority.

config RTC_ALARM
	bool "RTC driver alarm support"
	help
	  This is an option which enables driver support for RTC alarms.

config RTC_UPDATE
	bool "RTC driver update event callback support"
	help
	  This is an option which enables driver support for the RTC
	  update event callback.

config RTC_CALIBRATION
	bool "RTC driver clock calibration support"
	help
	  This is an option which enables driver support for RTC clock
	  calibration.

config RTC_SHELL
	bool "RTC Shell commands"
	depends on SHELL
	help
	  RTC Shell commands

# zephyr-keep-sorted-start
source "drivers/rtc/Kconfig.am1805"
source "drivers/rtc/Kconfig.ambiq"
source "drivers/rtc/Kconfig.bq32002"
source "drivers/rtc/Kconfig.counter"
source "drivers/rtc/Kconfig.ds1307"
source "drivers/rtc/Kconfig.ds1337"
source "drivers/rtc/Kconfig.ds3231"
source "drivers/rtc/Kconfig.emul"
source "drivers/rtc/Kconfig.fake"
source "drivers/rtc/Kconfig.ifx_cat1"
source "drivers/rtc/Kconfig.mc146818"
source "drivers/rtc/Kconfig.numaker"
source "drivers/rtc/Kconfig.nxp_irtc"
source "drivers/rtc/Kconfig.pcf2123"
source "drivers/rtc/Kconfig.pcf85063a"
source "drivers/rtc/Kconfig.pcf8523"
source "drivers/rtc/Kconfig.pcf8563"
source "drivers/rtc/Kconfig.renesas_ra"
source "drivers/rtc/Kconfig.rpi_pico"
source "drivers/rtc/Kconfig.rts5912"
source "drivers/rtc/Kconfig.rv3028"
source "drivers/rtc/Kconfig.rv3032"
source "drivers/rtc/Kconfig.rv8263"
source "drivers/rtc/Kconfig.rv8803"
source "drivers/rtc/Kconfig.rx8130ce"
source "drivers/rtc/Kconfig.sam"
source "drivers/rtc/Kconfig.sam0"
source "drivers/rtc/Kconfig.siwx91x"
source "drivers/rtc/Kconfig.smartbond"
source "drivers/rtc/Kconfig.stm32"
source "drivers/rtc/Kconfig.ti_mspm0"
source "drivers/rtc/Kconfig.xmc4xxx"
# zephyr-keep-sorted-stop

endif # RTC
