zephyr/drivers/timer
Dawid Niedzwiecki 457d437841 timer: cortex-m systick: add idle timer
Some chips, that use Cortex-M SysTick as the system timer, disable a
clock in a low power mode, that is the input for the SysTick e.g.
STM32Fx family.

It blocks enabling power management for these chips. The wake-up
function doesn't work and the time measurement is lost.

Add an additional IDLE timer that handles these functionality when the
system is about to enter IDLE. It has to wake up the chip and update the
cycle counter by time not measured by the SysTick. The IDLE timer has to
support counter API (setting alarm and reading current value).

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-11-07 09:42:37 +01:00
..
altera_avalon_timer_hal.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
ambiq_stimer.c drivers: timer: Add driver for Ambiq system timer (STIMER) 2023-08-04 10:48:58 +02:00
apic_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
apic_tsc.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
arcv2_timer0.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
arm_arch_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
cc13xx_cc26xx_rtc_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
CMakeLists.txt drivers: timer: Add driver for Ambiq system timer (STIMER) 2023-08-04 10:48:58 +02:00
cortex_m_systick.c timer: cortex-m systick: add idle timer 2023-11-07 09:42:37 +01:00
esp32c3_sys_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
gecko_burtc_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
hpet.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
intel_adsp_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
ite_it8xxx2_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
Kconfig drivers: timer: Refactor x86 system timer selection 2023-10-23 10:34:03 +02:00
Kconfig.altera_avalon
Kconfig.ambiq drivers: timer: Add driver for Ambiq system timer (STIMER) 2023-08-04 10:48:58 +02:00
Kconfig.arcv2
Kconfig.arm_arch
Kconfig.cavs
Kconfig.cc13xx_cc26xx_rtc dts: ti: cc13xx_cc26xx: devicetree sysclk alignment 2023-07-07 18:46:24 -04:00
Kconfig.cortex_m_systick timer: cortex-m systick: add idle timer 2023-11-07 09:42:37 +01:00
Kconfig.esp32c3_sys soc: xtensa,riscv: esp32xx: refactor folder structure 2023-07-25 18:12:33 +02:00
Kconfig.gecko soc/arm/silabs_exx32: fix PM implementation - wake up using BURTC timer 2023-04-21 16:24:05 +02:00
Kconfig.ite_it8xxx2
Kconfig.leon_gptimer
Kconfig.litex
Kconfig.mchp_xec_rtos
Kconfig.mcux_gpt soc: arm: nxp: switch imxrt boards to use systick timer unless CONFIG_PM=y 2022-12-16 09:31:48 +01:00
Kconfig.mcux_lptmr drivers: timer: mcux: lptmr: add dependency on CONFIG_PM 2023-01-31 22:10:28 -06:00
Kconfig.mcux_os
Kconfig.mips_cp0
Kconfig.native_posix
Kconfig.npcx_itim
Kconfig.nrf_rtc drivers timer nrf: Correct dependencies for simulation 2023-10-20 15:14:30 +02:00
Kconfig.rcar_cmt
Kconfig.riscv_machine riscv_machine_timer: remove unused config option 2023-06-01 04:53:19 -04:00
Kconfig.rv32m1_lptmr
Kconfig.sam0_rtc
Kconfig.stm32_lptim
Kconfig.x86 boards: ish: Continue to use HPET_TIMER for ISH and Qemu 2023-10-23 10:34:03 +02:00
Kconfig.xlnx_psttc
Kconfig.xtensa
leon_gptimer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
litex_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
mchp_xec_rtos_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
mcux_gpt_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
mcux_lptmr_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
mcux_os_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
mips_cp0_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
native_posix_timer.c include: always use <> for Zephyr includes 2023-09-14 13:49:58 +02:00
npcx_itim_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
nrf_rtc_timer.c nrf53: RTC pretick allows user channels and require just one CC 2023-09-30 18:48:19 +02:00
rcar_cmt_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
riscv_machine_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
rv32m1_lptmr_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
sam0_rtc_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
stm32_lptim_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
sys_clock_init.c
xlnx_psttc_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00
xlnx_psttc_timer_priv.h
xtensa_sys_timer.c drivers: timer: s/device.h/init.h 2023-08-29 11:29:18 +01:00