summaryrefslogtreecommitdiff
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* cr50: prepare to release 0.{3,4}.25Mary Ruthven2020-01-222-2/+2
| | | | | | | | | | | BRANCH=cr50, cr50-mp BUG=none TEST=none Change-Id: I284e295dd2db0564b8f89832fc47cf4d0fbc6a50 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2013450 Reviewed-by: Namyoon Woo <namyoon@chromium.org>
* fizz: restore building the ecst toolVadim Bendebury2020-01-083-0/+2808
| | | | | | | | | | | | | | | | | | The patch which dropped building tools from the util directory (https://crrev.com/c/1986943) proved to be a bit too aggressive, and broke building of BOARD=fizz. This patch reintroduces building of the missing tool BRANCH=cr50, cr50-mp BUG=none TEST='make buildall -j' succeeds. Change-Id: I7e093b3c74633eabae17834353ca72653a660563 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1990359 Reviewed-by: Marius Schilder <mschilder@chromium.org> Reviewed-by: Namyoon Woo <namyoon@chromium.org>
* utils/extras: do not build unnecessary toolsVadim Bendebury2020-01-0785-34450/+0
| | | | | | | | | | | | | | | | | | | | | The vast majority of tools built from the ./util directory and many built from ./extra/usb_updater directory are not used by Cr50, let's not build them. Also eliminating some irrelevant pre-upload checks. BRANCH=cr50, cr50-mp BUG=b:145912698 TEST=verified that all the following commands succeed: make buildall -j make BOARD=cr50 CR50_DEV=1 -j make BOARD=cr50 CR50_SQA=1 -j make -C extra/usb_updater Change-Id: I0040ceab95ad280bda86ef599b3e902addcbdcde Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1986943 Reviewed-by: Namyoon Woo <namyoon@chromium.org>
* flash_ec: Fix accidental dut-control invocationFei Shao2019-11-261-1/+1
| | | | | | | | | | | | | | | | There's a typo when calling dut_control in CL:1884252, which causes "--port" argument is missing when executing flash_ec. BUG=b:145103343 BRANCH=kukui TEST="util/flash_ec --image ${IMG} --board ${BOARD} --port 9998" works Change-Id: I8c79797be4a665bd9ab8c3770c5199f2f798c6c4 Signed-off-by: Fei Shao <fshao@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1932869 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* cr50: prepare to release 0.{3,4}.24Vadim Bendebury2019-11-222-2/+2
| | | | | | | | | | | BRANCH=cr50, cr50-mp BUG=none TEST=none Change-Id: I2bef8173536cdf4d584b93169d22c6120daed7f2 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1930141 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* flash_ec: Fix servo micro boot0 for fpmcu/usbpdCraig Hesling2019-11-221-0/+4
| | | | | | | | | | | | | | | | | This CL fixes servo micro flashing for fpmcu and usbpd. This broke after crrev.com/c/1884252. The error seen was the following: ./util/flash_ec: line 496: servo_micro_usbpd_boot0: command not found BRANCH=nocturne,hatch BUG=none TEST=./util/flash_ec --board=dartmonkey --image=./build/nocturne_fp/ec.bin Signed-off-by: Craig Hesling <hesling@chromium.org> Change-Id: Ic98fb31e29ee25d5397d38d5e742727a909994e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1924990 Reviewed-by: Jett Rink <jettrink@chromium.org>
* cr50: switch to new dev keyVadim Bendebury2019-11-212-8/+8
| | | | | | | | | | | | | | | The new RO has a new dev key, modify the dev manifest to match the new RO expectations. BUG=b:74100307 BRANCH=cr50, cr50-mp TEST=built a node locked image for ro 0.0.11 and observed it boot and run Change-Id: I3ce9ca8d23be6b2d959d4457ea6d08afa05376ac Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1866173 Reviewed-by: Andrey Pronin <apronin@chromium.org>
* flash_ec: enable UUT (UART) programming from microJett Rink2019-11-111-0/+27
| | | | | | | | | | | | | | | | | | | CL:1884410 adds the necessary dut control for servo micro that depends on the new servo micro console command (CL:1884190). If you make the appropriate rework on servo micro to control the DIR2 pin on the level shifter for the EC UART with TP1, then flash EC will successfully flash an EC using UUT (UART) with servo micro device. BRANCH=none BUG=b:143163043 TEST=flashed phaser using reworked servo_micro Cq-Depend:chromium:1884410 Change-Id: Ic45abb32d20f5c357d1fef154feea31cabb17672 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1884252 Reviewed-by: Keith Short <keithshort@chromium.org>
* usbc: Get current DP pin mode and CC stateAyushee2019-11-011-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | To configure Intel virtual mux and burnside bridge retimer, current DP pin mode, cc state and the type of the cable is required. Hence, implemented a board level function that returns the current DP pin mode and added a function that returns the type of cable inaccordance to the cable vdo response. Also added a new version to USB_PD_CONTROL host command, to return the DP mode, cc_state and the cable type BUG=b:141971044 BRANCH=None TEST=Verifed with ectool usbpd command on CPU console, able to get correct CC state, pin mode and cable type Pin mode: USB:0x0 (No DP) DP cable:0x4 (Mode:C) USBC dock:0x8 (Mode:D) Change-Id: If87ae6b77e5fa2ceaa22319dfa2d2c802460edfa Signed-off-by: Ayushee <ayushee.shah@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1835030 Reviewed-by: Keith Short <keithshort@chromium.org>
* make_linux_ec_commands_h.sh: Fail gracefully outside of chrootStefan Reinauer2019-10-291-0/+6
| | | | | | | | | | | | | | | | | Running make buildall outside of chroot will fail because the make_linux_ec_commands_h.sh script expects CROS_WORKON_SRCROOT to be set. Exit gracefully with a message if it is not. BUG=none TEST=make buildall outside of chroot BRANCH=none Change-Id: I838a3b551405575650f46281598a466d008222e8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1851107 Commit-Queue: Stefan Reinauer <reinauer@google.com> Tested-by: Stefan Reinauer <reinauer@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
* util: Add optional gdbinit for EC debuggingCraig Hesling2019-10-241-0/+172
| | | | | | | | | | | | | | | | | | | This gdbinit sets up useful functions and initialization for EC debugging. BRANCH=none BUG=none TEST=ln -s util/gdbinit .gdbinit Tested debugging on stm32h743. TEST=make BOARD=nocturne_fp BOARD=nocturne_fp GDBSERVER=openocd GDBPORT=3333 gdb # Check that the right object files were added Change-Id: I0e15501832d4e65e8779aee2c0dc8ca170fa5f3c Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1856380 Reviewed-by: Harry Cutts <hcutts@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* ectool: Add new mkbpget command to get button/switch statusNicolas Boichat2019-10-161-0/+83
| | | | | | | | | | | | | | | | The base attached switch is not exposed to userspace via /dev/input, so provide an alternative way to read it on boot. BRANCH=none BUG=b:109839180 TEST=ectool mkbpget buttons/switches prints correct states Change-Id: Id0314c7f15149ec8d863e43bd4a05a0f7bed9f02 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1844655 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org>
* util/ectool: move `struct command` into `ectool.h`Harry Cutts2019-10-162-9/+16
| | | | | | | | | | | | | | | This allows it to be used by private host binaries (such as the one in https://crrev.com/i/1914158), which may wish to follow the same pattern as `ectool`. While we're at it, add some documentation comments. BRANCH=none BUG=chromium:1008568 TEST=Check `ectool` builds and runs. Change-Id: I94b02f9b734f65b1344a79d6ac8752c40ecf1f04 Signed-off-by: Harry Cutts <hcutts@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1861075 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util: add build include for private host toolsHarry Cutts2019-10-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | We have provision for private host commands (see the `EC_PRIVATE_HOST_COMMAND_VALUE` macro), but no way to make a private host-side tool that can share the host command protocol implementation in util/. This CL allows a private directory to be symlinked as util/private and have its build.mk file included in the build. For an (internal-only) example of what you might put in private, see https://crrev.com/i/1914158. BRANCH=none BUG=chromium:1008568 TEST=Patch https://crrev.com/i/1914158 in the private repo (or add a util directory there with a build.mk), then from the ec directory, run `ln -s ../private/util util/private`. Run a build and verify that the private build.mk gets run. Change-Id: Ie1ad00cb454ba9ed57e4e9b24d4f5d397ca0d7a5 Signed-off-by: Harry Cutts <hcutts@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1836757 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
* ec_commands: Obsolete v0 and declare v1 of host command EC_CMD_POWER_INFOTim Wawrzynczak2019-10-051-9/+29
| | | | | | | | | | | | | | | | | | | | | v0 of this command is no longer used (no handler is defined), so it is removed. The new host command version gives the AP the ability to dynamically change its power settings based on the battery status, A/C, USB-PD, and the static configuration of the system and its battery. Also modified ectool to support v1 of this command and deprecate support for v0. BUG=b:139840435 BRANCH=master TEST=buildall Change-Id: I516d838581400314e626fd679ca1c5afd5e34ff6 Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1825880 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* printf: Enable compile-time format checkingEvan Green2019-10-051-0/+1
| | | | | | | | | | | | | | | Add annotations to allow the compiler to check printf-style format strings in the EC. BUG=chromium:984041 TEST=make -j buildall BRANCH=None Change-Id: Ic39f37f8362372de7d289becea684d9da535599a Signed-off-by: Evan Green <evgreen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1733101 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* flash_ec: Look for flashrom in PATH before /usr/sbinRaul E Rangel2019-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | /usr/sbin should have lower priority than $PATH. This allows pointing to a different version of flashrom by setting the path variable. It shouldn't have any impact because by default flashrom is installed in /usr/sbin. BUG=none BRANCH=none TEST=PATH=/tmp/zork:$PATH flash_ec --board=zork --image=foo.bin Change-Id: Ie656bec10145734bdec1f067b08f164afcf89e90 Signed-off-by: Raul E Rangel <rrangel@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1842034 Commit-Queue: Edward Hill <ecgh@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* flash_ec: Support image name with spacesRaul E Rangel2019-10-041-2/+2
| | | | | | | | | | | | BUG=none BRANCH=none TEST=Flashed a zork ec image with a space in the name Change-Id: I9915f04f222de7a34e757fddcb30563d66093c71 Signed-off-by: Raul E Rangel <rrangel@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1842033 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org>
* util/comm-i2c: Add switch to specify I2C busHarry Cutts2019-10-044-34/+73
| | | | | | | | | | | | | | | | | | | | Currently, devices running CrOS EC that aren't actually the embedded controller (such as touchpad or fingerprint MCUs) can only be contacted over I2C if they are in the device tree. To avoid having to recompile the Kernel, Coreboot, or `ectool`, the `--i2c_bus` switch allows `ectool` to be used for testing as-is. BRANCH=none BUG=none TEST=Checked various commands (hello, version, inventory...) with `--i2c_bus=7`, connecting to a MAX32660. Verified that a contradictory `--interface` switch is rejected. Checked that invalid bus numbers (≥32) are rejected. Change-Id: I92f3307bbbdf88978b9f8271610a3ae222279767 Signed-off-by: Harry Cutts <hcutts@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1828064 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* fpsensor: Add async FP_CMD_CONTEXTTom Hughes2019-10-021-0/+55
| | | | | | | | | | | | | | | | | | | | Setting the context now triggers a reset of the sensor library (see I3e25bdf7eaaf99f3801547e11a6c524f924f4726), which in turn will end up calling fp_sensor_open to re-initialize the sensor. Since some calibration is performed in that command, it takes ~173 ms, which is close enough to the EC command timeout (200 ms) that it often fails. This change makes the command "asynchronous" so that userspace can poll for the result and avoid the command timeout. BRANCH=nocturne BUG=b:137288498 TEST=make buildall -j TEST=ectool --name=cros_fp fpcontext 01234567890123456789012345678901 Change-Id: I997bf9c5b9e90eceb5375dccffcb535529a86e47 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1819115 Reviewed-by: Yicheng Li <yichengli@chromium.org>
* cr50: prepare to release 0.{3,4}.23Vadim Bendebury2019-10-022-2/+2
| | | | | | | | | | | | | | Note that 0,x.22 is skipped, 0.3.22 will be used for the new factory image. BRANCH=cr50, cr50-mp BUG=none TEST=none Change-Id: I4f6d2fefcfade38e9f8443e4faf2c0a58c56ff36 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1834525 Reviewed-by: Andrey Pronin <apronin@chromium.org>
* Unify #! use in python scriptsStefan Reinauer2019-10-019-9/+9
| | | | | | | | | | | | | | | | | | Right now we have several different versions of #! in our python scripts. Unify them all and specify that we are using python2. Signed-off-by: Stefan Reinauer <reinauer@chromium.org> BUG=none BRANCH=none TEST=make buildall Change-Id: Iab33a3f5d4b827451a55542bcee8837b00da7867 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1817948 Commit-Queue: Stefan Reinauer <reinauer@chromium.org> Tested-by: Stefan Reinauer <reinauer@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/comm-i2c: return response length from `ec_command`Harry Cutts2019-10-011-1/+1
| | | | | | | | | | | | | | | | | | In my original implementation I returned the response code (possibly because I was confused by `ec_command_servo_spi` returning something like that), but `do_i2c_xfer` (used for all I2C passthrough stuff) breaks in that case. Changing it to return response length (consistent with the `ec_command` doc comment) fixes that problem. BRANCH=none BUG=chromium:1008568 TEST=Use `ectool i2cwrite ...` to write to one of the EC's I2C slaves (should report success instead of "Truncated read response"). Change-Id: I341c3907ac44c6c3d1086ae10b31e81062215f20 Signed-off-by: Harry Cutts <hcutts@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1830099 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* automation: move create_variant to dev/contribPaul Fagerburg2019-09-281-63/+0
| | | | | | | | | | | | | | | | | Most of the scripts to automate creating a new variant are moving to platform/dev/contrib/variant for maintenance reasons. Keeping them in one place makes it easier to coordinate changes in the scripts, instead of having them spread across different repos. It also allows keeping documentation close to the scripts. BUG=b:140261109 BRANCH=None TEST=N/A, script is being removed Change-Id: Idd9ad328d2fab34a9bd9e42c360219b75018d3af Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1829398 Reviewed-by: Jett Rink <jettrink@chromium.org>
* util/comm-i2c: upgrade to host command protocol v3Harry Cutts2019-09-261-104/+133
| | | | | | | | | | | | | | | | | | | | | We can remove the v2 code, as any boards still using it have reached end-of-life, with the exception of Samus's PD, which we only communicate with via the Kernel driver, as far as I can tell. (I verified that an `ectool` built with this change can still be used to communicate with the Samus PD.) BRANCH=none BUG=none TEST=Checked various commands (hello, version, inventory...) with `--interface=i2c` and `comm_init_i2c` modified to hard-code the I2C bus to use (as the board I tested with is not yet in sysfs). The test board is using a MAX32660, so https://crrev.com/c/1716928 was patched in for testing. Change-Id: I1e014c6f747ce29d9bf1541be51c519af98e7f45 Signed-off-by: Harry Cutts <hcutts@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1803977 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* cleanup: remove copy of pd_cc_state enumJett Rink2019-09-261-9/+9
| | | | | | | | | | | | | | | | | | | | | The EC command interface created a separate copy of the enum pd_cc_state. Remove the EC command version and move the pd_cc_state definition to the command interface. Also remove PD_CC_NO_UFP option as there is no difference between that value and PD_CC_NONE. Split PD_CC_DEBUG_ACC into separate UFP and DFP values for clarity. BRANCH=none BUG=none TEST=builds Change-Id: Ic8c4c5ac4dd340b1e605100e35acb147c226a455 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1825503 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Sam Hurst <shurst@google.com>
* iteflash.md: Update link to CrOS EC development docMatthew Blecker2019-09-251-1/+1
| | | | | | | | | | | BRANCH=none BUG=none TEST=Used Gitiles to view and follow the updated link. Change-Id: I5be72babb69e4c76b4f38f8370448bf9ab795ba0 Signed-off-by: Matthew Blecker <matthewb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1825501 Reviewed-by: Namyoon Woo <namyoon@chromium.org>
* ec: improvements in automation scriptPaul Fagerburg2019-09-211-34/+33
| | | | | | | | | | | | | | | | | | | | | | | | | Make style changes (upper case for variable names, uniform exit codes, don't need to popd when exiting) and error handling improvements in the create_variant.sh script. Add optional parameter to specify the bug number for creating the new variant. BUG=b:140261109, chromium:999705 BRANCH=none TEST=``./create_variant.sh hatch sushi && git show`` Compare board/hatch/* to board/sushi/* Also run the script with an existing board name to verify that you can't create a variant that already exists. Also run the script with a non-existent base board to verify that you can't clone something that doesn't exist. Cq-Depend: chromium:1782686 Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Change-Id: I7bad4e3f2b368dc4baf71a9ffd5460e05fd17d63 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1814396 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* 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/ecst: Fix sign issues for file sizePatrick Georgi2019-09-121-2/+2
| | | | | | | | | | | | | | | | | | Since we'll never have to deal with 2GB+ sized images, don't bother with larger data types. Found by Coverity Scan #203948 BUG=none BRANCH=none TEST=none Change-Id: I95cb75d693b94444a87d2100a3f25ddae87a5faa Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1801207 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* util/ecst.c: Improve return values in calc_header_crc_binPatrick Georgi2019-09-121-3/+3
| | | | | | | | | | | | | | | | Ensure consistency in types (TRUE/FALSE) and document the outcome in the function header. BUG=none BRANCH=none TEST=none Change-Id: Ie3786f5de6f1a93813afd4a88be2994b690886c6 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1793587 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* util/ecst.c: Catch errors in remaining fseek callsPatrick Georgi2019-09-121-3/+7
| | | | | | | | | | | | | | | | | | There's little reason why fseek should fail, but when it does, we're not looking where we think we look. Found by Coverity Scan #58144 BUG=none BRANCH=none TEST=none Change-Id: I7a784cb96def611ae5802d530882eb14daf58ce1 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1793585 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* util: Add missing "meanings" from ec_status codesTom Hughes2019-09-091-1/+6
| | | | | | | | | | | | | | | The "meanings" array is used to translate the ec_status enums, but haven't been kept in sync. This results in valid ec_status return values showing up as "<unknown>". BRANCH=none BUG=none TEST=make buildall -j Change-Id: I82a8fe0e60716b11ca305a1a5bef2e26fec5b1aa Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1790567 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/ectool: check malloc for NULLPatrick Georgi2019-09-071-0/+2
| | | | | | | | | | | | | | | | Found by Coverity Scan #141760. BUG=none BRANCH=none TEST=none Change-Id: Icba3268919e8dde937e00172c288b10e2e3f6e87 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1789147 Tested-by: Patrick Georgi <pgeorgi@chromium.org> Auto-Submit: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* util/ecst: check fseek/ftell return valuesPatrick Georgi2019-09-071-26/+35
| | | | | | | | | | | | | | | | | | | | Found by Coverity Scan #5814[14-9], #58159, #58160 Also fix a bunch of typos in comments and variable names and remove extraneous fseek(..., 0, SEEK_SET) before moving to the actual offset (again with SEEK_SET). BUG=none BRANCH=none TEST=none Change-Id: I9d7cb950a7a659c5abb1ff7d6d2c48d623ee515c Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1789145 Tested-by: Patrick Georgi <pgeorgi@chromium.org> Auto-Submit: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* util/ectool.c: Fix resource leakPatrick Georgi2019-09-071-0/+1
| | | | | | | | | | | | | | | | Found by Coverity Scan #141759. BUG=none BRANCH=none TEST=none Change-Id: I7b17330aa25a6d23c1a547829d6908931baa7891 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1789146 Tested-by: Patrick Georgi <pgeorgi@chromium.org> Auto-Submit: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/ecst.c: ensure string terminationPatrick Georgi2019-09-071-5/+9
| | | | | | | | | | | | | | | | Found by Coverity Scan #58136, #58137 BUG=none BRANCH=none TEST=none Change-Id: Ie17330c4766f6537134117ecd81ecd78cd408132 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1789144 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Auto-Submit: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* ec: create initial EC image for a new variantPaul Fagerburg2019-09-061-0/+64
| | | | | | | | | | | | | | | | | | | | | | Creating an initial EC image for a variant is just a copy of the base board's files. After all of the CLs to create the variant have landed, then we can make changes specific to the variant. BUG=b:140261109, chromium:999705 BRANCH=none TEST=``./initial_ec_image.sh hatch sushi && git show`` Compare board/hatch/* to board/sushi/* Also run the script with an existing board name to verify that you can't create a variant that already exists. Also run the script with a non-existent base board to verify that you can't clone something that doesn't exist. Change-Id: Ic54b0b5a8b41476779dcbb6af63bd0ddfaff2896 Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1782686 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/ectool: Free memory before giving upPatrick Georgi2019-09-041-0/+2
| | | | | | | | | | | | | | | Found by Coverity Scan #203652, #203653 BUG=none BRANCH=none TEST=none Change-Id: I195773c42d4d0dfa35836e3e442cca15125ac9ea Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1781471 Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/iteflash: Close file on error pathPatrick Georgi2019-09-041-0/+1
| | | | | | | | | | | | | | | Found by Coverity Scan #58166 BUG=none TEST=none BRANCH=none Change-Id: I1caa2a407a2c623c006c500a56c7048649ebb158 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1781470 Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/uut: Fix printf formatsPatrick Georgi2019-09-042-7/+7
| | | | | | | | | | | | | | | Found by Coverity Scan #1194{41,48,49,50,53,54,55} BUG=none BRANCH=none TEST=none Change-Id: I8fee672359f7b13639d09e603f3aaa11de05e820 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1781468 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* util/uut/l_com_port: coding style fixPatrick Georgi2019-09-041-4/+4
| | | | | | | | | | | | | | | | The upload hooks complained about using the function name in the string, asking to use __file__ instead. BUG=none BRANCH=none TEST=repo upload is happy now Change-Id: I089e3acd3015cfea74439b2cccd5bb07eb5a4045 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1781467 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* util/comm-i2c: Fix memory leakPatrick Georgi2019-09-041-1/+2
| | | | | | | | | | | | | | | Found by Coverity #58167 BUG=none BRANCH=none TEST=none Change-Id: I434d4b140683b4c3440c30b232fab34d781da9d4 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1781466 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* audio_codec: remove unused EC_FEATURE codeTzung-Bi Shih2019-09-031-1/+0
| | | | | | | | | | | | | | | | Audio codec don't use EC feature. Remove all EC_FEATURE-related code. BRANCH=none BUG=b:122027734, b:123268236 TEST=make BOARD=kukui_scp -j Change-Id: Ib46c5a9bc1486547b81b76d3683e1faf7ff8483d Signed-off-by: Tzung-Bi Shih <tzungbi@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1697885 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
* util/ectool: Protect against out-of-memory conditionPatrick Georgi2019-08-281-1/+6
| | | | | | | | | | | | | | | Found by Coverity Scan BUG=none BRANCH=none TEST=none Change-Id: I9c29f915a732e8dc762b6ebcdffda6f433e983c2 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1768652 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* cr50: prepare to release 0.{3,4}.21Vadim Bendebury2019-08-272-2/+2
| | | | | | | | | | | BRANCH=cr50, cr50-mp BUG=none TEST=none Change-Id: Ib94b414de9531c9ea603ba377186c90b1c9fd91c Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1769492 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* flash_ec: Add support for dartmonkey and bloonchipperCraig Hesling2019-08-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | This adds the aforementioned aliases to the flash_ec script. These aliases already exist as boards, thanks to crrev.com/c/1715638. Aliases: dartmonkey --> nocturne_fp bloonchipper --> hatch_fp BRANCH=none BUG=b:140059271,b:136678758,b:137108509 TEST=sudo servod -b dragonclaw ./util/flash_ec --board=bloonchipper --image=build/bloonchipper/ec.bin TEST=sudo servod -b dragontalon ./util/flash_ec --board=dartmonkey --image=build/dartmonkey/ec.bin Change-Id: Id4476da4cab9e72092b529c1bfc52acb4edd44cd Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1769491 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* flash_ec: npcx_uut uses "--read-flash" flag to read EC binaryNamyoon Woo2019-08-261-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flash_ec used to get a flash memory size from EC UART command "flashinfo", and pass it to uartudatetool with read command. If EC is in a bad status, then it failed to read EC binary, because flashinfo wasn't responded. Thanks to the patch crrev.com/c/1763888, flash_ec doesn't need to pass the flash memory size to uartupdatetool to read binary. Instead, it just passes "--read-flash". This CL also handles the comparison between the different sized binaries. BUG=b:139752920 BRANCH=null TEST=manually ran flash_ec on platforms. $ util/flash_ec --board ${BRD} --image ${IMG} --verify - Checked on hatch with ccd and servo_v2. - Checked on liara with ccd, servo_v2 and servo_micro. - Checked on fleex with ccd and servo_micro. - Checked on scarlet with ccd. Cq-Depend:chromium:1763888 Change-Id: I196420dc29ce95c6737dbc241ba92660557d2bc5 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1766095 Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Mary Ruthven <mruthven@chromium.org>
* util: UartUpdateTool: support "--read-flash" flagCHLin2019-08-263-13/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch creates a table to map the chip/device ID to the size of the internal flash. When the "--read-flash" flag is given, uut will read the device ID and chip ID registers and use them to look up the table to get the flash size. Afterward, uut will read the flash content from flash according to the size and write it to the file specified by the "--file" flag. BUG=b:139752920 BRANCH=none TEST=manually ran the following commands on yorp and grunt. dut-control --port=9999 ec_ec3po_interp_connect:off dut-control --port=9999 ccd_keepalive_en:on dut-control --port=9999 ccd_ec_boot_mode_uut:on dut-control --port=9999 cold_reset:on dut-control --port=9999 cold_reset:off dut-control --port=9999 ccd_ec_boot_mode_uut:off ./build/${BOARD}/util/uartupdatetool --port=pts/15 --baudrate=115200 --read-flash --file=<file_name> diff ./build/yorp/ec.bin <file_name> Change-Id: If802c76e1690af2d84edea950d3755fa87347159 Signed-off-by: CHLin <CHLIN56@nuvoton.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1763888 Reviewed-by: Namyoon Woo <namyoon@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: CH Lin <chlin56@nuvoton.com> Tested-by: CH Lin <chlin56@nuvoton.com>