diff options
author | Vincent Palatin <vpalatin@chromium.org> | 2018-03-02 08:55:51 +0100 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-03-05 00:21:21 -0800 |
commit | 29c2aa329489eca44490a6445ef591d6c661b74e (patch) | |
tree | 484804a2d93409b30511f5813e1e364bb25c0eb0 /include/module_id.h | |
parent | 55855fd593912aa82cb59c9fa0eafe9c6990d91d (diff) | |
download | chrome-ec-29c2aa329489eca44490a6445ef591d6c661b74e.tar.gz |
stm32h7: enable the fast PLL on-demand
Add a new module ID 'MODULE_FAST_CPU'.
When it is enabled with clock_enable_module(MODULE_FAST_CPU, 1), switch
the system clocking to the fast 400-Mhz PLL.
For now, I consider that a single task/user is calling
clock_enable_module(MODULE_FAST_CPU, x), so we don't need to count users
(in a complicated atomic fashion). It's good enough for the current
use-case and we can add the complexity later if we have a real need.
BRANCH=none
BUG=b:67081508
TEST=on ZerbleBarn, with follow-up CL setting
clock_enable_module(MODULE_FAST_CPU,x) around the computation block,
see that computations are fast and the clock goes back to HSI after.
Change-Id: I2aef3ad673ddbffd6fc64c591c54297e94896fa6
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/945688
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Diffstat (limited to 'include/module_id.h')
-rw-r--r-- | include/module_id.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/include/module_id.h b/include/module_id.h index aac2cb6186..e1e5a1d441 100644 --- a/include/module_id.h +++ b/include/module_id.h @@ -11,46 +11,47 @@ #include "common.h" enum module_id { - MODULE_ADC, /* 0 */ + MODULE_ADC, MODULE_CHARGER, MODULE_CHIPSET, MODULE_CLOCK, MODULE_COMMAND, - MODULE_DMA, /* 5 */ + MODULE_DMA, MODULE_EXTPOWER, + MODULE_FAST_CPU, MODULE_GPIO, MODULE_HOOK, MODULE_HOST_COMMAND, - MODULE_HOST_EVENT, /* 10 */ + MODULE_HOST_EVENT, MODULE_I2C, MODULE_KEYBOARD, MODULE_KEYBOARD_SCAN, MODULE_LIGHTBAR, - MODULE_LPC, /* 15 */ + MODULE_LPC, + MODULE_MCO, MODULE_PECI, MODULE_PMU, MODULE_PORT80, MODULE_POWER_LED, - MODULE_PWM, /* 20 */ + MODULE_PWM, MODULE_RDD, MODULE_RBOX, MODULE_SPI, MODULE_SPI_FLASH, - MODULE_SPI_MASTER, /* 25 */ + MODULE_SPI_MASTER, MODULE_SWITCH, MODULE_SYSTEM, MODULE_TASK, + MODULE_TFDP, MODULE_THERMAL, - MODULE_UART, /* 30 */ + MODULE_UART, MODULE_USART, MODULE_USB, MODULE_USB_DEBUG, MODULE_USB_PD, - MODULE_USB_PORT_POWER, /* 35 */ + MODULE_USB_PORT_POWER, MODULE_USB_SWITCH, MODULE_VBOOT, - MODULE_MCO, - MODULE_TFDP, MODULE_WOV, /* Module count; not an actual module */ |