mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-08 16:41:55 +00:00
When the AP is not running and we have enough time go to STOP mode instead of simple idle. The EC consumption should drop from 12mW to a few mW. This is currently not activated by default, you need to type "sleepmask 0" in the EC console to activate it. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=chrome-os-partner:8866 TEST=on Snow, check the software is still working properly when STOP mode is activated and measure power consumption on 3v_alw rail. Change-Id: I231d76fe6494c07b198c41694755b82d87c00e75 Reviewed-on: https://gerrit.chromium.org/gerrit/29315 Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
40 lines
1.0 KiB
C
40 lines
1.0 KiB
C
/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/* Clocks and power management settings */
|
|
|
|
#ifndef __CROS_EC_CLOCK_H
|
|
#define __CROS_EC_CLOCK_H
|
|
|
|
#include "common.h"
|
|
|
|
/* Set the CPU clocks and PLLs. */
|
|
int clock_init(void);
|
|
|
|
/* Return the current clock frequency in Hz. */
|
|
int clock_get_freq(void);
|
|
|
|
/* Enable or disable the PLL. */
|
|
int clock_enable_pll(int enable);
|
|
|
|
/* Wait <cycles> system clock cycles. Simple busy waiting for before
|
|
* clocks/timers are initialized. */
|
|
void clock_wait_cycles(uint32_t cycles);
|
|
|
|
/* Low power modes for idle API */
|
|
|
|
enum {
|
|
SLEEP_MASK_AP_RUN = (1 << 0), /* the main CPU is running */
|
|
SLEEP_MASK_UART = (1 << 1), /* UART communication on-going */
|
|
SLEEP_MASK_I2C = (1 << 2), /* I2C master communication on-going */
|
|
|
|
SLEEP_MASK_FORCE = (1 << 31), /* Force disabling low power modes */
|
|
};
|
|
|
|
void enable_sleep(uint32_t mask);
|
|
void disable_sleep(uint32_t mask);
|
|
|
|
#endif /* __CROS_EC_CLOCK_H */
|