This CL introduces a kernel device driver implemented by the internal 64/32-bit timers in Nuvoton NPCX series. Via these two kinds of timer, the driver provides an standard "system clock driver" interface. It includes: - A system timer based on an ITIM64 (Internal 64-bit timer) instance, clocked by APB2 which freq is CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC. - Its prescaler is set to 1 and provide the kernel cycles reading without handling overflow mechanism. - A event timer based on an ITIM32 (Internal 32-bit timer) instance, clocked by LCLK which frequency is 32KHz and still activated when ec entered "idle/deep idle" power state for better power consumption. - Its prescaler is set to 1 and provide timeout event mechansim. - Compensate system timer which clock is gating for better power consumption after ec left"idle/deep idle" power state. This CL passed starve, timer_api, and timer_monotonic test suites. Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
25 lines
1.4 KiB
CMake
25 lines
1.4 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
zephyr_sources( sys_clock_init.c)
|
|
zephyr_sources_ifdef(CONFIG_HPET_TIMER hpet.c)
|
|
zephyr_sources_ifdef(CONFIG_ARCV2_TIMER arcv2_timer0.c)
|
|
zephyr_sources_ifdef(CONFIG_ARM_ARCH_TIMER arm_arch_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_APIC_TIMER apic_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_ALTERA_AVALON_TIMER altera_avalon_timer_hal.c)
|
|
zephyr_sources_ifdef(CONFIG_ITE_IT8XXX2_TIMER ite_it8xxx2_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_NRF_RTC_TIMER nrf_rtc_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_STM32_LPTIM_TIMER stm32_lptim_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_RISCV_MACHINE_TIMER riscv_machine_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_RV32M1_LPTMR_TIMER rv32m1_lptmr_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_CORTEX_M_SYSTICK cortex_m_systick.c)
|
|
zephyr_sources_ifdef(CONFIG_XTENSA_TIMER xtensa_sys_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_NATIVE_POSIX_TIMER native_posix_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_SAM0_RTC_TIMER sam0_rtc_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_LITEX_TIMER litex_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_MCHP_XEC_RTOS_TIMER mchp_xec_rtos_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_XLNX_PSTTC_TIMER xlnx_psttc_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_CC13X2_CC26X2_RTC_TIMER cc13x2_cc26x2_rtc_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_CAVS_TIMER cavs_timer.c)
|
|
zephyr_sources_ifdef(CONFIG_LEON_GPTIMER leon_gptimer.c)
|
|
zephyr_sources_ifdef(CONFIG_NPCX_ITIM_TIMER npcx_itim_timer.c)
|