123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399 |
- #
- # 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 6
- ---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
|