summaryrefslogtreecommitdiff
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* util: uartupdatetool: do not strip trailing white spaceNamyoon Woo2019-08-231-8/+2
| | | | | | | | | | | | | | | | | | | uartupdatetool won't ignore trailing white space. It will erase flash segments for sure corresponding to that part. BUG=b:139884342 BRANCH=None TEST=manually ran flash_ec on hatch through ccd with two different binaries: one ${IMG1} has less trailing 0xFF space than the other ${IMG2}. flash_ec --board hatch --image ${IMG1} --verify flash_ec --board hatch --image ${IMG2} --verify Change-Id: Id25a9e05a2d2df76255dd688f829dee48dc819cf Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1766099 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* ectool: Update usbpdmuxinfo to latest changesVijay Hiremath2019-08-221-11/+7
| | | | | | | | | | | | BUG=b:139140865 BRANCH=none TEST=Manually tested on intelrvp, "ectool usbpdmuxinfo" command shows correct SS mux info Change-Id: Id9dc616f62cb88600c3bcb631c08423661cc32c8 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1759279 Reviewed-by: Jett Rink <jettrink@chromium.org>
* flash_ec: use active_v4_deviceMary Ruthven2019-08-221-4/+31
| | | | | | | | | | | | | | | | | | | | Servo may be using ccd and servo micro. Update the flash_ec servo type to reflect which device actually has control of the DUT, so flash_ec can make the correct decisions about how to flash the device. Add the device prefix to all dut-control commands. If servo is using ccd and servo_micro, ccd controls will be prefixed with 'ccd_cr50.'. Add this prefix to all dut-control commands. BUG=b:35579416 BRANCH=none TEST=flash phaser ec ec using servo_v4_with_servo_micro_and_ccd_cr50, servo_v4_with_servo_micro, and servo_v4_with_ccd_cr50 Change-Id: I3d561ceb3c0ef0d95678c8346fb9922fd44378bf Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1757272 Reviewed-by: Namyoon Woo <namyoon@chromium.org>
* util: UartUpdateTool retries Host/Dev sync up to three timesNamyoon Woo2019-08-221-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch increases the number of device sync attempts from two to three. It is to be tolerant on the first command failure because of USB DATA PID mismatch that could happen from USB reconnection. BUG=b:135617689 BRANCH=none TEST=Tested on Hatch and Kohaku, Octopus and Grunt. $ ./util/flash_ec --board hatch --image ${IMG} ... Performing a Host/Device synchronization check... Host/Device synchronization failed, error = 1. Writing [784] bytes in [4] packets ... INFO: Flashing done. INFO: Restoring servo settings... The first attempt runs good. Disconnect Suzy-Q cable, and reconnect it, and run it again: $ ./util/flash_ec --board hatch --image ${IMG} Before this patch, it used to fail: ... Performing a Host/Device synchronization check... Host/Device synchronization failed, error = 2. Host/Device synchronization failed, error = 1. ERROR: Failed to load monitor binary. INFO: Restoring servo settings... After this patch, it succeeds: ... Performing a Host/Device synchronization check... Host/Device synchronization failed, error = 2. Host/Device synchronization failed, error = 1. Writing [784] bytes in [4] packets ... INFO: Flashing done. INFO: Restoring servo settings... Change-Id: Id8e7041a5cb08075129148ddba5e8cf12f3aae54 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1755182 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* driver: lis2dwl: add driver supportPaul Ma2019-08-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | lis2dwl has almost the same register interface as lis2dw12. lis2dwl only has one low power mode and when in low power mode, it has only 12 bit resolution. In order to get 14 bit resolution, we only use its high performance mode. Add MOTIONSENSE_FLAG_INT_ACTIVE_HIGH flag to support both active high and active low interrupt. BUG=b:138768226, b:138978278 BRANCH=none TEST=use Akemi board, add lis2dwl as accel sensor, boot the board and make sure sensor x/y/z get correct value by 'accelinfo on' Cq-Depend: chromium:515302 Change-Id: I37fcc0f43af3c8055079e09db00757b665813ba8 Signed-off-by: Paul Ma <magf@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1739026 Tested-by: Martin Roth <martinroth@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Martin Roth <martinroth@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: mario tesi <mario.tesi@st.com> Commit-Queue: Martin Roth <martinroth@chromium.org>
* util/presubmit_check.sh: Exclude README.md and navbar.md filesTom Hughes2019-08-211-0/+4
| | | | | | | | | | | | | | | These files aren't used by "make buildall", so it shouldn't cause a developer to run "make buildall" before submitting a change to the file. BUG=None BRANCH=None TEST=Modify navbar.md. Try to upload and verify that the presubmit check does not flag it. Change-Id: Ia4eaa7009aa52b7a096171e66e6541694ef73032 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1758539 Reviewed-by: Jett Rink <jettrink@chromium.org>
* hammer: Add magnemite boardNicolas Boichat2019-08-161-0/+1
| | | | | | | | | | | | | | | A close hammer derivative. BRANCH=none BUG=b:138968914 TEST=make BOARD=magnemite -j Flash into staff, see the board boot: util/flash_ec --board=magnemite --port=9000 Change-Id: Ibe5c3f4b0fb4a31d4667d5dc4d76a691b0e64e39 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1741599 Reviewed-by: Yilun Lin <yllin@chromium.org>
* util: make flash_ec tolerant with dummy npcx_uut chipNamyoon Woo2019-08-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | flash_ec fails when npcx_uut chip in a bad status doesn't respond at all, especially upon ec_flash_size query. This patch subpress the exit on ec_flash_size query failure, because that information is not mandatory in flashing EC. BUG=none BRANCH=none TEST=manualy tested on kohaku. 1. programmed kohaku EC with a wrong binary. 2. checked kohaku EC in a bad status, and was not able to respond. 3. ran flash_ec and checked flash_ec finished EC FW program. e.g. flash_ec --board kohaku --image ${IMG} 4. read EC firmware back. e.g. flash_ec --board kohaku --read ${TMP_IMG} Change-Id: Ic853dd9f827217621cd598c799c68fbbf970078a Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1753009 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* tglrvp_ite: Add TGL-U/Y RVP base codeDaniel Gonzalez2019-08-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | Added TGL-U/Y RVP base code using ITE EC. Following features are enabled. 1. TCPC + retimer 2. Charger 3. Battery 4. Power sequencing 5. Host communication 6. LED 7. Keyboard BUG=b:138597987 BRANCH=none TEST=Both TGLRVP U&Y can boot to ChromeOS Change-Id: Idf6be38796c26b31be6e13485a63ec13487bf954 Signed-off-by: Daniel Gonzalez <daniel.d.gonzalez@intel.com> Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1726943 Reviewed-by: Keith Short <keithshort@chromium.org>
* flash_ec: support "--read" and "--verify" flags for npcx_uutNamyoon Woo2019-08-141-23/+74
| | | | | | | | | | | | | | | | | | | | | | This patch enables flash_ec to read EC image from npcx_uut type chip, and to verify the flash programmed image. BUG=b:133265593 BRANCH=none TEST=manually ran flash_ec on fleex and careena. flash_ec --board flex --image ${IMG} --verify flash_ec --board flex --read ${TMP_IMG} flash_ec --board careena --image ${IMG} --verify flash_ec --board careena --read ${TMP_IMG} Cq-Depend: chromium:1748803 Change-Id: Ifaefa64b0efed6c875c99ede59a3a1e0dfe0bf7f Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749554 Reviewed-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Raul E Rangel <rrangel@chromium.org>
* driver: lis2dw12: Add driver supportmario tesi2019-08-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added ACC LIS2DW12 driver support. Features included in this driver are: - Basic Sensor Read acceleration data - ODR and FS runtime configuration - FIFO support with watermark interrupt events - Shared commons function with ST MEMs devices - Switch Low Power to High perf. mode in case of ODR > 200 Hz - Configure D-TAP event detection in Hardware BUG=b:73546254 BRANCH=master TEST=Tested on discovery_stmems target BOARD with LIS2DW12 connected to EC i2c master bus and motion sense task running. To build firmware for discovery_stmems target with LIS2DW12 sensor connected, simply uncomment CONFIG_ACCEL_LIS2DW12 define in board.h target file and make with target BOARD=discovery_stmems. Commands used to test LIS2DW12 device are: - accelinit 0 (to configure accel. device) All basic features tested, including changing in ODR: - accelrate 0 10000 (set ODR to 10 Hz) - accelrate 0 12500 (set ODR to 12.5 Hz) - accelrate 0 25000 (set ODR to 25 Hz) - accelrate 0 50000 (set ODR to 50 Hz) - accelrate 0 100000 (set ODR to 100 Hz) - accelrate 0 200000 (set ODR to 200 Hz) - accelrate 0 400000 (set ODR to 400 Hz) - accelrate 0 800000 (set ODR to 800 Hz) - accelrate 0 1600000 (set ODR to 1.6 kHz) Full Scale Range: - accelrange 0 2 (set Full Scale Range to 2g) - accelrange 0 4 (set Full Scale Range to 4g) - accelrange 0 8 (set Full Scale Range to 8g) - accelrange 0 16 (set Full Scale Range to 16g) FIFO features and interrupt management: - accelinfo on 1000 (motion info task with refresh rate 1 s) and polling data read: - accelread 0 (to read data from accelerometer) Change-Id: I0b9861a71e81052e7ee8eb235a1a5b2a57d4c6f5 Signed-off-by: mario tesi <mario.tesi@st.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/515302 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Paul Ma <magf@bitland.corp-partner.google.com> Tested-by: Paul Ma <magf@bitland.corp-partner.google.com> Commit-Queue: Tim Wawrzynczak <twawrzynczak@chromium.org>
* cbi-util: Remove OEM_ID from required fieldsPhilip Chen2019-08-121-6/+4
| | | | | | | | | | | | | BUG=b:138663009 BRANCH=none TEST=successfully create a cbi image w/o OEM_ID set Change-Id: Ic2b96f6d6f02a433de4f2ddc0777035369fd9c4a Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1734007 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org>
* hammer: Add masterball boardNicolas Boichat2019-08-121-0/+1
| | | | | | | | | | | | | | | | A close hammer derivative. BRANCH=none BUG=b:138968914 TEST=make BOARD=masterball -j Flash into staff, see the board boot: util/flash_ec --board=masterball --port=9000 Change-Id: I9f8d897c23d0f53557c6d6789c33e5b776dca982 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1741589 Reviewed-by: Wei-Han Chen <stimim@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org>
* flash_ec: removing the bandaid fix on setting i2c_mux for npcx_uutNamyoon Woo2019-08-101-17/+1
| | | | | | | | | | | | | | | The issue in http://b/126189871 has been fixed thanks to pseudo_i2c driver. There is no need to retry 'dut-control dut_i2c_mux:ec_prog'. BUG=b:126189871 BRANCH=none TEST=ran flash_ec on Ampton twice in a raw using CCD, and servo_v4 as well. Change-Id: I72e2bf8eb48dff7a3c81545221ac71a44469c033 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1746974 Reviewed-by: Matthew Blecker <matthewb@chromium.org>
* flash_ec: die explicitly on error casesNamyoon Woo2019-08-091-18/+34
| | | | | | | | | | | | | | | | | | | | | | | This patch lets flash_ec die on any of program, read and verification errors. Intends to help testers recognize those failures easier. BUG=b:137386185 BRANCH=None TEST=Ran flash_ec on several platforms with program and verify args. Also checked the exit code for each case, and temp file deletion as well: - Fleex (Octopus) with servo_micro, and ccd, covering npcx_int_spi and npcx_uut - Ampton(Octopus) with servo_micro, and ccd, covering it83xx - Atlas with servo_v2, servo_micro, and ccd, covering npcx_int_spi - Scarlet with ccd, covering stm32 - DragonTalon with servo_v2 and servo_micro, covering stm32 - Coral with servo_v2, servo_micro, and ccd, covering npcx_spi Change-Id: I5a545f6ac6f4b09f405a51bb69c3adf2d3d6cb6e Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1745348 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* ectool/trng: Add "rand" host command for testing RNGTom Hughes2019-08-061-0/+50
| | | | | | | | | | | | | | | | | | | | | This host command and corresponding ectool command allows us to generate random numbers with the MCU's RNG and process the resulting output with tools to validate the statistical randomness, such as dieharder (https://webhome.phy.duke.edu/~rgb/General/dieharder.php) and NIST SP 800-22 (https://csrc.nist.gov/publications/detail/sp/800-22/rev-1a/final). BRANCH=none BUG=b:124770147 TEST=ectool --name=cros_fp rand 1 > rand.bin; ls -la rand.bin TEST=ectool --name=cros_fp rand 536 > rand.bin; ls -la rand.bin TEST=ectool --name=cros_fp rand 537 > rand.bin; ls -la rand.bin TEST=ectool --name=cros_fp rand 99999999999999999999999999 Change-Id: Ic0bda4deae79fc7465671dcacfe8bbc9a066b5e5 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1726822 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* ec3po: make debug logs more user-friendly to readRuben Rodriguez Buchillon2019-08-061-7/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change does two things: (1) it adds by default that both directions i.e. user to EC and EC to user get logged to debug at full lines (or line limit) (2) it hides the per interrupt print statements behind a command: raw-debug This is to allow servod logs to easily contain the MCU logs for all connected devices: servo(s), Cr50, EC, and more. BUG=chromium:932820 TEST=manual testing sudo servod -s 19 -d | grep LogConsole // observe console output (with logger overhead as prefix) with crrev.com/c/1688610: dut-control ec_uart_raw_debug:on // observe in the logs how messages like below return [...] - |DBG|-i->'an 0' Change-Id: I864ac3411a002385505a192db3f300eb7bd71b47 Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1688363 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* ectool: print unsigned version of sensor valuesJett Rink2019-08-021-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Some sensors use the full 16-bits for an unsigned number; print out the unsigned interpretation of the signed value as well in ectool. Example output: Timestamp:10e87e Timestamp:fdbde87d Sensor 1: -96 -8027 -1559 (as uint16: 4294967200 4294959269 4294965737) Timestamp:2c77e87f Sensor 1: -98 -8025 -1568 (as uint16: 4294967198 4294959271 4294965728) Timestamp:61bee880 Timestamp:5b38e880 Sensor 1: -97 -8026 -1568 (as uint16: 4294967199 4294959270 4294965728) Timestamp:8a10e881 Sensor 1: -98 -8025 -1560 (as uint16: 4294967198 4294959271 4294965736) BRANCH=none BUG=b:138096172, TEST=builds Change-Id: Ifa0eef9721a64b1b9e21624ee7113fbf949adbf7 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1726735 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/lbcc: match up format string and argumentsPatrick Georgi2019-07-311-1/+1
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: Icfceebfa631a3a3f42095009e23c0562fa898bff Signed-off-by: Patrick Georgi <pgeorgi@google.com> Found-by: Coverity Scan #199442 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725955 Tested-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org> Auto-Submit: Patrick Georgi <pgeorgi@chromium.org>
* util/uut: don't pass NULL string to printf that expects no argumentsPatrick Georgi2019-07-311-1/+1
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: Ic6aaa62f3818d544be3f3bd5f99f8063326c3f10 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Found-by: Coverity Scan #199447 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725956 Tested-by: Patrick Georgi <pgeorgi@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org> Auto-Submit: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/genvif.c: close file on errorPatrick Georgi2019-07-311-0/+2
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: I873dcfc15f90642e509ba82d521971a29c28b54d Signed-off-by: Patrick Georgi <pgeorgi@google.com> Found-by: Coverity Scan #180595 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725954 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/cbi-util.c: free memory in error casesPatrick Georgi2019-07-311-1/+3
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: Idc8ad893403b1efec818f812f730cbaf5ed4dbf6 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Found-by: Coverity Scan #187040, #187042 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725953 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/uut/cmd.c: fix printf argumentsPatrick Georgi2019-07-311-7/+7
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: I6965fda01b45bc15146103564c6eea271c65f96f Signed-off-by: Patrick Georgi <pgeorgi@google.com> Found-by: Coverity Scan #1994{41,43,44,45,46,49,51,56,57} Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725952 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/ec_flash: avoid divide-by-zeroPatrick Georgi2019-07-311-0/+7
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: I514c2aa307e94be826e9c8e219eb471892b3fad6 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Found-by: Coverity Scan #201954 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725951 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>
* ectool: Add stress command to ectoolCraig Hesling2019-07-251-0/+166
| | | | | | | | | | | | | | | | | | | | | | | This command stress tests the channel between the user-side ec command interface and the target MCU. This can be used to expose rare communication errors, such as exceeding communication timeouts. BRANCH=none BUG=b:131724307,b:116065496 TEST=make buildall -j TEST=cros_workon --board=nocturne start chromeos-base/ec-utils emerge-nocturne chromeos-base/ec-utils cros deploy dut1 chromeos-base/ec-utils # On dut1 ectool stress ectool --name=cros_fp stress ectool --name=cros_fp stress reboot Change-Id: I485e915d0bc027ccee8d2d78b90fe0d066a3ff4d Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1686712 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* ec_commands: Add EC_CMD_MKBP_WAKE_MASK.Aseda Aboagye2019-07-251-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new host command, EC_CMD_MKBP_WAKE_MASK which allows the host to retrieve and set the MKBP host event wake mask along with the MKBP event wake mask. An accompanying console command, `mkbpwakemask` is present as well to view and adjust the wake masks. In order to use this host command, one of the following EC CONFIG_* options must be enabled in the EC: CONFIG_MKBP_HOST_EVENT_WAKEUP_MASK or CONFIG_MKBP_EVENT_WAKEUP_MASK. BUG=chromium:786721 BRANCH=None TEST=Deploy new version of ectool and EC firmware on nocturne, verify that ectool can view and adjust the wake masks. Verify that masks can be adjusted via the console command as well. Change-Id: I01a389ccd571328220eadd19ded4167dea8c6faa Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1700004 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org>
* it83xx(iteflash): Support Flash for it8xxx1 or it8xxx2Donald Huang2019-07-251-16/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support 3 Byte Chip ID. Support 3 Byte DBGR Address. Change the flash size determination method. BUG=none BRANCH=none TEST=Check it ok on both it8320 and it8xxx2 series. There are several new chip from ITE. The Chip ID : 81201 81202 83201 83202 We temporarily defined it as it8xxx1 and it8xxx2 series. The new chip id is from 2 bytes to 3 bytes. We verify it ok from Servo V2 + ITE evboard. (cr) (asus-serve-v4) donald@donald-Aspire-4752 ~/trunk/src/platform/ec $ sudo ~/trunk/src/platform/ec/util/flash_ec --board=it83xx_evb INFO: Using servo_v2. INFO: Using ec image : /mnt/host/source/src/platform/ec/build/it83xx_evb/ec.bin INFO: Flashing chip it83xx. INFO: Closing servod connection to ftdi_i2c interface INFO: Programming EC firmware image using iteflash... CHIPID 81201, CHIPVER 40, Flash size 256 kB Done with sending special waveform. Disabling watchdog... Disabling protect path... Erasing flash...erase size=262144 \100% Erasing Done. Writing 262144 bytes at 0x00000000....... \100% Writing Done. Verify 262144 bytes at 0x00000000 \ 99% Verify Done. INFO: Flashing done. INFO: Reinitializing ftdi_i2c interface Change-Id: If17f85cb5d67d262a85d5cdeb89044646c39a0e1 Signed-off-by: Donald Huang <donald.huang@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1655213 Reviewed-by: Namyoon Woo <namyoon@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Donald Huang <cguwinds@gmail.com> Tested-by: Donald Huang <cguwinds@gmail.com>
* util: Unify separate flash_fp_mcu scripts into single common oneTom Hughes2019-07-231-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* signer: improve debug reporting of the signer scriptVadim Bendebury2019-07-231-4/+4
| | | | | | | | | | | | | | | | | In case sighing failure happens, let's not delete temporary files and let's report the full failed signer invocation command line so that it is easy to debug the problem. BRANCH=none BUG=none TEST=debugged failure to sign the MP image which happened after transitioning into a new sighing environment. Change-Id: I55accb6887ad00103c9aa7b69aa373f886bce64e Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1715325 Reviewed-by: Namyoon Woo <namyoon@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* ec_commands: Rename 'renew' to 'live' in EC_CMD_USB_PD_CHIP_INFOKarthikeyan Ramasubramanian2019-07-201-5/+9
| | | | | | | | | | | | | | | | | | | | | | Semantics of renew field in EC_CMD_USB_PD_CHIP_INFO is changing as follows: 0 -> Return hard-coded info for Vendor ID/Product ID and cached info for the Firmware Version 1 -> Return the live chip info for Vendor ID/Product ID/Firmware Version Also rename the 'renew' field to 'live' to match the new semantics. BUG=b:128820536,b:119046668 BRANCH=None TEST=make -j buildall; Boot to ChromeOS. Change-Id: Ie3dd022336b0be5c9728bb0ebabef32b7a6b5d57 Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1617893 Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Auto-Submit: Karthikeyan Ramasubramanian <kramasub@chromium.org>