diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2018-02-14 15:20:09 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-02-16 18:47:52 -0800 |
commit | 5946911129779469abc40e40beb278c1685af462 (patch) | |
tree | 2276e781353f50c02daef46f22c10e54087d77d7 /board/fizz | |
parent | f29bf0fbbd0e83fcae6dd71cb2bc23647c80b8be (diff) | |
download | chrome-ec-5946911129779469abc40e40beb278c1685af462.tar.gz |
CBI: Make data offset and size variable
Currently CBI data offset and size are fixed. This patch makes them
variable. Each data item consists of <tag><size><value> where <tag>
is a numeric value assigned to each data item, <size> is the number
of bytes used for <value>.
BUG=b:70294260
BRANCH=none
TEST=Use 'ectool cbi set' to set board version, oem, sku.
Verify the contents by cbi console command and ectool cbi get.
1. ectool cbi set 0 0x202 2 2 (Init CBI and write board ver. of size 2)
2. ectool cbi set 1 1 1 (write oem id of size 1)
3. ectool cbi set 2 2 1 (write sku id of size 1)
4. ectool cbi get 0
514 (0x202)
5. ectool cbi get 1
1 (0x1)
6. ectool cbi get 2
2 (0x2)
7. Run cbi console command:
CBI_VERSION: 0x0000
TOTAL_SIZE: 18
BOARD_VERSION: 514 (0x202)
OEM_ID: 1 (0x1)
SKU_ID: 2 (0x2)
43 42 49 8c 00 00 12 00 00 02 02 02 01 01 01 02
01 02
Change-Id: I5a30a4076e3eb448f4808d2af8ec4ef4c016ae5e
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/920905
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'board/fizz')
-rw-r--r-- | board/fizz/board.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/board/fizz/board.c b/board/fizz/board.c index d3de09dc05..cc4450cbcc 100644 --- a/board/fizz/board.c +++ b/board/fizz/board.c @@ -503,7 +503,7 @@ static void set_charge_limit(int charge_ma) void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma, int charge_mv) { - uint32_t brd_ver = 0; + uint32_t ver = 0; int p87w = 0, p65w = 0, p60w = 0; /* @@ -521,7 +521,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, * If CBI isn't initialized or contains invalid data, we assume it's * a new board. */ - if (cbi_get_board_version(&brd_ver) == EC_SUCCESS && brd_ver < 0x0202) + if (cbi_get_board_version(&ver) == EC_SUCCESS && ver < 0x0202) return set_charge_limit(charge_ma); /* * We have three FETs connected to three registers: PR257, PR258, |