diff options
author | Nicolas Boichat <drinkcat@google.com> | 2017-06-03 12:06:37 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-06-13 21:23:56 -0700 |
commit | d132e5ecbd93fa598fc495ec90718ea853962ef7 (patch) | |
tree | a90d7fe4a7db29aa8bcade2867a33e66165964f1 /chip/stm32/usb.c | |
parent | 8ba7c1762c68ad81df688c407ecf1836ce177e75 (diff) | |
download | chrome-ec-d132e5ecbd93fa598fc495ec90718ea853962ef7.tar.gz |
stm32/usb: Add support for board-specific serial number
By default, read USB serial number from flash, but provide a way
for boards to override the function (e.g., to read serial number
from unique chip id).
BRANCH=none
BUG=b:62280271
TEST=Flash hammer
lsusb -d 18d1:5022 -v -v | grep iSerial
shows different chip IDs on different boards.
Change-Id: I0917752bb8e04c1eff4dffc0b3714f63dcd942b0
Reviewed-on: https://chromium-review.googlesource.com/523045
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'chip/stm32/usb.c')
-rw-r--r-- | chip/stm32/usb.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/chip/stm32/usb.c b/chip/stm32/usb.c index 018a26ce03..5788873df0 100644 --- a/chip/stm32/usb.c +++ b/chip/stm32/usb.c @@ -657,13 +657,20 @@ static int usb_set_serial(const char *serialno) return EC_SUCCESS; } +/* By default, read serial number from flash, can be overridden. */ +__attribute__((weak)) +const char *board_read_serial(void) +{ + return flash_read_serial(); +} + /* Retrieve serial number from pstate flash. */ static int usb_load_serial(void) { const char *serialno; int rv; - serialno = flash_read_serial(); + serialno = board_read_serial(); if (!serialno) return EC_ERROR_ACCESS_DENIED; |