diff options
author | Tom Hughes <tomhughes@chromium.org> | 2020-01-15 15:12:41 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-01-15 23:47:49 +0000 |
commit | eafe107cb3e577934a69faa89365da12b7b39c80 (patch) | |
tree | 69ab76b382ba72f06fc0b197c99e59541bc01a2c /docs | |
parent | dd8ad062cd98ce21282319bd7099f315da225d1f (diff) | |
download | chrome-ec-eafe107cb3e577934a69faa89365da12b7b39c80.tar.gz |
docs/fingerprint: Update factory flashing instructions
BRANCH=none
BUG=none
TEST=view in gitiles
Change-Id: I125b8ca2f0b30ca7d8fb8ff68da7b6537f659672
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2003888
Commit-Queue: Craig Hesling <hesling@chromium.org>
Reviewed-by: Craig Hesling <hesling@chromium.org>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/fingerprint/fingerprint-factory-requirements.md | 19 | ||||
-rw-r--r-- | docs/fingerprint/fingerprint.md | 25 |
2 files changed, 35 insertions, 9 deletions
diff --git a/docs/fingerprint/fingerprint-factory-requirements.md b/docs/fingerprint/fingerprint-factory-requirements.md index 2691899413..dfd66d8eb1 100644 --- a/docs/fingerprint/fingerprint-factory-requirements.md +++ b/docs/fingerprint/fingerprint-factory-requirements.md @@ -43,6 +43,17 @@ that Chrome OS supports unibuild, there may be multiple firmware binaries in the directory since multiple sensors may be used across a single "board" (e.g., the `hatch` board can use either `bloonchipper` or `dartmonkey`). +The correct firmware type to use for a given board can be discovered with the +following command: + +```bash +(dut) $ cros_config /fingerprint board +dartmonkey +``` + +The corresponding firmware for the above command would be +`/opt/google/biod/fw/dartmonkey_*.bin`. + Note that the fingerprint team continuously releases updates to the firmware, so SIEs should watch for version changes in ToT if they are maintaining a separate factory branch. @@ -51,9 +62,9 @@ factory branch. When the FPMCU is completely blank a low-level flashing tool must be used to program an initial version of the FPMCU firmware. It’s possible to use the -`flash_fp_mcu` script as this low-level flashing tool, though since it requires -the AP and is not necessarily robust against failures, it is not recommended to -be used. +[`flash_fp_mcu`] script as this low-level flashing tool, though since it +requires the AP and is not necessarily robust against failures, it is not +recommended for mass-production. The initial version of the FPMCU firmware should be flashed either by the module house or by the factory. Once an initial version of the FPMCU firmware has been @@ -455,4 +466,4 @@ Wrote /tmp/fp.1.png (14025 bytes) [rubber_finger_present]: https://chromium.googlesource.com/chromiumos/platform/factory/+/d23ebc7eeb074760e8a720e3acac4cfe4073b2ae/py/test/pytests/fingerprint_mcu.py#330 [Chrome OS Fingerprint Team]: http://go/cros-fingerprint-docs [Factory Fingerprint Sensor Testing for `nocturne`]: http://go/fingerprint-factory-testing-nocturne - +[`flash_fp_mcu`]: https://chromium.googlesource.com/chromiumos/platform/ec/+/master/util/flash_fp_mcu diff --git a/docs/fingerprint/fingerprint.md b/docs/fingerprint/fingerprint.md index 3b1e994806..21ce372755 100644 --- a/docs/fingerprint/fingerprint.md +++ b/docs/fingerprint/fingerprint.md @@ -31,6 +31,13 @@ building the EC code) are for fingerprint: * Support for the STM32F412 for the FPMCU is not yet fully complete, but it is functional enough for testing. +If you have access to a shell on your Chromebook, you can run the following +command to determine the FPMCU that it contains: + +```bash +(dut) $ cros_config /fingerprint board +``` + ## Building FPMCU Firmware Locally ### See `Makefile` target options @@ -139,10 +146,16 @@ kernel: (dut)$ cat /sys/kernel/debug/cros_fp/console_log ``` -## Production Updates +## Production Updates (Auto-Update) ### `fp_updater.sh` and `bio_fw_updater` +*** note +**NOTE**: The auto-update process requires a working version of the firmware +running on the FPMCU. See [Fingerprint Factory Requirements] for details on +flashing in the factory. +*** + [`fp_updater.sh`] and [`bio_fw_updater`] are wrappers around [`flashrom`] and require already-functioning RO firmware running on the FPMCU. It’s meant to be used in production to update the RW firmware. `fp_updater.sh` was used prior to @@ -160,9 +173,10 @@ user disables [hardware write protection]). ### `flash_fp_mcu` *** note -NOTE: This tool is really just for us to use during development or during the -RMA flow (must go through finalization again in that case). We never update RO -in the field (can’t by design). +**NOTE**: This tool is really just for us to use during development or during +the RMA flow (must go through finalization again in that case). We never update +RO in the field (can’t by design). See [Fingerprint Factory Requirements] for +details on flashing in the factory. *** [`flash_fp_mcu`] enables spidev and toggles some GPIOs to put the FPMCU (STM32) @@ -286,7 +300,7 @@ This would make it a lot easier during both development and testing. [`bloonchipper`]: https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/master/board/bloonchipper/ [`dartmonkey`]: https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/master/board/dartmonkey/ [hardware write protection]: ../write_protection.md -[`flash_fp_mcu`]: https://chromium.googlesource.com/chromiumos/platform/ec/+/master/board/nocturne_fp/flash_fp_mcu +[`flash_fp_mcu`]: https://chromium.googlesource.com/chromiumos/platform/ec/+/master/util/flash_fp_mcu [`stm32mon`]: https://chromium.googlesource.com/chromiumos/platform/ec/+/e1f3f89e7ea7945adddd0c2e6838f5e59856cff2/util/stm32mon.c#14 [`futility`]: https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/master/futility/ [`sign_official_build.sh`]: https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/master/scripts/image_signing/sign_official_build.sh @@ -301,3 +315,4 @@ This would make it a lot easier during both development and testing. [`board/nocturne_fp/dev_key.pem`]: https://chromium.googlesource.com/chromiumos/platform/ec/+/master/board/nocturne_fp/dev_key.pem [`timberslide`]: https://chromium.googlesource.com/chromiumos/platform2/+/master/timberslide [cros_ec_debugfs]: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9db44685934a2e4bc9180ea2de87a6c429672395/drivers/platform/chrome/cros_ec_debugfs.c +[Fingerprint Factory Requirements]: ./fingerprint-factory-requirements.md |