summaryrefslogtreecommitdiff
path: root/include/module_id.h
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2018-03-02 08:55:51 +0100
committerchrome-bot <chrome-bot@chromium.org>2018-03-05 00:21:21 -0800
commit29c2aa329489eca44490a6445ef591d6c661b74e (patch)
tree484804a2d93409b30511f5813e1e364bb25c0eb0 /include/module_id.h
parent55855fd593912aa82cb59c9fa0eafe9c6990d91d (diff)
downloadchrome-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.h21
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 */