zephyr/drivers/timer
Mulin Chao 1f731c6c02 driver: soc: power: npcx: Add power managerment support.
This CL introduces power management driver that improves the efficiency
of ec operation by adjusting the chip’s power consumption to the level
of activity required by the application in npcx series.

The following list summarizes the main properties of the various chip
power states. Please refer the power.c file for more detail.

Main power states in npcx series include:
- Active: Core, RAM and modules operate at the clocks generated by PLL.
- Idle: Enter this state when the Core executes WFI or WFE instruction.
- Sleep: clock is stopped for most of modules but PLL is enabled.
- Deep Sleep: As Sleep mode but PLL is disabled.
- Standby: All power rails are turned off besides standby and battery
  power rails.

And this CL implements one power state, PM_STATE_SUSPEND_TO_IDLE, with
two sub-states for Zephyr power management system.
Sub-state 0 - "Deep Sleep" mode with “Instant” wake-up if residency
              time is greater or equal to 1 ms
Sub-state 1 - "Deep Sleep" mode with "Standard" wake-up if residency
              time is greater or equal to 201 ms

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-02-19 22:39:53 -05:00
..
altera_avalon_timer_hal.c benchmarking: remove execution benchmarking code 2020-09-05 13:28:38 -05:00
apic_timer.c isr: Normalize usage of device instance through ISR 2020-09-02 13:48:13 +02:00
arcv2_timer0.c isr: Normalize usage of device instance through ISR 2020-09-02 13:48:13 +02:00
arm_arch_timer.c arch: arm: cortex_a_r: add support for arm arch timer 2021-02-15 08:28:51 -05:00
cavs_timer.c drivers/cavs_timer: Fix multiword race with timer counter 2021-02-04 13:10:25 -05:00
cc13x2_cc26x2_rtc_timer.c sys: util: Replace MIN(MAX(a, b), c) with CLAMP 2020-11-05 12:12:17 +01:00
CMakeLists.txt driver: timer: npcx: add system kernel timer support. 2021-02-19 22:39:53 -05:00
cortex_m_systick.c sys: util: Replace MIN(MAX(a, b), c) with CLAMP 2020-11-05 12:12:17 +01:00
hpet.c sys: util: Replace MIN(MAX(a, b), c) with CLAMP 2020-11-05 12:12:17 +01:00
ite_it8xxx2_timer.c drivers/timer: it8xxx2 platform driver/timer 2020-12-16 08:47:36 -05:00
Kconfig driver: timer: npcx: add system kernel timer support. 2021-02-19 22:39:53 -05:00
Kconfig.stm32_lptim power: standarize PM Kconfigs and cleanup 2020-12-09 15:18:29 -05:00
legacy_api.h timer: legacy_api: Fix a build dependency in legacy_api header 2021-01-21 17:20:32 -05:00
leon_gptimer.c timer: Add support for GRLIB GPTIMER 2020-11-13 14:53:55 -08:00
litex_timer.c isr: Normalize usage of device instance through ISR 2020-09-02 13:48:13 +02:00
mchp_xec_rtos_timer.c benchmarking: remove execution benchmarking code 2020-09-05 13:28:38 -05:00
native_posix_timer.c board: native_posix: Add test for k_busy_wait and cpu_hold 2020-12-14 12:32:11 +01:00
npcx_itim_timer.c driver: soc: power: npcx: Add power managerment support. 2021-02-19 22:39:53 -05:00
nrf_rtc_timer.c drivers: timer: nrf_rtc_timer: Increase half tick busy wait 2021-01-10 18:12:57 -05:00
riscv_machine_timer.c sys: util: Replace MIN(MAX(a, b), c) with CLAMP 2020-11-05 12:12:17 +01:00
rv32m1_lptmr_timer.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
sam0_rtc_timer.c sys: util: Replace MIN(MAX(a, b), c) with CLAMP 2020-11-05 12:12:17 +01:00
stm32_lptim_timer.c drivers: timer: stm32 lptim fix Potentially overflow 2021-01-27 14:45:20 -05:00
sys_clock_init.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
xlnx_psttc_timer.c isr: Normalize usage of device instance through ISR 2020-09-02 13:48:13 +02:00
xlnx_psttc_timer_priv.h drivers: timer: xlnx_psttc_timer: Implement tickless support 2020-03-21 14:20:17 -04:00
xtensa_sys_timer.c sys: util: Replace MIN(MAX(a, b), c) with CLAMP 2020-11-05 12:12:17 +01:00