mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-08 00:21:46 +00:00
c51a8982ff742fa710887608b038e4e4dd9621e9
This reduces power consumption in S3/S5 because the EC doesn't need to poll the battery every 500ms. BUG=chrome-os-partner:9676 BRANCH=link TEST=manual As much as can be tested with the current debug information: - Boot system with AC adapter in. Charge state machine should go to charging state. - Remove AC adapter. Charge state -> discharging. - Shut system down. - Plug AC adapter in. Charge state -> init -> charging over the course of a few seconds (NOT a minute). - Remove AC adapter. Charge state -> discharging. Really good testing requires a source-level change. Hack in a line of debug output above task_wait_event(sleep_next) in charge_state_machine_task() which prints how long the charge state machine is sleeping. It should sleep for ~250ms when charging, ~500ms when discharging and the system is on, or ~60000ms when discharging and the system is off. (I did this when writing this change, but removed it because it clutters up the debug console output.) Change-Id: I7d3e291fbc40bfcc67d1fb4982d91f0e6bf2e785 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/33921 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Rong Chang <rongchang@chromium.org>
- EC Lib
This wraps Blizzard driverlib and implements the EC chip interface defined
by Google. See below diagram for architecture.
+--------------------+
| Host BIOS/OS |
+--------------------+
---- host interface ----
+--------------------+
| Google EC features |
+--------------------+
---- chip interface ---- The interface is defined in
src/platform/ec/chip_interface/*.
+--------------------+ But the real implementation is in EC Lib.
| EC Lib |
+--------------------+
| Blizzard low level |
| driver, the |
| driverlib. |
+--------------------+
Build Options
=============
- CONFIG_WATCHDOG_HELP
Try to detect a watchdog that is about to fire, and print a trace.
This is needed on STM32, where the independent watchdog has no early
warning feature and the windowed watchdog has a very short period.
- CONFIG_PANIC_HELP
Report extra information about a panic, such as the fault address,
here shown as bfar. This shows the reason for the fault and may help
to determine the cause.
=== EXCEPTION: 03 ====== xPSR: 01000000 ===========
r0 :0000000b r1 :00000047 r2 :60000000 r3 :200013dd
r4 :00000000 r5 :080053f4 r6 :200013d0 r7 :00000002
r8 :00000000 r9 :200013de r10:00000000 r11:00000000
r12:00000000 sp :200009a0 lr :08002b85 pc :08003a8a
Precise data bus error, Forced hard fault, Vector catch, bfar = 60000000
mmfs = 00008200, shcsr = 00000000, hfsr = 40000000, dfsr = 00000008
- CONFIG_ASSERT_HELP
Report assertion failures in a vebose manner to aid debugging. When
enabled an ASSERT() which fails will produce message in the form:
ASSERTION FAILURE '<expr>' in function() at file:line
- CONFIG_CONFIGURE_BOARD_LATE
Define this to call configure_board_late() after initial system init
is complete (and after GPIOs are set up).
- CONFIG_AC_POWER_STATUS
Monitor the state of the AC power input and drive out a GPIO to
the AP indicating this state. The GPIO will be driven low when
AC power is not connected, and high when it is connected. This
uses GPIO_AC_STATUS for this purpose.
Description
Languages
C
64.7%
Lasso
20.7%
ASL
3.6%
JavaScript
3.2%
C#
2.9%
Other
4.6%