# # 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" config ARCH_HAVE_PWM_PULSECOUNT bool default n config ARCH_HAVE_PWM_MULTICHAN bool default n config PWM bool "PWM Driver Support" default n ---help--- This selection enables building of the "upper-half" PWM driver. See include/nuttx/timers/pwm.h for further PWM driver information. if PWM config PWM_PULSECOUNT bool "PWM Pulse Count Support" default n depends on ARCH_HAVE_PWM_PULSECOUNT ---help--- Some hardware will support generation of a fixed number of pulses. This might be used, for example to support a stepper motor. If the hardware will support a fixed pulse count, then this configuration should be set to enable the capability. config PWM_MULTICHAN bool "PWM Multiple Output Channel Support" default n depends on ARCH_HAVE_PWM_MULTICHAN depends on !PWM_PULSECOUNT ---help--- Enables support for multiple output channels per timer. if PWM_MULTICHAN config PWM_NCHANNELS int "Number of Output Channels Per Timer" default 1 range 1 16 ---help--- Specifies the number of output channels per timer. Each timer may support fewer output channels than this value. endif # PWM_MULTICHAN endif # PWM config 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. if TIMER config TIMER_ARCH bool "Timer Arch Implementation" select ARCH_HAVE_TICKLESS select ARCH_HAVE_TIMEKEEPING select SCHED_TICKLESS_LIMIT_MAX_SLEEP if SCHED_TICKLESS ---help--- Implement timer arch API on top of timer driver interface. endif # TIMER config ONESHOT bool "Oneshot timer driver" default n ---help--- This selection enables building of the "upper-half" oneshot timer driver. See include/nuttx/timers/oneshot.h for further oneshot timer driver information. if ONESHOT config ALARM_ARCH bool "Alarm Arch Implementation" select ARCH_HAVE_TICKLESS select ARCH_HAVE_TIMEKEEPING select SCHED_TICKLESS_ALARM if SCHED_TICKLESS select SCHED_TICKLESS_LIMIT_MAX_SLEEP if SCHED_TICKLESS ---help--- Implement alarm arch API on top of oneshot driver interface. endif # ONESHOT 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_NALARMS int "Number of alarms" default 1 depends on RTC_ALARM ---help--- Number of alarms supported by the hardware. 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_ARCH bool "RTC Arch Implementation" default n ---help--- Implement RTC arch API on top of RTC driver interface. config RTC_PERIODIC bool "RTC Periodic Interrupts" default n ---help--- Add interrupt controls for RTCs that support periodic interrupts. 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 config RTC_EXTERNAL bool "External RTC Support" default n ---help--- In modern MCUs, the RTC is usually implement as an internal peripheral to the MCU. An option is to use an external RTC connected to the MCU typically via SPI or I2C. If an external RTC is connect to the MCU through some bus, then the RTC will not be available to the system until after the system fully boots up and is able to access the bus. In that case, this setting must be included to suppress attempts to initialize the RTC early in the boot sequence. config RTC_DSXXXX bool "DS130x/DS323x RTC Driver" default n select I2C select RTC_DATETIME depends on RTC_EXTERNAL ---help--- Enables support for the Maxim Integrated DS3231 I2C RTC timer. if RTC_DSXXXX choice prompt "Maxim Integrated RTC" default RTC_DS3231 config RTC_DS1302 bool "DS1302" ---help--- Enables support for the Maxim Integrated DS1302 serial RTC timer. config RTC_DS1307 bool "DS1307" ---help--- Enables support for the Maxim Integrated DS1307 I2C RTC timer. config RTC_DS3231 bool "DS3231" ---help--- Enables support for the Maxim Integrated DS3231 I2C RTC timer. config RTC_DS3232 bool "DS3232" ---help--- Enables support for the Maxim Integrated DS3232 I2C RTC timer. config RTC_DS3234 bool "DS3234" depends on EXPERIMENTAL ---help--- Enables support for the Maxim Integrated DS3234 SPI RTC timer. Not yet implemented. endchoice # Maxim Integrated RTC config DS3231_I2C_FREQUENCY int "DS1307/DS323x I2C frequency" default 400000 range 1 400000 endif # RTC_DSXXXX config RTC_PCF85263 bool "PCF85263 RTC Driver" default n select I2C select RTC_DATETIME depends on RTC_EXTERNAL ---help--- Enables support for the NXP PCF85263 I2C RTC timer. if RTC_PCF85263 config PCF85263_I2C_FREQUENCY int "PCF85263 I2C frequency" default 400000 range 1 400000 endif # RTC_PCF85263 config RTC_MCP794XX bool "MCP794XX RTC Driver" default n select I2C select RTC_DATETIME depends on RTC_EXTERNAL ---help--- Enables support for the Microchip MCP794XX I2C RTC timer. if RTC_MCP794XX config MCP794XX_I2C_FREQUENCY int "MCP794XX I2C frequency" default 400000 range 1 400000 endif # RTC_MCP794XX config RTC_RPMSG bool "Rpmsg RTC Driver" default n depends on OPENAMP select ARCH_HAVE_RTC_SUBSECONDS config RTC_RPMSG_SERVER bool "The RTC Rpmsg Role" depends on OPENAMP config RTC_RPMSG_SERVER_NAME string "The name of RTC Rpmsg Server" depends on RTC_RPMSG ---help--- The proc name of rtc server. Client requests time from specified name of remote proc. 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" ---help--- Please, check how your specific chip or board uses this symbol. FYI: It's NOT used by the Auto-monitor feature. menuconfig WATCHDOG_AUTOMONITOR bool "Auto-monitor" ---help--- The auto-monitor provides an OS-internal mechanism for automatically start and repeatedly reset the WDTs that were previous selected. Once the Auto-monitor is enabled, it will reset all registered watchdog timers. If you start a specific WDT, the auto-monitor will stop for that WDT and the application should take care of this from now on. if WATCHDOG_AUTOMONITOR choice prompt "Auto-monitor keepalive by" default WATCHDOG_AUTOMONITOR_BY_TIMER config WATCHDOG_AUTOMONITOR_BY_CAPTURE bool "Capture callback" config WATCHDOG_AUTOMONITOR_BY_TIMER bool "Timer callback" config WATCHDOG_AUTOMONITOR_BY_WORKER bool "Worker callback" depends on SCHED_WORKQUEUE config WATCHDOG_AUTOMONITOR_BY_IDLE bool "Idle callback" depends on PM endchoice config WATCHDOG_AUTOMONITOR_TIMEOUT int "Auto-monitor reset timeout(second)" default 60 if WATCHDOG_AUTOMONITOR_BY_TIMER || WATCHDOG_AUTOMONITOR_BY_WORKER config WATCHDOG_AUTOMONITOR_PING_INTERVAL int "Auto-monitor keep a live interval" default WATCHDOG_AUTOMONITOR_TIMEOUT range 1 WATCHDOG_AUTOMONITOR_TIMEOUT ---help--- If the interval is same as WATCHDOG_AUTOMONITOR_TIMEOUT the default value will change to (WATCHDOG_AUTOMONITOR_TIMEOUT / 2). This interval will only be used by auto-monitor by Worker callback or by Timer callback. endif # WATCHDOG_AUTOMONITOR_BY_TIMER || WATCHDOG_AUTOMONITOR_BY_WORKER endif # WATCHDOG_AUTOMONITOR endif # WATCHDOG config TIMERS_CS2100CP bool "CS2100-CP Fraction-N Clock Multiplier" depends on I2C if TIMERS_CS2100CP config CS2100CP_DEBUG bool "Enable CS2100-CP Debug Features" depends on DEBUG_FEATURES config CS2100CP_REGDEBUG bool "Enable CS2100-CP Register Debug" depends on DEBUG_FEATURES endif # TIMERS_CS2100CP endmenu # Timer Driver Support