summaryrefslogtreecommitdiff
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* zed: initial commitTing Shen2020-09-291-0/+1
| | | | | | | | | | | | | BUG=b:167884598 TEST=make BOARD=zed BRANCH=master Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I0b3542bff38756c07e5073672f0d485cd6a9d0c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2428444 Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* util/presubmit_check.sh: disable buildall requirementJack Rosenthal2020-09-291-36/+0
| | | | | | | | | | | | | | | | | This was added to the presubmit back in the days of the legacy commit queue, to avoid blowing up the CQ when unit tests had not been run. This is unnecessary now with Parallel CQ, these tests are run as a part of CL-specific commit queues. BUG=none BRANCH=none TEST=presubmit Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I57837755e37cc46f80ad5bd7c61082d2c7077aa8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2436379 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util: Delete flash_pd.pyYilin Yang2020-09-281-348/+0
| | | | | | | | | | | | | | | | | | Reasons: 1. We integrated pd into ec for all recent projects. So after Skylake, we don't need it anymore. 2. For old project, they can find it in firmware branch. BUG=chromium:1031705 BRANCH=master TEST=None Signed-off-by: kerker <kerker@chromium.org> Change-Id: I8975a0d61058b9c95c7c681c17cf1c543cffeaac Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2434587 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Jack Rosenthal <jrosenth@chromium.org>
* ec3po: run_tests.sh uses python3 to run unittestYilin Yang2020-09-261-1/+1
| | | | | | | | | | | BUG=chromium:1031705 BRANCH=master TEST=run_tests.sh pass Signed-off-by: kerker <kerker@chromium.org> Change-Id: I3be180f50db5ec84d0035dd558a2177e0ef1313c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2418193 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* ec3po: Migrate console.py to python2/3 compatibleYilin Yang2020-09-262-286/+234
| | | | | | | | | | | | | | BUG=chromium:1031705 BRANCH=master TEST=`python2 console_unittest.py` pass TEST=`python3 console_unittest.py` pass TEST=same with https://crrev.com/c/2418191 Signed-off-by: kerker <kerker@chromium.org> Change-Id: I9fb782923e68189f5526bf9e6b9e35c47facf2aa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2418192 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* ec3po: Migrate interpreter.py to python2/3 compatibleYilin Yang2020-09-263-49/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it python2/3 compatible. But because servod is still using python2 now, I can only make sure that this CL still works in python2. Try my best to make it work in python3, but need more test when servod can support python3 environment. BUG=chromium:1031705 BRANCH=master TEST=`python2 interpreter_unittest.py` pass TEST=`python3 interpreter_unittest.py` pass TEST=1. cros_workon --host start hdctools ec-devutils 2. sudo emerge hdctools ec-devutils 3. sudo servod -b kukui -m jacuzzi 4. dut-console -c ec, can see the ec console - `version`, `battery` works TEST=1. Disable software sync on dut 2. Define CONFIG_EXPERIMENTAL_CONSOLE in jacuzzi board.h 3. Build ec, and flash to dut 4. dut-console -c ec, can see the ec console - `version`, `battery` works Signed-off-by: kerker <kerker@chromium.org> Change-Id: I3f1dbdb4f88c029a44416021ea7b5f0caf242320 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2418191 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* util: Migrate inject-keys.py to python2/3 compatibleYilin Yang2020-09-251-14/+17
| | | | | | | | | | | | BUG=chromium:1031705 BRANCH=master TEST=`test-inject-keys.sh` pass with python2, python3 shebang Signed-off-by: kerker <kerker@chromium.org> Change-Id: I61e7fe8525f8b836dae5eedd74f090899ac019e3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2422111 Reviewed-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* ec3po: Stop suppressing exceptions in console and interpreter loops.Matthew Blecker2020-09-242-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | This removes catch-all "except:" blocks from ec3po console and interpreter loops. They catch nothing in my own servod usage and testing. If they are catching exceptions in some environments or workflows, let's find and fix the problems. BRANCH=none BUG=chromium:894870 TEST=servod starts servod stops cleanly via ctrl+c servod stops cleanly via SIGTERM EC, CR50, and Servo console PTYs function correctly for reading and writing Tested with: Atlas DUT + CR50 CCD + Servo v4 Krane DUT + CR50 CCD + Servo v4 Cave DUT + Servo Micro + Servo v4 Change-Id: I6422df9fc528aa446638a58ddfff05701c9688da Signed-off-by: Matthew Blecker <matthewb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2427638 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* util/unpack_ftb: Fix semantic errorYilin Yang2020-09-241-1/+1
| | | | | | | | | | | | | | | | | `map()` returns `list` in python2, while returns iterable object in python3. In python3, using `list()` to wrap the output from `map()` is more natural. BUG=chromium:1031705 BRANCH=master TEST=None Signed-off-by: kerker <kerker@chromium.org> Change-Id: Ic801d488920d07effa2316f1ea3b4160ffe21f7a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2428345 Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
* util: Migrate unpack_ftb.py to python2/3 compatibleYilin Yang2020-09-241-3/+5
| | | | | | | | | | | | | | BUG=chromium:1031705 BRANCH=master TEST=1. Download ftb files from nocturne board. (chromeos-touch-firmware-whiskers/release_37_0.7z) 2. Make sure the output is the same after migration. Signed-off-by: kerker <kerker@chromium.org> Change-Id: I5fc43b36764ba53a70d298659ff48172da8a5e0f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2423451 Reviewed-by: Stimim Chen <stimim@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org>
* util: Migrate chargen to python3Yilin Yang2020-09-241-2/+2
| | | | | | | | | | | BUG=chromium:1031705 BRANCH=master TEST=Output is the same with python2 Signed-off-by: kerker <kerker@chromium.org> Change-Id: Ice9bb885fe862b298c55c29c05d7f7eb4a2bead0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2425984 Reviewed-by: Jett Rink <jettrink@chromium.org>
* flash_ec: add new chip target ite_spi_ccd_i2cTing Shen2020-09-231-3/+15
| | | | | | | | | | | | | | | | | | Asurada's EC supports 2 programmming interface: Servo => SPI => EC, and CCD => I2C => EC Add a new chip target in flash_ec script to support both paths. BUG=b:168677678 TEST=flash_ec with servo_v2/servo_micro/suzy-q/servo_v4 BRANCH=none Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I342e545bcefcf8605b4fd85c625f902d4a89f7a6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2412680 Reviewed-by: Dino Li <dino.li@ite.corp-partner.google.com> Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* ec3po: Adjust logging of binary uart output.Dana Goyette2020-09-231-13/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | The Cr50 UART has a spinner that contains backspace characters, which was causing the line buffer to end up very long. The string of noise would then end up glued onto whatever real line happened to come next. A long line buffer slows down the handling of incoming text, and can result in misleading error messages. For example, put a sleep in the '\b' branch, and the result will be "Cr50 is unresponsive." Now backspace characters are handled by trimming the line buffer, instead of adding them to the end. Since this requires iterating through the incoming data anyway, the method now also escapes each character, to avoid dumping binary into the log. BUG=b:168156948 BRANCH=none TEST=Run servod with the change, notice lack of backspace noise Signed-off-by: Dana Goyette <dgoyette@google.com> Change-Id: Ifb0067b72674b9a01ec973feb5f2f46d184b2a11 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2402430 Tested-by: Dana Goyette <dgoyette@chromium.org> Reviewed-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Commit-Queue: Dana Goyette <dgoyette@chromium.org>
* ectool: Add host command for unified host event interfaceDaisuke Nojiri2020-09-221-0/+79
| | | | | | | | | | | | | | | | | | | | This patch adds 'hostevent' command to ectool to support unified host event command interface (EC_CMD_HOST_EVENT). $ ectool hostevent get 6 0x4102 $ ectool hostevent set 6 0x1000200030004000 0x1000200030004000 BUG=b:168939843 BRANCH=None TEST=Verified on Atlas. See above. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I36ab890b19c994504af88ebee90ea8cffbe02f81 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2420145 Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* TCPMv2: Define typeccontrol host commandAbe Levkoy2020-09-211-1/+39
| | | | | | | | | | | | | | | For now, just support exiting the entered mode, if that mode happens to be DisplayPort (getting TBT3 and USB4 to work correctly will require some more work). Support this command in ectool. BUG=b:168030639 TEST=ectool typeccontrol 0 1; observe DP Exit Mode exchange in PD trace BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: Ib30479cc88696115060e9ff74f6815ce074e6bf5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2415069 Reviewed-by: Diana Z <dzigterman@chromium.org>
* iteflash: speed up flash (KGD) writeDino Li2020-09-211-52/+33
| | | | | | | | | | | | | | This change saved about 65 seconds in writing (over I2C) KGD 1M bytes part. BUG=none BRANCH=none TEST=Programming IT81202 over I2C. Change-Id: I84cc81dc16ceeabcfd15812a21a411ea660f2f7a Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2391035 Reviewed-by: Jett Rink <jettrink@chromium.org>
* util: update recommended JLink versionTom Hughes2020-09-181-1/+1
| | | | | | | | | | | | | BRANCH=none BUG=b:158327221 TEST==With dragonclaw v0.2 connected to Segger J-Trace and servo micro: ./test/run_device_tests.py Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ibef704e447ecb94e383cd1463e7258c382272998 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2410830 Commit-Queue: Craig Hesling <hesling@chromium.org> Reviewed-by: Craig Hesling <hesling@chromium.org>
* flash_ec: fallback to servo_micro SN if servo_micro_for_board not foundEric Yilun Lin2020-09-151-0/+5
| | | | | | | | | | | | | | | | | | | | | This CL simply fallback the servo serial number to the generic one if servo_micro_for_${BOARD}_serialname not found. This might happen if the servod's invoke parameter (e.g. servod --board=asurada) differs to the EC board to flash (e.g. hayato, symlink to asurada), and flash_ec would query servod for servo_micro_for_hayato_serialname, however, servod only knows servo_micro_for_asurada_serialname, and it returns 'unknown'. BUG=b:168074868 TEST=sudo servod -b asurada; make BOARD=asurada flash_ec; make BOARD=hayato flash_ec BRANCH=none Change-Id: I6e190c483dd0c596a9ba294939bc5f85d363c016 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2397941 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* ectool: Display new activitiesGwendal Grignou2020-09-111-0/+6
| | | | | | | | | | | | | | | | | | | Match ec_commands.h and allow display of all sensors activities. BUG=b:123434029 BRANCH=none TEST=On eve with on body activities change: 'ectool motionsense list_activities 1' returns: Enabled: 2: Double tap Disabled: 4: Body Detection Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: I6cf09ea218e59f2ae52ecf97015fb3a16d5fc7e6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2402082 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Ching-Kang Yen <chingkang@chromium.org>
* util: modify getversion to use proper timestamps.Vadim Bendebury2020-09-111-9/+19
| | | | | | | | | | | | | | | | | | | | The getversion.sh utility even when compiling the version string based on the state of several git trees always uses the ec tree for timestamps, be it the latest modified file if the tree is 'dirty' or the last commit time if the tree is clean. It should be using the latest time from all of the trees included in the build. BRANCH=none BUG=none TEST=verified operation for Cr50 with both main and secondary trees clean and dirty Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Change-Id: I72dc1d49ec997c789697b15f7d79fa9f4a8f8adc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2393101 Reviewed-by: Craig Hesling <hesling@chromium.org>
* util: ecst: add support for chip variant npcx9Wealian Liao2020-09-092-2/+17
| | | | | | | | | | | | | | | | | | | | Allow ecst tool to compose the correct firmware header for npcx993f & npcx996f. BRANCH=none BUG=b:165777478 TEST=pass "make buildall" TEST=with the related CLs, change CHIP_VARIANT to npcx996f in board/npcx9_evb/build.mk; "BOARD=npcx9_evb make"; check the image can be built and the image header is correct. Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Signed-off-by: CHLin <CHLin56@nuvoton.com> Change-Id: Ia48b19854850a642a2f4ed97ca45230f46fbd65c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2393403 Reviewed-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* util: uut: add npcx9 to the device-to-flash_size mapping tableWealian Liao2020-09-091-0/+14
| | | | | | | | | | | | | | | | | | | | | uut maintains a mapping table to look up the internal flash size with the device id (chip variant.) This CL adds a new entry in the table for npcx993f & npcx996f. BRANCH=none BUG=b:165777478 TEST=pass "make buildall" TEST="./build/npcx9_evb/util/uartupdatetool --port=pts/15 --baudrate=115200 --read-flash --file=<file_name>" "diff ./build/npcx9_evb/ec.bin <file_name>" Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Signed-off-by: CHLin <CHLin56@nuvoton.com> Change-Id: Iccaa2068dfba8382fe0885ffc2f8105345f73de9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2393402 Reviewed-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* common: implement body_detection state machineChing-Kang Yen2020-09-031-0/+13
| | | | | | | | | | | | | | | | | | | | | Implement body_detection state machine. Detect whether the user is close to the devices or not. Use the variance of acceleration from accelerometer to compute the motion confidence. If motion confidence is high enough, set the motion state to ON_BODY. If low enough, set it to OFF_BODY. Also, make gesture_cal() be called only when the gesture sensor data is updated. BRANCH=None BUG=b:123434029 TEST=make buildall, flash the ec, watch the ec console log Change-Id: If886b7f9fc505ef4db4d7abb08194b8f866121bb Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2230938 Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* iteflash: speed up flash readDino Li2020-09-031-20/+31
| | | | | | | | | | | | | | | | | | | | To save time, this patch removes unnecessary i2c transactions in reading (verifying) flash. BUG=none BRANCH=none TEST=Read 512k bytes without/with this patch: ======without patch / with patch============= servo v2 : 36s / 14s ( 22s reduced) servo micro: 2m:13s / 1m:04s (1m:09s reduced) c2d2 : 81s / 23s ( 58s reduced) Change-Id: I9dc05e107eaf004c4c2017de9ffe9aa97a0d9c68 Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2379368 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org>
* TCPMv2: Add EC_CMD_TYPEC_DISCOVERYDiana Z2020-09-031-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This host command will return all discovery information for the given port and transmit type (SOP, SOP'). Each piece of information includes a count of the number of valid fields filled in to the arrays. To keep the command consolidated and easy to parse, this means there will be some number of bytes in each response which do not contain useful information. With this method, we may fit 7 SVID entries with mode information, which is less than the 16 which the EC can store, but more than most port partners present. BRANCH=None BUG=b:165264379 TEST=on waddledoo, confirm ectool shows: -no discovery information with nothing plugged in -no discovery information with a charger which doesn't reply to VDMs -SOP identity but no SVIDs with Moshi, which NAKs DiscoverSVIDs -SOP identity and all SVIDs with Apple 3-in-1 -SOP and SOP' identity and all SVIDs with TBT dock Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Idf21b23ebe4cda62781762188601b2cc35ede65d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2363417 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org>
* iteflash: speed up flash (IT8315) writeDino Li2020-09-021-90/+76
| | | | | | | | | | | | | | | | | | To save time, this patch removes unnecessary i2c transactions in writing flash. BUG=none BRANCH=none TEST=Flashing 512k bytes FW image to EC (IT8320-512/DX): =======without patch / with patch============= servo micro: 11m:03s / 3m:00s (8m:03s reduced) c2d2 : 8m:20s / 1m:30s (6m:50s reduced) Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Change-Id: I935c64ce6521445e1c5804211cb248945d14af7e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2379369 Reviewed-by: Jett Rink <jettrink@chromium.org>
* driver: add icm426xx chip type defineJean-Baptiste Maneyrol2020-08-291-0/+3
| | | | | | | | | | | | | | | | Add new enum motionsensor_chip and update ectool motionsense. BUG=chromium:1117541 BRANCH=None TEST=ectool motionsense info Cq-Depend: chromium:2317888 Signed-off-by: Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Change-Id: I07736d61bdb7332bfdc44c8f7294233e43a6e00d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2374647 Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Commit-Queue: Gwendal Grignou <gwendal@chromium.org> Tested-by: Gwendal Grignou <gwendal@chromium.org>
* iteflash: Reset EC's GPIOs while flashingDino Li2020-08-281-4/+64
| | | | | | | | | | | | | BUG=b:161957387 BRANCH=none TEST=- EC's GPIOs go back to default while flashing (No power rails are turned on). - EC will be only reset once after flashing. Change-Id: I776da7f5052219df18d570f23fb7fab93583c7fa Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1270299 Reviewed-by: Jett Rink <jettrink@chromium.org>
* Intelrvp: Enable TCPMv2Ayushee2020-08-271-0/+2
| | | | | | | | | | | | | | | | This patch enables support for TCPMv2 for Intelrvp BUG=b:142340399 BRANCH=none TEST=TCPMv2/PD3.0 works properly on tglrvp. Signed-off-by: Ayushee <ayushee.shah@intel.com> Change-Id: If15fc23efbcd9716c322ad06bc78a8e16f957d8e Signed-off-by: ravindr1 <ravindra@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2299841 Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Tanu Malhotra <tanu.malhotra@intel.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* util/ide-config.sh: Bump C standard to C18Craig Hesling2020-08-261-3/+2
| | | | | | | | | | | | | | | | | | | | Enable C18 syntax in vscode cpptools. This is important because we use some backward incompatible c18 syntax in EC. This syntax is not properly recognized when c11 mode is used. VSCode CPPTools now supports C18. https://github.com/microsoft/vscode-cpptools/releases/tag/0.28.0 BRANCH=none BUG=none TEST=none Signed-off-by: Craig Hesling <hesling@chromium.org> Change-Id: I3e508f6d0e121e872476ca32db89d6abbbc8ff6c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2218458 Commit-Queue: Jett Rink <jettrink@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* ectool: add pse host commandJeff Chase2020-08-221-0/+66
| | | | | | | | | | | | BUG=b:163786867 TEST=manual BRANCH=none Change-Id: Ibc595f8a887e3fe63a45dc9b29f3bc4f75feb8ad Signed-off-by: Jeff Chase <jnchase@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2354545 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Joe Tessler <jrt@chromium.org>
* compare_build.sh: Add private directory handlingCraig Hesling2020-08-211-0/+12
| | | | | | | | | | | | | | | | This allows compare_build.sh to use private libs if available. BRANCH=none BUG=none TEST=# Ensure that you have an ec checkout that has a broken # public build, but working private build. ./compare_build.sh -p # This will only work if private was accessible Signed-off-by: Craig Hesling <hesling@chromium.org> Change-Id: Id5e2d1afe474e0175dbba2cddfd84de7c895a927 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2357870
* Revert "util: add gen_bmi_config utility"stabilize-13421.53.B-masterstabilize-13421.42.B-masterKeith Short2020-08-212-308/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f137f2493db5b5ee27ffc784538b766d5192704d. Reason for revert: Compression of BMI260 config no longer needed. Original change's description: > util: add gen_bmi_config utility > > Add the gen_bmi_config utility used to generate a compressed version > of the configuration file required by the BMI260 IMU sensor. > > This is expected to be a temporary solution until the 8 KiB BMI > configuration file can be moved out of the EC code. > > BUG=b:160330682 > BRANCH=none > TEST=make utils > TEST=run "gen_bmi_config compress BMI260_main.tbin > bmi260_compressed.bin" > TEST=run "gen_bmi_config decrompress bmi260_compressed.bin > bmi260_uncompressed.bin", verify uncompressed file matches original > file. BUG=b:160330682 BRANCH=none TEST=make buildall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I2bfe8d7bef2a35f43b96cc0cd07209bef534ed63 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2354195 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: caveh jalali <caveh@chromium.org>
* EC: Fix presubmit message to avoid unbounded parallel makeAndrew McRae2020-08-201-2/+5
| | | | | | | | | | | | | | | | | | | | The presubmit message that checks for 'make buildall' having been run suggests using 'make buildall -j', which can cause an unbounded number of processes to be started, especially as the number of EC targets have increased. Suggest a more reasonable value. BUG=none TEST=Check presubmit output. BRANCH=none Change-Id: Ie35a545dc1c4d58a3ad9d0ed0233c62ab5a92464 Signed-off-by: Andrew McRae <amcrae@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2366324 Reviewed-by: Andrew McRae <amcrae@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> Commit-Queue: Andrew McRae <amcrae@chromium.org> Tested-by: Andrew McRae <amcrae@chromium.org> Auto-Submit: Andrew McRae <amcrae@chromium.org>
* util: uut: add npcx7m7fc to the device-to-flash_size mapping tableCHLin2020-08-191-5/+12
| | | | | | | | | | | | | | | | | | | | | uut maintains a mapping table to look up the internal flash size with the device id (chip variant.) This CL adds a new entry in the table for npcx7m7fc. BRANCH=none BUG=b:163910671 TEST=pass "make buildall" TEST="./build/npcx7_evb/util/uartupdatetool --port=pts/15 --baudrate=115200 --read-flash --file=<file_name>" "diff ./build/npcx7_evb/ec.bin <file_name>" Signed-off-by: CHLin <CHLin56@nuvoton.com> Change-Id: I09d8763f5f54d364ecafd17135d8ea00de89da30 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2355158 Tested-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: CH Lin <chlin56@nuvoton.com>
* util: ecst: add support for chip variant npcx7m7fcCHLin2020-08-182-114/+77
| | | | | | | | | | | | | | | | | | | | Allow ecst tool to compose the correct firmware header for npcx7m7fc. BRANCH:none BUG=b:163910671 TEST=pass "make buildall" TEST=with the related CLs, change CHIP_VARIANT to npcx7m7fc in board/npcx7_evb/build.mk; "BOARD=npcx7_evb make"; check the image can be built and the image header is correct. Signed-off-by: CHLin <CHLin56@nuvoton.com> Change-Id: If1eb6bc34e53c1ddd9e8f049414dc1e307e6d2c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2355155 Tested-by: CH Lin <chlin56@nuvoton.com> Tested-by: Keith Short <keithshort@chromium.org> Reviewed-by: caveh jalali <caveh@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: CH Lin <chlin56@nuvoton.com>
* Replace __attribute__((noreturn)) with noreturnTom Hughes2020-08-171-1/+2
| | | | | | | | | | | | | | | _Noreturn was added in C11 and the convenience macro "noreturn" is specified by stdnoreturn.h: https://en.cppreference.com/w/c/language/_Noreturn. BRANCH=none BUG=none TEST=make buildall -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I30361bb5290cea1c776a7356f7e3a68edf1f8e39 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2324816 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* common: motion_sense: Add on-body/off-body detectionGwendal Grignou2020-08-141-0/+1
| | | | | | | | | | | | | | | | This CL adds the interface for on-body/off-body detection - state: 1 : on-body, 0 : off-body. When activity is enabled, EC sends an event when the body detection changes. The host can now query the current value of the activity. BRANCH=None BUG=b:123434029 TEST=compile Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: I007a5fe6c9030ab5c0c47995db3498751218d9c9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2229803
* VIF: add \n to separate two linesRuibin Chang2020-08-141-1/+1
| | | | | | | | | | | | | | | | The generated VIF, USB_PD_Support and PD_Port_Type field stick together, so I add \n to separate two lines. BUG=none BRANCH=none TEST=check USB_PD_Support and PD_Port_Type field are separated. Signed-off-by: Ruibin Chang <ruibin.chang@ite.com.tw> Change-Id: I43453301751523d0005022d039e640ac06244910 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2355633 Tested-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-by: Sam Hurst <shurst@google.com> Reviewed-by: Jett Rink <jettrink@chromium.org>
* cbi: add Second Source Factory Cache (SSFC) CBI fieldMarco Chen2020-08-132-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | SSFC field will be leveraged to record what second source is used in the DUT by probing components in the factory or RMA. Firmware code should refer to this field to judge what driver should be configured for a specific component. For example, the board code can arrange what sensor driver should be set into motion_sensors array if there are multiple sources of base or lid sensor. As the definition of FW_CONFIG, it describe which "features" the firmware code should enable or disable. For example, whether lid / base sensors should be enabled or not but not care about what second source is in this DUT. BRANCH=none BUG=b:163285687 TEST=call `cbi-util` to create the cbi image with SSFC and show created content. TEST=`make buildall -j` TEST=`make runhosttests -j` Change-Id: Icb4aa00ae47ab025198e7fd5edd6aab96a4bf53e Signed-off-by: Marco Chen <marcochen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2344268 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org>
* ectool: Fix "rwsig dump key_id" hex outputCraig Hesling2020-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ectool command rwsig dump key_id's output was missing zeros in the hex string output. This is because we print each byte independently using the naked %x formatter, which will print the minimum hex characters necessary to represent the independent number provided. We need to force exactly 2 hex characters for each independent byte printed. BRANCH=none BUG=b:162588911 TEST=# Nocturne make BOARD=nocturne_fp build/nocturne_fp/util/ectool # Copy build/nocturne_fp/util/ectool to fat32 flash drive mkdir /tmp/rem mount /dev/sda1 /tmp/rem ectool --name=cros_fp rwsig dump key_id | tr -d '\n' | wc -c # Identify there are less than 40 chars (39 in my case) /tmp/rem/ectool --name=cros_fp rwsig dump key_id | tr -d '\n' | wc -c # Identify there are exactly 40 chars # Rerun both commands without the byte counting to sanity # check the output Change-Id: I0a43833adb647aa034df87678c9657466cc8aef5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2336865 Commit-Queue: Craig Hesling <hesling@chromium.org> Commit-Queue: Tom Hughes <tomhughes@chromium.org> Tested-by: Craig Hesling <hesling@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Auto-Submit: Craig Hesling <hesling@chromium.org>
* util/flash_ec: fix in parse error in getting flash_size from flashromNamyoon Woo2020-08-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes flash_ec to take the last line of grep result from the output of 'flashrom --flash-size'. BUG=b:162771462 BRANCH=none TEST=ran flash_ec on nocturne with suzy-Q connected. $ ./util/flash_ec --image /Downloads/nocturne.bin --board nocturne \ --verbose INFO: Using ccd_cr50. INFO: Using ec image : /Downloads/nocturne.bin INFO: Flashing chip npcx_int_spi. dut-control --port=9999 cold_reset:on dut-control --port=9999 fw_up:on dut-control --port=9999 cold_reset:off INFO: Running flashrom: ... Erasing and writing flash chip... SUCCESS INFO: Flashing done. INFO: Restoring servo settings... dut-control --port=9999 fw_up:off dut-control --port=9999 ccd_ec_boot_mode_uut:off dut-control --port=9999 ccd_ec_boot_mode_bitbang:off dut-control --port=9999 cold_reset:on Signed-off-by: Namyoon Woo <namyoon@chromium.org> Change-Id: I1120c828ddb33f327cce46435ec9fa26b10d1908 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2340088 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org>
* ec: change usage of dummySam Hurst2020-08-053-9/+8
| | | | | | | | | | | | | | | | | | Google is working to change its source code to use more inclusive language. To that end, replace the term "dummy" with inclusive alternatives. BUG=b:162781382 BRANCH=None TEST=make -j buildall `grep -ir dummy *` The only results are in "private/nordic_keyboard/sdk8.0.0" which is not our code. Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: I6a42183d998e4db4bb61625f962867fda10722e2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2335737 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* it8xxx2_pdevb: flash code by SPIRuibin Chang2020-08-051-1/+1
| | | | | | | | | | | | | | | Flash it8xxx2_pdevb code by SPI. BUG=none BRANCH=none TEST=can flash code by SPI on board it81202_pdevb. Signed-off-by: Ruibin Chang <ruibin.chang@ite.com.tw> Change-Id: Ibc83bd5596f65fe8f9558f9575677feeb3da2f91 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2334435 Commit-Queue: Ruibin Chang <Ruibin.Chang@ite.com.tw> Tested-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-by: Jett Rink <jettrink@chromium.org>
* flash_ec: ite_spi: Put FW image at the beginning of temp imagetim2020-08-051-1/+2
| | | | | | | | | | | | | | | When FW image size is less than flash rom SPI size, the temp image should be placed after FW image for ite_spi programming mode. BUG=none BRANCH=none TEST=zephyr.bin(size=18.4k) is successfully burned to it8xxx2_evb to print hello world. Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com> Change-Id: I163d954e91d31a598d0957f7a4de67cef13223f9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2335525 Reviewed-by: Jett Rink <jettrink@chromium.org>
* vif: Update VIF generator to Revision 1.40, Version 1.0 of the specSam Hurst2020-08-051-336/+769
| | | | | | | | | | | | | | | | | | | | | | | | Update the Vendor Information File generator so that it complies with Revision 1.40, Version 1.0 of the spec. The VIF files are generated when the board is built. So, make -j BOARD=<board> will create build/<board>/<board>_vif.txt A VIF can be generated manually after the board is built with build/<board>/util/genvif -b <board name> -o <out directory> BUG=b:131087690 BRANCH=none TEST=manual Generate VIF for Atlas and checked fields. Signed-off-by: Sam Hurst <shurst@chromium.org> Change-Id: Iaa1eaf1f01f9d36ad3afd2818ebe81359b8531f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1577739 Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Sam Hurst <shurst@google.com>
* ec: change usage of whitelist/blacklistPaul Fagerburg2020-07-281-3/+3
| | | | | | | | | | | | | | | | | | | Google is working to change its source code to use more inclusive language. To that end, replace the terms "whitelist", "blacklist", and similar with inclusive alternatives. BUG=b:162262297 BRANCH=None TEST=`grep -Eirl "(white|black)[ _\-]*list" .` The only results are in "private/nordic_keyboard/sdk8.0.0" which is not our code. Signed-off-by: Paul Fagerburg <pfagerburg@google.com> Change-Id: Ie5210b98e1096c22d0e9284c101a42820bd3d79d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2321549 Tested-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Paul Fagerburg <pfagerburg@chromium.org>
* util/flash_ec: drop support for toad cableJack Rosenthal2020-07-231-30/+0
| | | | | | | | | | | | | | | | | All devices with a servo v1 connector are AUE... assume we can drop this old code from ToT. BUG=none BRANCH=none TEST=run with dry run params for scarlet and attached servo v4... no output diff Change-Id: I09df37e2e287337f7962055c3244eab4afacead8 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2313597 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/flash_ec: add --dry_run flagJack Rosenthal2020-07-231-21/+46
| | | | | | | | | | | | | | | | | | | I've found it useful discover what commands are being run to actually flash the EC, without actually flashing it. This CL adds a new flag, --dry_run, which prints the commands necessary to reproduce the flash, instead of running them. Commands which probe hardware presence (e.g., dut_control_get) are not printed. BUG=none BRANCH=none TEST=manual, observe operation with scarlet connected, both with and without --dry_run Change-Id: Ib7de66176625878370d5b24a5fb7a32b37965cb8 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2226505 Reviewed-by: Jett Rink <jettrink@chromium.org>
* ec: change usage of "sane" per inclusive languagePaul Fagerburg2020-07-221-1/+1
| | | | | | | | | | | | | | | | Google is working to change its source code to use more inclusive language. To that end, replace the terms "sane", "sanity check", and similar with inclusive/non-stigmatizing alternatives. BUG=b:161832469 BRANCH=None TEST=`make buildall -j` succeeds. `grep -Eir "sane|sanity" .` shows results only in third-party code or documentation. Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Change-Id: I29e78ab27f84f17b1ded75cfa10868fa4e5ae88c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2311169 Reviewed-by: Jett Rink <jettrink@chromium.org>