summaryrefslogtreecommitdiff
path: root/util/flash_fp_mcu
Commit message (Collapse)AuthorAgeFilesLines
* util: Fix platform name in flash_fp_mcuTom Hughes2020-05-211-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | cros_config /identity platform-name is specific to mosys and not guaranteed to be the same as the board name. Always use CHROMEOS_RELEASE_BOARD from /etc/lsb-release instead. BRANCH=none BUG=b:156650654 TEST=On ekko: flash_fp_mcu /opt/google/biod/fw/nami*.bin TEST=On kohaku: flash_fp_mcu /opt/google/biod/fw/dartmonkey*.bin TEST=On nocturne: flash_fp_mcu /opt/google/biod/fw/nocturne*.bin TEST=On dratini: flash_fp_mcu /opt/google/biod/fw/bloonchipper*.bin Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ic395e1c6bfdd5c9d4e397a50e594c03d2cf91af1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2212689 Commit-Queue: Yicheng Li <yichengli@chromium.org> Reviewed-by: Yicheng Li <yichengli@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* flash_fp_mcu: Add a config for the Volteer fingerprint MCUZhuohao Lee2020-04-071-0/+21
| | | | | | | | | | | | | | | To enable the flash_fp_mcu to update the fingerprint MCU firmware, we need to add a config for the Volteer fingerprint MCU. BUG=b:147687800 BRANCH=None TEST=use 'flash_fp_mcu ${BINARY_PATH}', the firmware is programmed correctly. Change-Id: Ib62ae29ca805985e0256c2ebee5fee633ccef082 Signed-off-by: Zhuohao Lee <zhuohao@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2089214 Reviewed-by: Alex Levin <levinale@chromium.org>
* flash_fp_mcu: Add hello test modeCraig Hesling2020-02-081-20/+23
| | | | | | | | | | | | | | | | | | Add a "hello" mode to flash_fp_mcu that bypasses file operations. The function is to only say hello to the bootloader, in order to conduct stress tests with flash_fp_mcu. BRANCH=nocturne,hatch BUG=b:143374692,b:144729003 TEST=# Ensure PS crrev.com/c/1921705 is applied. # Run http://go/bit/hesling/5791510394044416 Signed-off-by: Craig Hesling <hesling@chromium.org> Change-Id: Iadcc52f11f8186dfea35445ce5ffbb6fb40d7a36 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1921705 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Tom Hughes <tomhughes@chromium.org> Tested-by: Tom Hughes <tomhughes@chromium.org>
* flash_fp_mcu: Simplify flags buildingCraig Hesling2020-02-081-10/+10
| | | | | | | | | | | | | | | | | | | | This does not change the behavior of flash_fp_mcu. It simply removes two unnecessary variables and simplifies the flag building logic. BRANCH=nocturne,hatch BUG=b:143374692,b:144729003 TEST=# Nocturne flash_fp_mcu /opt/google/biod/fw/*.bin TEST=# Ensure PS crrev.com/c/1921705 is applied. # Run http://go/bit/hesling/5791510394044416 Change-Id: Icf96d837ed1c8a00e881fb79b42b8f8ccd893ca5 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2036602 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Tom Hughes <tomhughes@chromium.org> Tested-by: Tom Hughes <tomhughes@chromium.org>
* flash_fp_mcu: Factor out retries into constantsCraig Hesling2020-02-081-2/+5
| | | | | | | | | | | | | | | | | | | | This does not change the default behavior of flash_fp_mcu. It does, however, allow the number of retries to be overridden using env variables. BRANCH=nocturne,hatch BUG=b:143374692,b:144729003 TEST=# Nocturne flash_fp_mcu /opt/google/biod/fw/*.bin TEST=# Ensure PS crrev.com/c/1921705 is applied. # Run http://go/bit/hesling/5791510394044416 Change-Id: Ieba0cec022f3463b529655ecc204753db7404f7d Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2036601 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Tom Hughes <tomhughes@chromium.org> Tested-by: Tom Hughes <tomhughes@chromium.org>
* flash_fp_mcu: Add retry logicCraig Hesling2020-02-081-11/+29
| | | | | | | | | | | | | | | | | | | This CL adds reset and retry logic. This is important because stm32mon sometimes fails to get the stm32 bootloader's attention on startup, so we need to reset the chip and try again. BRANCH=nocturne,hatch BUG=b:143374692,b:144729003 TEST=# Nocturne flash_fp_mcu /opt/google/biod/fw/*.bin TEST=# Ensure PS crrev.com/c/1921705 is applied. # Run http://go/bit/hesling/5791510394044416 Signed-off-by: Craig Hesling <hesling@chromium.org> Change-Id: I755d9b8cbb8813fe961f359c128c674e4c395ebb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1913626 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* flash_fp_mcu: Fix spidev flakinessCraig Hesling2019-11-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | This small 100ms sleep is necessary to stabilize the spidev driver. Without it, we have seen that stm32mon is unable to catch the stm32h743 bootloader on the first attempt. This issue became more noticeable with the STM32H743 Rev V. Among other things, the following log shows test results from before adding this sleep and the flash_fp_mcu stress test results after adding this sleep: https://drive.google.com/open?id=1opJn5fPXxUMjMZz0VDtmqpCXN0mVnBr5 BRANCH=nocturne,hatch BUG=b:143374692,b:144729003,b:135033816 TEST=# Ensure PS crrev.com/c/1921705 is applied. # Run http://go/bit/hesling/5791510394044416 TEST=See the testing done in the above Google Drive log. Change-Id: I1777c894e1dd8911df4d407e33dc677373146eb1 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1925174 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* flash_fp_mcu: Add pwr enable for hatch followersCraig Hesling2019-10-101-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | This change ensures that the power is enabled for the FPMCU. This change is valid for all hatch followers. BRANCH=hatch BUG=b:142001487 TEST=cros_workon --board=hatch start chromeos-base/ec-utils-test emerge-hatch chromeos-base/ec-utils-test cros deploy --root=/usr/local dut1 chromeos-base/ec-utils-test # Manually power off the fpmcu cd /sys/class/gpio echo 467 >export echo out >gpio467/direction echo 0 >gpio467/value echo 467 >unexport # ectool --name=cros_fp version # should fail # flash_fp_mcu prior to this CL should fail here, also # determine the proper firmware for fp board and replace below flash_fp_mcu /opt/google/biod/fw/*.bin # Ensure that flash_fp_mcu succeeds Change-Id: Ia96690d49bb4e5bb25aeebddcc08687b13a43b0b Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1845781
* flash_fp_mcu: add options for flash read/write protectionTom Hughes2019-09-181-3/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Defaults to disabling both read and write flash protection, but you can disable either or both with these new commandline flags. This is primarily going to be used for testing (e.g., RDP1 to RDP0 causing mass erase). BRANCH=nocturne,nami BUG=chromium:890059 TEST=dut-control fw_wp_state:force_off flash_fp_mcu /opt/google/biod/fw/nami_fp_v2.2.133-31dfe0b1a.bin ectool --name=cros_fp version TEST=flash_fp_mcu -r /tmp/rb.bin diff /tmp/rb.in /opt/google/biod/fw/nami_fp_v2.2.133-31dfe0b1a.bin TEST=dut-control fw_wp_state:force_on ectool --name=cros_fp flashprotect enable ectool --name=cros_fp reboot_ec dut-control fw_wp_state:force_off flash_fp_mcu -r --noremove_flash_read_protect /tmp/rb.bin echo $? => 1 ectool --name=cros_fp version => works flash_fp_mcu -r /tmp/rb-erase.bin hexdump /tmp/rb-erase.bin => all 0xff Change-Id: I42f7daf08dcf229a4980c88a24e6882be7c0e8d6 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1474743
* util: Unify separate flash_fp_mcu scripts into single common oneTom Hughes2019-07-231-0/+265
For fingerprint firmware we are moving towards a model where the "board" (in EC terminology) is a specific MCU+FP_SENSOR combination and not tied to the main system board that it's connected to (e.g., "hatch", "nocturne", etc.). This change decouples flash_fp_mcu from the EC "board". BRANCH=none BUG=b:136678758,b:137108509 TEST=make buildall -j hatch: flash_fp_mcu /opt/google/biod/fw/hatch_fp_v2.0.1359-6f54be08d.bin nocturne: flash_fp_mcu /opt/google/biod/fw/nocturne_fp_v2.0.1765+87bb17a39.bin nami: flash_fp_mcu /opt/google/biod/fw/nami_fp_v2.2.144-7a08e07eb.bin Cq-Depend:chromium:1705055 Change-Id: Idfe298f59ab9df8657a570cc47e956b4e94ee1a1 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1704808 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Nicolas Norvez <norvez@chromium.org>