summaryrefslogtreecommitdiff
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* cr50: prepare using blobs as RMA key sourcesVadim Bendebury2018-04-031-0/+41
| | | | | | | | | | | | | | | | | | This patch brings in both prod and test RMA server public keys as two binary files. A bash script for converting binary blob into C definition is also provided. BRANCH=cr50, cr50-mp BUG=b:73296144, b:74100307 TEST=none yet Change-Id: I2edd78164b8c912408ac7eda2e0a3a0262a8e81f Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/990782 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* util: update flash_ec to handle unibuild emerge pathsJett Rink2018-03-301-2/+9
| | | | | | | | | | | | | | | | | If a baseboard exists in the build.mk for a board, use that as the unibuild path. BRANCH=none BUG=b:77128456 TEST=tested the following command with correct results: flash_ec --board=yorp (baseboard) flash_ec --board=bip (baseboard) flash_ec --board=grunt (non-baseboard) Change-Id: Ic4573cb01849275d1333ff9e715f69a4c95444b0 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/986753 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* battery_temp: initial commit.Todd Broch2018-03-291-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | Simple script to read battery temperature and return degrees Celsius if readable, 'error' if unreadable or 'unknown' otherwise. Signed-off-by: Todd Broch <tbroch@chromium.org> BRANCH=none BUG=chromium:816744 TEST=manual, run on following duts with return values of: elm: <degC> eve: <degC> expresso: <degC> heli: <degC> peppy: 'unknown' samus: <degC> squawks: <degC> | 'error' if battery removed. Change-Id: I3147ceb3ea0e0a22c08617e212c66d0c3e58b300 Reviewed-on: https://chromium-review.googlesource.com/982815 Commit-Ready: Todd Broch <tbroch@chromium.org> Tested-by: Todd Broch <tbroch@chromium.org> Reviewed-by: Duncan Laurie <dlaurie@google.com>
* atlas: add board name to flash_ecCaveh Jalali2018-03-291-0/+1
| | | | | | | | | | | | | | | | | This teaches flash_ec that the atlas EC is an NPCX with internal SPI flash. BRANCH=none BUG=b:75070158 TEST=NONE Change-Id: I8d6d9556ebc7408695aaad764847d1cc06d95eae Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/965637 Commit-Ready: caveh jalali <caveh@chromium.org> Tested-by: caveh jalali <caveh@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Duncan Laurie <dlaurie@google.com>
* cr50 release: use signer executable installed on chrootVadim Bendebury2018-03-271-4/+9
| | | | | | | | | | | | | | | | | A new ebuild allows to install codesigner as /usr/bin/cr50-codesigner, let's make use of it instead of manually copied instance of the signer. BRANCH=none BUG=b:74100307 TEST=verified that error message is generated if cr50-codesigner is not installed, and that signing succeeds once cr50-codesigner is installed. Change-Id: I468803443e7b052a8ecb074ee80f63f588888985 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/982495 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* cr50: update manifests for both dev and prod versionsVadim Bendebury2018-03-232-2/+2
| | | | | | | | | | | BRANCH=cr50, cr50-mp BUG=none TEST=none Change-Id: I377aab1b5a729a0ca98e2340050300d938e51bd5 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/978541 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* bip: initial add of bip skeletonJett Rink2018-03-221-0/+1
| | | | | | | | | | | | BRANCH=none BUG=b:75972988 TEST=build all Change-Id: Ibfadaee3b9584a7e2c87f6f607be4cba20f338b7 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/972142 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org>
* util/unpack_ftb.py: a script to convert FTB file into bin fileWei-Han Chen2018-03-221-0/+105
| | | | | | | | | | | | | | | | | | ST firmwares are released in FTB format, which can't be written to flash directly. This python script can convert a file in FTB format into bin file. Currently, we only support FTB files of whiskers touchpad firmware. BRANCH=none BUG=b:70482333 TEST=manual Signed-off-by: Wei-Han Chen <stimim@chromium.org> Change-Id: I179de12663580881347a31f11b5b10659e00b879 Reviewed-on: https://chromium-review.googlesource.com/918603 Commit-Ready: Wei-Han Chen <stimim@chromium.org> Tested-by: Wei-Han Chen <stimim@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
* fpsensor: add enrollment and matching interfaceVincent Palatin2018-03-201-11/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | Add the state machine and the interfacing to the enrollment and matching algorithm providing by the private driver part. Implement the host commands interface for it (based on MKBP event) along with the console debug commands to exercise it. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:72360575 TEST=On ZerbleBarn console, use 'fpenroll' then 'fpmatch' for several fingers. TEST=With ZerbleBarn and a servo-v2, retrieve and upload templates with 'ectool_servo fptemplate'. TEST=On Meowth, exercise with the prototype of biod CrosFpBiometricsManager. CQ-DEPEND=CL:*555078 Change-Id: I10b0d76d3faa898a682cf9a2eb7fc7e212b0c20c Reviewed-on: https://chromium-review.googlesource.com/886401 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
* cr50 signer: allow to use directory to specify source filesVadim Bendebury2018-03-191-7/+16
| | | | | | | | | | | | | | | | | | | | | | | In most cases when Cr50 signer script is invoked, the input elf files are stored in the same directory and named ec.RW.elf and ec.RW_B.elf, the way they produced by the EC makefile. Let's allow create_released_image.sh to accept a directory name instead of two elf file names. BRANCH=none BUG=none TEST=verified that the script properly handles both old and new command line options (allows to pass individual elf files and a directory name). Change-Id: I40bb8983fd97e6cd82e235308622ba2f20119ce5 Signed-off-by: Vadim Bendebury <vbendeb@google.com> Reviewed-on: https://chromium-review.googlesource.com/963618 Commit-Ready: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> Reviewed-by: caveh jalali <caveh@chromium.org>
* servod: add command muxing in ec3poNick Sanders2018-03-192-10/+42
| | | | | | | | | | | | | | | | This creates a second pty for pty_driver to open, to prevent the need for freezing the user pty. This also allows the user pty to fully log and print all output. BRANCH=None BUG=b:74023102,b:73310923 TEST=servod is fast now, recovery works CQ-DEPEND=CL:958127 Change-Id: Ib369a5e64838ded98719d76f8159d71a97fe08ad Signed-off-by: Nick Sanders <nsanders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/958128 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* driver: lsm6dsm: Add ectool support.Gwendal Grignou2018-03-191-0/+3
| | | | | | | | | | | BUG=b:73546254 BRANCH=master TEST=compile Change-Id: If914dfbf7bb30e934b711d8f89c46af2787f917c Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/924406 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* driver: accel_lis2dh: Fix interfaceGwendal Grignou2018-03-191-0/+3
| | | | | | | | | | | | | Add support in ectool, expose min/max ODR. BUG=b:73546254 BRANCH=master TEST=compile Change-Id: Ib09c06e17d7d73aaab91680672de4d5267299c7f Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/924405 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* cr50: update version numbers to match Cr50 branchesVadim Bendebury2018-03-192-3/+3
| | | | | | | | | | | | | This reflects version changes in Cr50 branches. BRANCH=none BUG=none TEST=none Change-Id: I121c65797a30595a58d0b55774e80147692bda38 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/969340 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* temp_metrics: use fanduty 0 to enable fanRuben Rodriguez Buchillon2018-03-161-0/+3
| | | | | | | | | | | | | | | | | | | If the fan is never enabled, temp_metrics itself has no code-path to enable the fan. This fixes this by calling fanduty 0 in the beginning of temp_metrics, since fanduty does explicitly enable the fan. Note: This is a hack to avoid having to flash a new EC image. See crrev.com/c/964037 for a more fundamental fix to the same issue. BRANCH=link BUG=chromium:808764 TEST=couldn't reproduce issue with this version of temp_metrics. Change-Id: I8a9b258ba7b50cf5180497d318f8d94454dab434 Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/964069 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Sameer Nanda <snanda@chromium.org>
* stm32mon: fix progressbar parameterVincent Palatin2018-03-071-1/+1
| | | | | | | | | | | | | | | | | | Ensure that the short parameter '-p' works as well as the long one '--progressbar'. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=none TEST=run 'stm32mon -p' and 'stm32mon --progress' none of them are displaying the command usage. Change-Id: If24accf0991dc9705a1fb3e29acf12581d7ab8dc Reviewed-on: https://chromium-review.googlesource.com/952966 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Nicolas Norvez <norvez@chromium.org>
* CBI: Make cbi-util set field size automaticallyDaisuke Nojiri2018-03-071-26/+41
| | | | | | | | | | | | | | | | | | | | | Currently cbi-util accepts only fixed length values. This patch makes it automatically calculate the required field size to accomodate the given integer value. The stored values are expanded to uint32_t when they're read. BUG=b:74174598,b:70702820 BRANCH=none TEST=Run cbi-util with --sku_id set to the followings: 0x10 -> field size = 1, 0x1000 -> field size = 2, 0x10000 -> field size = 4, 0x100000000 -> Error Change-Id: I2221ebfa18260bae2c574d9ebb794dbe645579e5 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/951711 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* ectool: fix error codes for servo v2 spi supportVincent Palatin2018-03-061-4/+3
| | | | | | | | | | | | | | | | | | | When the EC sends back an error code inside the 'result' field of the v3 protocol, the transport is supposed to return -EECRESULT-error_code. Fix the the servo spi transport to do so. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:72360575 TEST=with ZerbleBarn connected to a Servo v2, run 'ectool_servo fpinfo' and 'ectool_servo fptemplate badfile.bin' Change-Id: I54eec9194cfefd422078344500685736aadaffcf Reviewed-on: https://chromium-review.googlesource.com/951682 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* ectool: add missing EC feature stringsVincent Palatin2018-03-011-0/+4
| | | | | | | | | | | | | | | | Add the strings to display the recently added EC feature flags. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=none TEST=on ZerbleBarn, run 'ectool inventory' Change-Id: I213d34515800532fc3b2378b8619e2b90ce5fd28 Reviewed-on: https://chromium-review.googlesource.com/937263 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* make EC_FEATURE_RWSIG definition more usefulVincent Palatin2018-03-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also define the EC_FEATURE_RWSIG feature bit if the RO firmware contains the RWSIG task but not the RW. Given the RWSIG verification task is not terribly useful in RW (where it is never executed), it can be skipped there but the host program trying to detect RWSIG usage (e.g. flashrom) still wants to be able to detect it. In order to be able to do so, add the HAS_TASK_xXx_RO and HAS_TASK_xXx_RW flags which define the tasks defined in the other partition (at compilation-time you might still run a frankeinstein combo). Fix ectool 'inventory' to avoid segfaulting on missing feature string definition. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:36125319 TEST=on ZerbleBarn, run 'ectool inventory', also uses flashrom to re-flash the RW partition. Change-Id: I224a6cc4aef956204792a2cc04ad12aaed5abf47 Reviewed-on: https://chromium-review.googlesource.com/937262 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* stm32mon: add option to replace the spinnerVincent Palatin2018-03-011-3/+19
| | | | | | | | | | | | | | | | | | | | Using only a Carriage Return as done to have a nice spinner is not terribly compatible with logging the output of the tool to a file or piping it to anything. Add another option to have a simple progress-bar instead. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=none TEST=on Meowth, run flash_fp_mcu from the factory UI. Change-Id: I0c37689d2ed1e45dff54b7f1eb2be515ea37e004 Reviewed-on: https://chromium-review.googlesource.com/936766 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Nicolas Norvez <norvez@chromium.org>
* npcx7: WoV: Add support for Wake-on-Voice (WoV) moduleCHLin2018-02-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds the driver support for the WoV module which inludes the following files: - wov.c - wov_chip.h - apm.c - apm_chip.h It also supports the console commad "wov" which can test different configuration and audio quality by entering different parameters. The detail description of WoV console command is listed below: ------------------------------------------------------------------------ [Note]: Before changing any of settings, please make sure the operation mode is on the "OFF" state. (ie. run the command wov cfgmod off first) . > wov init Initialize WoV interface, including pin mux and interrupt registration etc. > wov mute <enable / disable > mute enable / disable. > wov cfgsrc <mono | stereo | left | right> set audio source, ex: wov cfgsrc left, means audio source from left MIC. > wov cfgbis <16|18|20|24> set audio resolution, ex: wov cfgbit 16 means audio resolution are 16bits. > wov cfgsfs <8000|12000|16000|24000|32000|48000> set audio sampling frequency rate, ex: wov cfgsfs 48000 means audio sampling rate are 48Khz. > wov cfgbck <32fs|48fs|64fs|128fs|256fs> set I2S bit clock rate, ex: wov cfgsfs 48000 and wov cfgbck 32fs means audio sampling rate are 1536Khz (32*48000). > wov cfgfmt <i2s|right|left|pcma|pcmb|tdm> set I2S but format, ex: wov cfgfmt right means audio I2S format are Right-Justify. > wov cfgmod <off|vad|ram|i2s|rami2s> set audio operation mode ,ex: wov cfgmod i2s means audio output via I2S bus. > wov cfgtdm <0~496 0~496 0~3> set TDM time slot, the first values is left channel delay counter, the second is right channel, and the 3rd is startup counting condition. (chosen LRCK raising or falling edge) . [Note: this command is just working on cfgmod equal to tdm] > wov cfgget retrieve above settings. > wov vadsens (currently not support, reserve for next version) > wov gain (0~31) set audio data gain value, ex: wov gain 10 means setting audio digital gain are 10dB. > wov cfgdck <1.0 | 2.4 | 3.0 > set digital MIC PDM clock rate. ex: wov cfgdck 2.4 means PDM clock are 2.4Mhz. ----------------------------------------------------------------------- This CL also adds the chip ID (0x24) for npcx7m7w. So the console command "version" can show the chip is npcx7m7w. BRANCH=none BUG=none TEST=No build errors for make buildall. TEST="BOARD=npcx7_evb make"; Flash the image on EVB; Test WoV function with console commands described above. Change-Id: Ief2b3e89edbd3e6d2a9d82d317a93c9f0b7a20cd Signed-off-by: Dror Goldstein <dror.goldstein@nuvoton.com> Signed-off-by: Simon Liang <CMLiang@nuvoton.com> Signed-off-by: CHLin <CHLIN56@nuvoton.com> Reviewed-on: https://chromium-review.googlesource.com/897314 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* yorp: initial add of octopus BOM-A boardJett Rink2018-02-281-0/+1
| | | | | | | | | | | BRANCH=none BUG=b:73811887 TEST=build yorp and all other boards Change-Id: I2c29ba86f29a3d25128c00c1b55e90f6843bcdd5 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/935367 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* cleanup: Sorting list alphabeticallyJett Rink2018-02-281-1/+1
| | | | | | | | | | BRANCH=none BUG=none TEST=make buildall Change-Id: I3c07a87e0a41ad3ec51f78e30e14ac7d45d3e531 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/935366
* cr50: move dev version to 0.2.3stabilize-10443.BVadim Bendebury2018-02-261-1/+1
| | | | | | | | | | | | | | | This will make sure that Cr50 images built from dev branch can take over images built from either MP or pre-MP branches. BRANCH=none BUG=none TEST=verified that it is possible to overwrite pre-MP Cr50 version of 0.2.2. Change-Id: I929cb2be857ea90c544f83160d6820c73e23c69d Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/938946 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* stm32mon: skip empty blocksVincent Palatin2018-02-261-12/+18
| | | | | | | | | | | | | | | | | | | Skip the empty blocks when writing even if they are in the middle of the firmware. This greatly improves flashing speed when the firmware contains a signature at the end of the RW. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:36125319 TEST=./util/flash_ec --board=meowth_fp Change-Id: I3cd1c1bd2670be23d3d9daf9b87d9af0bdfc8963 Reviewed-on: https://chromium-review.googlesource.com/880956 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Alexandru M Stan <amstan@chromium.org>
* ectool: Print tool versionDaisuke Nojiri2018-02-232-3/+9
| | | | | | | | | | | | | | | | | | | | | | ectool can be older or newer than the EC's firmware. The version of the tool needs to be found to debug compatibility issue. This patch makes ectool print its own version in addition to EC's version. BUG=none BRANCH=none TEST=Run 'ectool version': RO version: fizz_v1.1.7833+5a0bbd8fe RW version: fizz_v1.1.7833+5a0bbd8fe Firmware copy: RW Build info: fizz_v1.1.7833+5a0bbd8fe 2018-02-20 09:56:26 foo Tool version: fizz_v1.1.7831+d173cf4d6 2018-02-20 16:57:43 bar Change-Id: Iac641c76e450368175213ab6d277e56d43742429 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/927305 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* CBI: Share common code between host tool and firmwareDaisuke Nojiri2018-02-232-35/+5
| | | | | | | | | | | | | | This patch makes EC firmware and cbi-util share the common code. BUG=b:70294260 BRANCH=none TEST=Set fields using ectool. Verify the contents by cbi command. Verify cbi-util creates the same binary as before. Verify emerge ec-utils ec-devutils pass. Change-Id: If5e65e48dd03960e0adf23ef775f67aecf785d85 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/932001
* CBI: Update cbi-util printing formatDaisuke Nojiri2018-02-201-14/+41
| | | | | | | | | | | | | | | | | | | | | | | This patch makes cbi-util print the tag and the size of each field. It also fixes help message and adds indendation for readability. BUG=b:70294260 BRANCH=none TEST=Run the command as follows: $ cbi-util --show /tmp/cbi.bin CBI blob: /tmp/cbi2.bin TOTAL_SIZE: 18 CBI_VERSION: 0 Data Field: name: value (hex, tag, size) BOARD_VERSION: 514 (0x202, 0, 2) OEM_ID: 2 (0x2, 1, 1) SKU_ID: 3 (0x3, 2, 1) Data validated successfully Change-Id: I5f0fde4690c29c0ee58c798e8cc35bac3ed1b6f8 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/926781 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* CBI: Update cbi-util to support variable data offset & sizeDaisuke Nojiri2018-02-161-23/+72
| | | | | | | | | | | | | | | | | | | | | | | This patch makes cbi-util support variable data offset & size. BUG=b:70294260 BRANCH=none TEST=Run the command as follows: $ cbi-util --create /tmp/cbi.bin \ --board_version 0x202 --oem_id 2 --sku_id 3 --size 256 $ cbi-util --show /tmp/cbi.bin CBI blob: /tmp/cbi2.bin TOTAL_SIZE: 18 CBI_VERSION: 0 BOARD_VERSION: 514 (0x202) OEM_ID: 1 (0x1) SKU_ID: 2 (0x2) Data validated successfully Change-Id: Id290c33e8625223c8f3fa34fdf8a13ea9308c42e Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/922272 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* CBI: Make data offset and size variableDaisuke Nojiri2018-02-161-25/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently CBI data offset and size are fixed. This patch makes them variable. Each data item consists of <tag><size><value> where <tag> is a numeric value assigned to each data item, <size> is the number of bytes used for <value>. BUG=b:70294260 BRANCH=none TEST=Use 'ectool cbi set' to set board version, oem, sku. Verify the contents by cbi console command and ectool cbi get. 1. ectool cbi set 0 0x202 2 2 (Init CBI and write board ver. of size 2) 2. ectool cbi set 1 1 1 (write oem id of size 1) 3. ectool cbi set 2 2 1 (write sku id of size 1) 4. ectool cbi get 0 514 (0x202) 5. ectool cbi get 1 1 (0x1) 6. ectool cbi get 2 2 (0x2) 7. Run cbi console command: CBI_VERSION: 0x0000 TOTAL_SIZE: 18 BOARD_VERSION: 514 (0x202) OEM_ID: 1 (0x1) SKU_ID: 2 (0x2) 43 42 49 8c 00 00 12 00 00 02 02 02 01 01 01 02 01 02 Change-Id: I5a30a4076e3eb448f4808d2af8ec4ef4c016ae5e Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/920905 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* fpsensor: add quality test capture typeVincent Palatin2018-02-161-17/+18
| | | | | | | | | | | | | | | | | | | Add support for an additional finger image capture type used for quality testing. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:72360575, b:71770455 TEST=On Meowth, run 'ectool --name=cros_fp fpmode capture qual' then 'ectool --name=cros_fp fpframe raw > finger_mq.bin' Change-Id: I1b9525dc2adf0b91aef2f7124803c90d6a3bb0ca Reviewed-on: https://chromium-review.googlesource.com/924124 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Nicolas Norvez <norvez@chromium.org>
* Fizz/CBI: Buid cbi-util as host-utilDaisuke Nojiri2018-02-161-6/+2
| | | | | | | | | | | | | | | This patch also removes make rules to stop producing CBI blobs. CBI blobs will be produced by another protage package. BUG=b:73123025,chromium:809250 BRANCH=none TEST=emerge-fizz chromeos-firmware-fizz and verify /build/fizz/firmware/cbi contains EEPROM images. Verify emerge ec-utils ec-devutils succeeds. Change-Id: I13744b0ab97675afa0247046bffa3edac3e62ceb Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/909692
* signer: advance to new version number and erase new bit in the rollback mapVadim Bendebury2018-02-132-4/+4
| | | | | | | | | | | | | | | | | | | This will prevent earlier released images from running on the device unless Info1 is erased. BRANCH=cr50, cr50-mp BUG=b:70891959 TEST=verified that two bits in the rollback mask have been erased now: > sysinfo Reset flags: 0x00000800 (hard) [...] Rollback: 2/2/128 Change-Id: Ic345c79010fbe0e075e14e652ea1eba263226ab1 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/916737 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* flash_ec: iteflash: modify processDino Li2018-02-071-0/+13
| | | | | | | | | | | | | | | | | | With this change, we can do flashing via flex cable. BRANCH=none BUG=b:35573714 TEST=To run "~/trunk/src/platform/ec/util/flash_ec --board=reef_it8320" and flashing is done and cold reset automatically. CQ-DEPEND=CL:855978 Change-Id: I078afa6d6f6f8f7bf60a1677e4c357dbe906e7dc Signed-off-by: Donald Huang <donald.huang@ite.com.tw> Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/344481 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* cr50: prepare for pre-pvt images' revision bumpVadim Bendebury2018-02-082-2/+2
| | | | | | | | | | | | | | This will allow to make differences between pre-pvt and mp images better visible. BRANCH=cr50 BUG=none TEST=none Change-Id: I3abf24443a208482167231d93983b8edcace5f55 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/907170 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* cbi-util: Help GCC determine that variable is initializedMartin Roth2018-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 6.3 can't tell that we enforce the variable 'size' being set, so initialize it to 0 to make the warning go away. The code does actually verify that size is set, but not by checking the size variable itself. util/cbi-util.c: In function 'main': util/cbi-util.c:139:8: error: 'size' may be used uninitialized in this function [-Werror=maybe-uninitialized] buf = malloc(size); ^~~~~~~~~~~~ util/cbi-util.c:233:11: note: 'size' was declared here uint32_t size; ^~~~ BUG=b:72609872 BRANCH=None TEST=Build with coreboot toolchain. Change-Id: Ide41a0fce40254f2fa3a8626dec75840a728d967 Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://chromium-review.googlesource.com/890703 Commit-Ready: Martin Roth <martinroth@chromium.org> Tested-by: Martin Roth <martinroth@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org> Reviewed-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* cr50: prepare to release 0.1.1Vadim Bendebury2018-02-052-2/+2
| | | | | | | | | | | | | | The new release will include bug fixes and new features (line RMA reset, CCD debug, management, etc.). BRANCH=cr50 BUG=none TEST=none Change-Id: I25c22d00acd734ad0b7557cb9469d8b0f4db131e Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/902423 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* CBI: Return ACCESS_DENIED on write failure due to WPDaisuke Nojiri2018-02-011-1/+4
| | | | | | | | | | | | | | | | This patch makes EC_CMD_SET_CROS_BOARD_INFO return EC_RES_ACCESS_DENIED if the command fails due to write-protect switch. BUG=b:70294260 BRANCH=none TEST=Verify 'ectool cbi set 2 4' prints 'WP enabled?' when WP is enabled. Change-Id: I7c27ee748caf32e57f22ab79edcbff96e42c44ad Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/897683 Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* flash_ec: Wait 1s before flashing meowth.Aseda Aboagye2018-01-311-4/+5
| | | | | | | | | | | | | | | | | | | Meowth also seems to take enough power when flashing without a battery. Zoombini has a similar issue, and the fix is to wait 1s to let the voltage level stabilize before flashing. This commit just waits 1 second before flashing. BUG=b:65694390 BRANCH=None TEST=./util/flash_ec --board meowth; Verify it succeeds without a battery. Change-Id: Ida34a7eb923187940afe05a32d200b48e71aaa9f Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/894370 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Caveh Jalali <caveh@google.com>
* ectool: increase image capture delay to 200msVincent Palatin2018-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | the current 50ms delay between the capture and having the image available was working (to some definition of it) on the current boards, but we hit issues on the next revision of the board with new sensor silicon (and somewhat different delay), let's put a larger 200ms delay. This will be converted to waiting for the proper MKBP event (aka EC_MKBP_FP_IMAGE_READY) when all the boards using this feature will have MKBP events support validated. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:71770455 TEST=run 'ectool --name=cros_fp fpcheckpixels' on different boards. Change-Id: Id1f2402ef85c903744054b00eeab0086221b4d7b Reviewed-on: https://chromium-review.googlesource.com/888738 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Benson Leung <bleung@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org>
* charge_state_v2: Basic dual-battery charging algorithmNicolas Boichat2018-01-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | First version of the algorithm, some TODOs are left in the code but this, generally, works reasonably well. When charging, we allocate input current in this general order: - Base system (fixed, low, number) - Lid system (based on PSYS) - Lid battery (estimating how much current the battery actually requires) - Base battery (similar estimation) - Provide everything else to lid When discharging, we generally: - First discharge the base battery - Then discharge the lid battery BRANCH=none BUG=b:71881017 TEST=Flash lux and wand, EC-EC communication works, adapter power is split in a sensible way, and discharging works fine. Change-Id: I8a4f87963962fc5466b2fedf1347eb4dadd35740 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/659460 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Nami: Add Nami to flash_ec scriptDaisuke Nojiri2018-01-231-0/+2
| | | | | | | | | | | | | This patch adds Nami to flash_ec script. BUG=none BRANCH=none TEST=Flash ec.bin to nami proto0. Change-Id: I7b036c429fb028e916335efd330a4b8d80977263 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/879585 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* eve_fp: remove boardVincent Palatin2018-01-231-2/+1
| | | | | | | | | | | | | | | | fp is dead, long life to fp. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:72360575 TEST=make buildall Change-Id: Idccb953044018e24d14b6ef1dbf69766fb9b58ab Reviewed-on: https://chromium-review.googlesource.com/880954 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* ectool: use poll interfaceVincent Palatin2018-01-235-1/+87
| | | | | | | | | | | | | | | | | | | Test polling for MKBP events through the kernel cros_ec/pd/fp/.. driver node. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:69460856 TEST=run on Eve EVT: ectool --name=cros_fp fpmode fingerdown && \ ectool --name=cros_fp waitevent 5 10000 Change-Id: Ibdec137a3b646cf017a29afcf24ff5bbfb731198 Reviewed-on: https://chromium-review.googlesource.com/806167 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* fpsensor: update interfaceVincent Palatin2018-01-231-34/+166
| | | | | | | | | | | | | | | | | | | | | Update the FP MCU interface to include a few convenient diagnostics functions for factory testing. It's mostly backward compatible, but overall this interface never shipped in anything, so not a big deal regardless. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=b:71986991 TEST=ectool --name=cros_fp fpinfo && ectool --name=cros_fp fpcheckpixels CQ-DEPEND=CL:*546799 Change-Id: Ic641f891ace02d79af9339cf6cb59a2960e506a7 Reviewed-on: https://chromium-review.googlesource.com/873924 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* CBI: Allow get command to reload data from EEPROMDaisuke Nojiri2018-01-181-3/+12
| | | | | | | | | | | | | | | | | | This patch adds CBI_GET_RELOAD flag to EC_CMD_GET_CROS_BOARD_INFO command. When the flag is set, the command will be forced to read data from EEPROM even, ignoring the data cached by the previous read. This allows ectool to verify a write was successful without reboot. BUG=b:70294260 BRANCH=none TEST=ectool cbi set 0 0x1234 && ectool cbi get 0 1 Change-Id: I3e7ced5be56a74c605870a4c0622c0a2f47963bb Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/874155 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* util: flash_ec: Add support to flash npcx7_evb with npcx7m7x chipCHLin2018-01-182-2/+32
| | | | | | | | | | | | | | | | | | | | This CL modified the flash_ec and openocd script to support flashing npcx7m7x chip on npcx7_evb. BRANCH=none BUG=none TEST=Change CHIP_VARIANT to npcx7m7w in board/npcx7_evb/build.mk; "BOARD=npcx7_evb make"; Move npcx7_evb from array BOARDS_NPCX_7M6X_JTAG to BOARDS_NPCX_7M7X_JTAG in util/flash_ec; Connect servo JTAG to npcx7 EVB; "./util/flash_ec --board=npcx7_evb"; Make sure the programing succeed and EVB bootup. Change-Id: I9d448f55321330cbe9a7103d2b617617963ea307 Signed-off-by: CHLin <CHLIN56@nuvoton.com> Reviewed-on: https://chromium-review.googlesource.com/858989 Commit-Ready: CH Lin <chlin56@nuvoton.com> Tested-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Add more debugging to run_host_testVincent Palatin2018-01-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | If a host test fails, record the execution state of the EC host process. This is an attempt to provide a hint whether the test was blocked on I/O, if so it might be in 'D' state (but it might have recovered too late too). Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chromium:715011 TEST=run 'make runtests -j', then run it again with TIMEOUT reduced to 1 see it fail on 'kb_scan' and 'interrupt' tests with the trace containing '*** test [...] in state Ssl+ ***' Change-Id: I4590a4b84a2aba8d385d3ef911d5d0186e8ce2e3 Reviewed-on: https://chromium-review.googlesource.com/859771 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* flash_ec: Support NPCX_INT_SPI using CCD.Aseda Aboagye2018-01-181-8/+35
| | | | | | | | | | | | | | | | | | | | | | A few things needed to be moved around in order for flashing the npcx7 to work over CCD. This commit makes those changes and fixes a small bug with the serial number parameter for raiden devices. (It just needed a space). It also fixes using just a SuzyQable to flash. BUG=b:71548795 BRANCH=None TEST=`./util/flash_ec --board meowth` with a servo_v4 and verify that flashing is successful. TEST=Repeat above test with a servo_v2. TEST=Repeat above test with a servo_micro. TEST=Repeat above test with a SuzyQable. Change-Id: I8ff22fb1d2a5fe7af2ad30a14bf896dbae65c024 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/851354 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>