mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-03 14:23:02 +00:00
We want to simplify the maintenance burden and confusion of having more than one driver for the same kernel timer peripheral used on all Microchip MEC parts. The XEC version of the driver was converted register definitions in the driver. Register access is performed using Zephyr sys_read/write architecture specific inline routines. Driver DT YAML was updated to use phandle for the 32-bit basic timer used for ARCH_HAS_CUSTOM_BUSY_WAIT support, basic timer max value property, and GIRQ interrtup aggregator hardware information. SoC part Kconfigs, chip level/board level DTSI updated to use the unified driver. Signed-off-by: Scott Worley <scott.worley@microchip.com>
114 lines
3.9 KiB
Plaintext
114 lines
3.9 KiB
Plaintext
# Timer driver configuration options
|
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
# Copyright (c) 2016 Cadence Design Systems, Inc.
|
|
# Copyright (c) 2019 Intel Corp.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
if SYS_CLOCK_EXISTS
|
|
|
|
menu "Timer drivers"
|
|
|
|
config TIMER_HAS_64BIT_CYCLE_COUNTER
|
|
bool
|
|
help
|
|
When this option is true, the k_cycle_get_64() call is
|
|
available to provide values from a 64-bit cycle counter.
|
|
|
|
config TIMER_READS_ITS_FREQUENCY_AT_RUNTIME
|
|
bool "Timer queries its hardware to find its frequency at runtime"
|
|
help
|
|
The drivers select this option automatically when needed. Do not modify
|
|
this unless you have a very good reason for it.
|
|
|
|
config SYSTEM_CLOCK_SLOPPY_IDLE
|
|
bool "Timer allowed to skew uptime clock during idle"
|
|
help
|
|
When true, the timer driver is not required to maintain a
|
|
correct system uptime count when the system enters idle.
|
|
Some platforms may take advantage of this to reduce the
|
|
overhead from regular interrupts required to handle counter
|
|
wraparound conditions.
|
|
|
|
config SYSTEM_CLOCK_INIT_PRIORITY
|
|
int "System clock driver initialization priority"
|
|
default 0
|
|
help
|
|
This options can be used to set a specific initialization priority
|
|
value for the system clock driver. As driver initialization might need
|
|
the clock to be running already, you should let the default value as it
|
|
is (0).
|
|
|
|
# Hidden option to be selected by individual SoC.
|
|
config TICKLESS_CAPABLE
|
|
bool
|
|
help
|
|
Timer drivers should select this flag if they are capable of
|
|
supporting tickless operation. That is, a call to
|
|
sys_clock_set_timeout() with a number of ticks greater than
|
|
one should be expected not to produce a call to
|
|
sys_clock_announce() (really, not to produce an interrupt at
|
|
all) until the specified expiration.
|
|
|
|
config SYSTEM_TIMER_HAS_DISABLE_SUPPORT
|
|
bool
|
|
help
|
|
This option should be selected by drivers implementing support for
|
|
sys_clock_disable() API.
|
|
|
|
config SYSTEM_CLOCK_LOCK_FREE_COUNT
|
|
bool
|
|
help
|
|
This option should be selected by drivers implementing a lock free
|
|
cycle count accessor. This is needed for instrumenting spin lock
|
|
hold times.
|
|
|
|
source "drivers/timer/Kconfig.ambiq"
|
|
source "drivers/timer/Kconfig.x86"
|
|
source "drivers/timer/Kconfig.arcv2"
|
|
source "drivers/timer/Kconfig.arm_arch"
|
|
source "drivers/timer/Kconfig.cavs"
|
|
source "drivers/timer/Kconfig.cc13xx_cc26xx_rtc"
|
|
source "drivers/timer/Kconfig.cc23x0_systim"
|
|
source "drivers/timer/Kconfig.wch_ch32v00x"
|
|
source "drivers/timer/Kconfig.cortex_m_systick"
|
|
source "drivers/timer/Kconfig.esp32"
|
|
source "drivers/timer/Kconfig.gecko"
|
|
source "drivers/timer/Kconfig.it51xxx"
|
|
source "drivers/timer/Kconfig.ite_it8xxx2"
|
|
source "drivers/timer/Kconfig.leon_gptimer"
|
|
source "drivers/timer/Kconfig.litex"
|
|
source "drivers/timer/Kconfig.mchp_xec_rtos"
|
|
source "drivers/timer/Kconfig.mchp_sam"
|
|
source "drivers/timer/Kconfig.mcux_gpt"
|
|
source "drivers/timer/Kconfig.mcux_lptmr"
|
|
source "drivers/timer/Kconfig.mcux_os"
|
|
source "drivers/timer/Kconfig.mips_cp0"
|
|
source "drivers/timer/Kconfig.native_sim"
|
|
source "drivers/timer/Kconfig.npcx_itim"
|
|
source "drivers/timer/Kconfig.nrf_rtc"
|
|
source "drivers/timer/Kconfig.nrf_grtc"
|
|
source "drivers/timer/Kconfig.nrf_xrtc"
|
|
source "drivers/timer/Kconfig.renesas_rx"
|
|
source "drivers/timer/Kconfig.rcar_cmt"
|
|
source "drivers/timer/Kconfig.riscv_machine"
|
|
source "drivers/timer/Kconfig.rv32m1_lptmr"
|
|
source "drivers/timer/Kconfig.realtek_rts5912_rtmr"
|
|
source "drivers/timer/Kconfig.sam0_rtc"
|
|
source "drivers/timer/Kconfig.silabs"
|
|
source "drivers/timer/Kconfig.smartbond"
|
|
source "drivers/timer/Kconfig.stm32_lptim"
|
|
source "drivers/timer/Kconfig.ti_dm_timer"
|
|
source "drivers/timer/Kconfig.xlnx_psttc"
|
|
source "drivers/timer/Kconfig.xtensa"
|
|
source "drivers/timer/Kconfig.mtk_adsp"
|
|
source "drivers/timer/Kconfig.sy1xx_sys_timer"
|
|
source "drivers/timer/Kconfig.renesas_ra_ulpt"
|
|
source "drivers/timer/Kconfig.renesas_rz"
|
|
source "drivers/timer/Kconfig.renesas_rza2m"
|
|
source "drivers/timer/Kconfig.ifx_cat1_lp"
|
|
|
|
endmenu
|
|
|
|
endif # SYS_CLOCK_EXISTS
|