#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

menu "Timer Driver Support"

menuconfig TIMER
	bool "Timer Support"
	default n
	---help---
		This selection enables building of the "upper-half" timer
		driver. See include/nuttx/timers/timer.h for further timer driver
		information.

menuconfig RTC
	bool "RTC Driver Support"
	default n
	---help---
		This selection enables configuration of a real time clock (RTCdriver.
		See include/nuttx/timers/rtc.h for further RTC driver information.
		Most RTC drivers are MCU specific and may require other specific
		settings.

if RTC

config RTC_DATETIME
	bool "Date/Time RTC Support"
	default n
	---help---
		There are two general types of RTC:  (1) A simple battery backed
		counter that keeps the time when power is down, and (2) a full
		date / time RTC the provides the date and time information, often in
		BCD format.  If RTC_DATETIME is selected, it specifies this second kind
		of RTC. In this case, the RTC is used to "seed" the normal NuttX timer
		and the NuttX system timer provides for higher resolution time.

if !RTC_DATETIME

config RTC_HIRES
	bool "Hi-Res RTC Support"
	default n
	---help---
		If RTC_DATETIME not selected, then the simple, battery backed counter
		is used.  There are two different implementations of such simple
		counters based on the time resolution of the counter: The typical RTC
		keeps time to resolution of 1 second, usually supporting a 32-bit
		time_t value.  In this case, the RTC is used to "seed" the normal NuttX
		timer and the NuttX timer provides for higherresoution time.

		If RTC_HIRES is enabled in the NuttX configuration, then the RTC
		provides higher resolution time and completely replaces the system
		timer for purpose of date and time.

config RTC_FREQUENCY
	int "Hi-Res RTC frequency"
	default 1
	depends on RTC_HIRES
	---help---
		If RTC_HIRES is defined, then the frequency of the high resolution RTC
		must be provided.  If RTC_HIRES is not defined, RTC_FREQUENCY is
		assumed to be one Hz.

endif # !RTC_DATETIME

config RTC_ALARM
	bool "RTC Alarm Support"
	default n
	---help---
		Enable if the RTC hardware supports setting of an alarm.  A callback
		function will be executed when the alarm goes off.

config RTC_DRIVER
	bool "RTC Driver Support"
	default n
	---help---
		This selection enables building of the "upper-half" RTC
		driver. See include/nuttx/timers/rtc.h for further RTC driver
		information.

if RTC_DRIVER

config RTC_PERIODIC
	bool "RTC Periodic Interrupts"
	default n
	depends on EXPERIMENTAL
	---help---
		Add interrupt controls for RTCs that support periodic interrupts.

config RTC_ONESEC
	bool "RTC Once-per-second interrupts"
	default n
	depends on EXPERIMENTAL
	---help---
		Add interrupt controls for RTCs that support once-per-second interrupts.

config RTC_EPOCHYEAR
	bool "RTC epoch year"
	default n
	depends on EXPERIMENTAL
	---help---
		Add controls for RTCs that support epoch year settings.

		Many RTCs encode the year in an 8-bit register which is either interpreted
		as an 8-bit binary number or as a BCD number. In both cases, the number is
		interpreted relative to this RTC's Epoch. The RTC's Epoch is initialized to
		1900 on most systems but on Alpha and MIPS it might also be initialized to
		1952, 1980, or 2000, depending on the value of an RTC register for the year.
		With some RTCs, these operations can be used to read or to set the RTC's
		Epoch, respectively.

config RTC_IOCTL
	bool "RTC IOCTLs"
	default n
	---help---
		Support the RTC interface ioctl() method.  This allows you to add
		architecture-specific RTC operations to the RTC interface

endif # RTC_DRIVER
endif # RTC

menuconfig WATCHDOG
	bool "Watchdog Timer Support"
	default n
	---help---
		This selection enables building of the "upper-half" watchdog timer
		driver. See include/nuttx/timers/watchdog.h for further watchdog timer driver
		information.

if WATCHDOG

config WATCHDOG_DEVPATH
	string "Watchdog Device Path"
	default "/dev/watchdog0"

endif # WATCHDOG

config TIMERS_CS2100CP
	bool "CS2100-CP Fraction-N Clock Multiplier"
	depends on I2C
	select I2C_TRANSFER

if TIMERS_CS2100CP

config CS2100CP_DEBUG
	bool "Enable CS2100-CP Debug Features"
	depends on DEBUG

config CS2100CP_REGDEBUG
	bool "Enable CS2100-CP Register Debug"
	depends on DEBUG

endif # TIMERS_CS2100CP
endmenu  # Timer Driver Support
