summaryrefslogtreecommitdiff
path: root/docs/fingerprint
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2020-01-15 15:12:41 -0800
committerCommit Bot <commit-bot@chromium.org>2020-01-15 23:47:49 +0000
commiteafe107cb3e577934a69faa89365da12b7b39c80 (patch)
tree69ab76b382ba72f06fc0b197c99e59541bc01a2c /docs/fingerprint
parentdd8ad062cd98ce21282319bd7099f315da225d1f (diff)
downloadchrome-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/fingerprint')
-rw-r--r--docs/fingerprint/fingerprint-factory-requirements.md19
-rw-r--r--docs/fingerprint/fingerprint.md25
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