zephyr/drivers/clock_control
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
..
beetle_clock_control.c drivers: clock_control: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE 2020-12-19 04:53:45 -06:00
clock_control_esp32.c xtensa: remove core-macros.h from xtensa HAL 2021-01-14 09:40:08 -05:00
clock_control_esp32.h drivers: entropy: esp32: update register call 2021-01-13 09:10:46 -05:00
clock_control_litex.c drivers: clock_control: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_control_litex.h drivers: clock control: Add LiteX clock control driver 2020-12-06 12:35:16 -05:00
clock_control_lpc11u6x.c drivers: clock_control: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_control_lpc11u6x.h drivers: clock_control: lpc11u6x: Add support for clock controller 2020-07-29 20:12:24 +02:00
clock_control_mcux_ccm.c clocks: ccm add gpt clock control into ccm driver 2021-01-22 08:34:49 -06:00
clock_control_mcux_mcg.c drivers: clock_control: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_control_mcux_pcc.c drivers: clock_control: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_control_mcux_scg.c drivers: clock_control: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_control_mcux_sim.c drivers: clock_control: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_control_mcux_syscon.c drivers: clock_control: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_control_npcx.c driver: soc: power: npcx: Add power managerment support. 2021-02-19 22:39:53 -05:00
clock_control_nrf.c drivers: clock_control: Clock calibtration with alt driver 2021-01-28 08:19:34 -05:00
clock_control_rv32m1_pcc.c drivers: clock_control: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_stm32_ll_common.c drivers: clock_control: add STM32WL support 2021-02-19 22:39:24 -05:00
clock_stm32_ll_common.h drivers: clock: stm32 clock control with low power modes 2021-02-19 22:38:50 -05:00
clock_stm32_ll_h7.c drivers: clock_control: add support for PLL3 on STM32 H7 2021-01-12 06:49:10 -05:00
clock_stm32_ll_mp1.c drivers: clock_control: stm32: Convert drivers to new DT device macros 2020-12-16 15:23:39 -06:00
clock_stm32f0_f3.c drivers: clock_control: stm32: use generic LL headers 2020-11-30 15:50:03 +01:00
clock_stm32f1.c drivers/clock_control: stm32f1: Reinstanciate CLOCK_STM32_PLL_XTPRE 2021-02-19 05:22:36 -06:00
clock_stm32f2_f4_f7.c drivers: clock_control: stm32: use generic LL headers 2020-11-30 15:50:03 +01:00
clock_stm32g0.c drivers: clock_control: stm32g0 soc enables the PWR clock 2021-01-06 08:09:47 -06:00
clock_stm32g4.c soc: arm: stm32g4 add rtc feature on this serie 2021-01-06 08:09:47 -06:00
clock_stm32l0_l1.c drivers: clock_control: stm32: use generic LL headers 2020-11-30 15:50:03 +01:00
clock_stm32l4_l5_wb_wl.c drivers: clock_control: add STM32WL support 2021-02-19 22:39:24 -05:00
CMakeLists.txt drivers: clock_control: add STM32WL support 2021-02-19 22:39:24 -05:00
Kconfig drivers: clock control: Add LiteX clock control driver 2020-12-06 12:35:16 -05:00
Kconfig.beetle
Kconfig.esp32 drivers: esp32/clock_control: Add Clock Driver 2020-06-16 09:00:51 -05:00
Kconfig.litex drivers: clock control: Add LiteX clock control driver 2020-12-06 12:35:16 -05:00
Kconfig.lpc11u6x drivers: clock_control: lpc11u6x: Add support for clock controller 2020-07-29 20:12:24 +02:00
Kconfig.mcux_ccm
Kconfig.mcux_mcg
Kconfig.mcux_pcc
Kconfig.mcux_scg
Kconfig.mcux_sim
Kconfig.mcux_syscon drivers: Add NXP LPC clock control driver 2020-10-15 11:17:24 -05:00
Kconfig.npcx driver: clock: Add clock controller support in NPCX series. 2020-08-13 16:42:20 +02:00
Kconfig.nrf boards: nrf: remove support for deprecated board nRF5340 PDK 2021-02-15 07:59:43 -05:00
Kconfig.rv32m1
Kconfig.stm32 drivers: clock_control: add STM32WL support 2021-02-19 22:39:24 -05:00
Kconfig.stm32f0_f3 drivers: clock_control: stm32f0/f3: fix PREDIV options 2020-07-05 07:56:21 -04:00
Kconfig.stm32f1 drivers/clock_control: stm32f1: Reinstanciate CLOCK_STM32_PLL_XTPRE 2021-02-19 05:22:36 -06:00
Kconfig.stm32f2_f4_f7
Kconfig.stm32g0 drivers: clock_control: stm32g0: Enable the Q divisor on g0X1 variants 2020-10-09 11:49:39 +02:00
Kconfig.stm32g4
Kconfig.stm32h7 drivers: clock_control: add support for PLL3 on STM32 H7 2021-01-12 06:49:10 -05:00
Kconfig.stm32l0_l1
Kconfig.stm32l4_l5_wb_wl drivers: clock_control: add STM32WL support 2021-02-19 22:39:24 -05:00
nrf_clock_calibration.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
nrf_clock_calibration.h drivers: clock_control: nrf: Make use of related nrfx drivers 2020-08-31 12:40:47 +02:00