Randall Spangler 5c808ee56c Support DPTF charger current limiting
This enables the AP to limit charging current via ACPI.

BUG=chrome-os-partner:23971
BRANCH=rambi
TEST=manual
    drain battery down to <90%, then plug into AC
    (charger commands at EC console, iotools at root shell)

    iotools io_write8 0x66 0x81
    iotools io_write8 0x62 0x08
    iotools io_write8 0x62 3

    charger -> dptf limit 192, I_batt=192

    charger dptf 320
    charger -> dptf limit 320, I_batt=320

    iotools io_write8 0x66 0x80
    iotools io_write8 0x62 0x08
    iotools io_read8 0x62 -> 0x05

    iotools io_write8 0x66 0x81
    iotools io_write8 0x62 0x08
    iotools io_write8 0x62 0xff

    charger -> dptf disabled, I_batt=(something > 192)

    iotools io_write8 0x66 0x80
    iotools io_write8 0x62 0x08
    iotools io_read8 0x62 -> 0xff

Change-Id: Iace2ebbbc018143c0154310d7acd02d16a6b7339
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/185411
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
2014-02-08 00:14:48 +00:00
2014-02-06 19:27:18 +00:00
2014-02-06 19:27:18 +00:00
2012-05-11 09:11:52 -07:00
2013-12-19 00:12:24 +00:00

In the most general case, the flash layout looks something like this:

  +---------------------+
  | Reserved for EC use |
  +---------------------+

  +---------------------+
  |     Vblock B        |
  +---------------------+
  |  RW firmware B      |
  +---------------------+

  +---------------------+
  |     Vblock A        |
  +---------------------+
  |  RW firmware A      |
  +---------------------+

  +---------------------+
  |       FMAP          |
  +---------------------+
  |   Public root key   |
  +---------------------+
  |  Read-only firmware |
  +---------------------+


BIOS firmware (and kernel) put the vblock info at the start of each image
where it's easy to find. The Blizzard EC expects the firmware vector table
to come first, so we have to put the vblock at the end. This means we have
to know where to look for it, but that's built into the FMAP and the RO
firmware anyway, so that's not an issue.

The RO firmware doesn't need a vblock of course, but it does need some
reserved space for vboot-related things.

Using SHA256/RSA4096, the vblock is 2468 bytes (0x9a4), while the public
root key is 1064 bytes (0x428) and the current FMAP is 644 bytes (0x284). If
we reserve 4K at the top of each FW image, that should give us plenty of
room for vboot-related stuff.
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%