Randall Spangler c2a29498dc Add new hcdebug modes to skip printing duplicate host commands
If the EC receives a second host command with the same command code
within 50ms, it prints '+' instead of the full command debug output.
This reduces debug output during software sync by a factor of 20.
This is the default mode, also settable via 'hcdebug normal'.

The previous behavior is available via 'hcdebug every'.

What used to be 'hcdebug on' is now 'hcdebug params'.

'hcdebug off' turns off printing received host commands entirely,
though error result codes will still be printed.

BUG=chrome-os-partner:20647
BRANCH=none
TEST=manual
   From a root shell, 'ectool hello && ectool hello' generates debug output
   '[48.498943 HC 0x01]+'.
   Then 'hcdebug every' and repeat.  See both 0x01 commands.
   Then 'hcdebug params' and repeat.  See params for request/response.
   Then 'hcdebug off' and repeat.  No output.

Change-Id: If02baf39435c2a6183e0772a491225ebc5a0b7a6
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/60666
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
2013-07-02 09:32:45 -07:00
2013-07-01 10:19:49 -07:00
2013-07-01 10:19:49 -07:00
2013-07-01 16:14:16 -07:00
2013-07-01 16:14:16 -07:00
2013-07-01 16:14:16 -07:00
2013-04-29 23:31:28 -07:00
2012-05-11 09:11:52 -07:00
2013-04-29 03:47:50 -07:00
2011-12-08 19:18:06 +00:00
2013-04-05 14:28:42 -07:00

- 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_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.

- CONFIG_PMU_FORCE_FET

	Force switching on and off the FETs on the PMU controlling various
	power rails during AP startup and shutdown sequences.
	This is mainly useful for bringup when we don't have the corresponding
	sequences in the AP code.

- CONFIG_KEYBOARD_TEST

	Turn on keyboard testing functionality. This enables a message which
	received a list of keyscan events from the AP and processes them.
	This will cause keypresses to appear on the AP through the same
	mechanism as a normal keyboard press.

Description
No description provided
Readme 1.4 GiB
Languages
C 64.7%
Lasso 20.7%
ASL 3.6%
JavaScript 3.2%
C# 2.9%
Other 4.6%