Louis Yung-Chieh Lo a77d59b19a Fixe the bug in keyboard state restore.
For legacy issue, the keyboard controller defaults to turn on XLATE
(translate) bit (which means EC generates scan codeset 1 althought
it internally supports codeset 2). In normal case, the BIOS/OS would clear
the XLATE bit to ask EC to generate codeset 2.

However, when EC jumps happens, the internal keyboard state doesn't know
this and always reset XLATE as on. This makes the EC generate garbage to OS.

So, this patch fixes would clear the XLATE if the EC reboot is a warmboot
based on the assumption that moderm OSes clear the XLATE bit.

BUG=chrome-os-partner:9102
TEST=on link
% ectool reboot_ec A  (from r438 to r438)
  Expect keyboard is hang (r438 is still buggy)
% chromeos-firmwareupdater --mode=recovery
  Expect fail at gec_need_2nd_pass()
% ectool reboot_ec RO
  Keyboard is still working!  Bug fixed!
% ectool reboot_ec RO
  Again. Still working.

Change-Id: If47bd8d7bbbb03b810d3b464ba3d92f8ff548237
2012-04-18 13:57:11 +08:00
2012-04-17 13:44:03 -07:00
2012-02-14 11:46:16 -08:00
2011-12-08 19:18:06 +00:00
2011-10-20 15:15:01 +08: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.       |
  +--------------------+

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%