summaryrefslogtreecommitdiff
path: root/chip/stm32/usb.c
diff options
context:
space:
mode:
authorNicolas Boichat <drinkcat@google.com>2017-06-03 12:06:37 +0800
committerchrome-bot <chrome-bot@chromium.org>2017-06-13 21:23:56 -0700
commitd132e5ecbd93fa598fc495ec90718ea853962ef7 (patch)
treea90d7fe4a7db29aa8bcade2867a33e66165964f1 /chip/stm32/usb.c
parent8ba7c1762c68ad81df688c407ecf1836ce177e75 (diff)
downloadchrome-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.c9
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;