summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Zephyr: Add AEC 5477109 batteryDiana Z2021-10-013-0/+56
| | | | | | | | | | | | | | | Add AEC 5477109 battery information based on the information given in guybrush's battery.c file. BRANCH=None BUG=b:195137794 TEST=zmake testall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Id585f8266879c76e09706806e399d76f71204b9f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3200066 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* ectool: Implement I2C speed control commandCaveh Jalali2021-10-013-0/+94
| | | | | | | | | | | | | | | | | | | This adds the new "i2cspeed" command. The command takes an I2C port (bus) number as an argument. Without a 2nd argument, the current I2C speed is reported. If a 2nd argument is given, the I2C bus speed accordingly, the unit is assumed to be Kbps. In practice, only 3 speeds are supported: 100, 400, 1000 kHz. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz using ectool. Change-Id: I80cd436c85c368f13357a4a80c3179e1fb483cb1 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181508 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* ectool: Split I2C commands into separate fileCaveh Jalali2021-10-014-310/+331
| | | | | | | | | | | | | | This splits the I2C related commands into their own file. BRANCH=none BUG=b:201039003 TEST=buildall passes Change-Id: Iaa22bcb624580e5a3893791a46e11afc8b7517f6 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181507 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* hostcmd: Implement I2C_CONTROL host commandCaveh Jalali2021-10-013-0/+65
| | | | | | | | | | | | | | | | This adds an host command to get or set the I2C bus speed of an I2C bus located on the EC. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz using ectool. Change-Id: Ieaaee8d925509b103771c96bec50a90403766c1a Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181506 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* i2c: add converters between enum i2c_freq and kHzCaveh Jalali2021-10-012-0/+48
| | | | | | | | | | | | | BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz using ectool. Change-Id: Ide60a2515d4d9a5f8e1ff841b8369e63c39f5c6a Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3198247 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* hostcmd: Define I2C speed control interfaceCaveh Jalali2021-10-011-0/+25
| | | | | | | | | | | | | | | | | This defines an host command to get or set the I2C bus speed of an I2C bus located on the EC. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz using ectool. Cq-Depend: chromium:3181506 Change-Id: I57889ebf40bcec397b6f9a52822bb5479702e9e4 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181505 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* zephyr: test: SYV682X TSD and OVP alertsAbe Levkoy2021-10-012-2/+54
| | | | | | | | | | | | | | | | | Emulate interrupts caused by TSD or OVP events. Verify that the driver disables sourcing VBUS. Increase coverage of syv682x.c: (lines 52.8% -> 54.8%, branches 15.5% -> 16.1%). BUG=b:190519131 TEST=zmake configure --test zephyr/test/drivers BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: If5bc6305758a6bd05d4ceefd7c41e0ad5954e85e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3200056 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* primus: control prochotScott Chao2021-10-015-1/+220
| | | | | | | | | | | | | BUG=b:198722634 BRANCH=none TEST=make -j BOARD=primus TEST=verified by power team Signed-off-by: Scott Chao <scott_chao@wistron.corp-partner.google.com> Change-Id: I777f803b91f0449317f0185a6ca77348de3835bc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3096806 Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* zephyr: tests: drivers: Support Zephyr v2.7Jack Rosenthal2021-10-011-0/+1
| | | | | | | | | | | | | | | Mark v2.7 as supported now that the build works (this driver relied on missing FROMPULL commits). BUG=b:198824039 BRANCH=none TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ib294186968e3182940b184acf0e3e5522ea4cc3b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3197514 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: test: isl923x: Add tests for get/set volt/currentYuval Peress2021-10-014-1/+193
| | | | | | | | | | | | | | | Add emulator functionality to support getting/setting the voltage and current of the isl923x. BRANCH=none BUG=b:201602829 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@google.com> Change-Id: Id3e16c810a296bd697326d358dfcabb350defc5f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3195203 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com>
* gitlab: Move board coverage to a templateJeremy Bettis2021-10-011-2/+26
| | | | | | | | | | | | | | | | | | | This will allow us to build coverage reports for multiple boards. Also add the `coverage` keyword, so the coverage of each step will appear on the jobs page. I.e. https://gitlab.com/zephyr-ec/ec/-/pipelines/380049325/builds BRANCH=None BUG=None TEST=None Change-Id: I892653406f471b3c98ad6dbd7cb91c086614e264 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3197731 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: npcx: add get_jedec_id and get_status functionsMichał Barnaś2021-10-011-0/+34
| | | | | | | | | | | | | | | | This commit implements get_jedec_id and get_status functions for npcx. BRANCH=main BUG=b:190224781 TEST=Execute flashchip command in EC console on eg. lazor. Values should be the same as in CrOS version. Change-Id: Ie1ad596b793492dcdb72b1b99c8b7623776490f3 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3187910 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: add support for flashchip commandMichał Barnaś2021-10-012-4/+104
| | | | | | | | | | | | | | | | | This commit extends the cros_flash_driver_api by adding pointer to functions that read manufacturer and device ids and status registers. BRANCH=main BUG=b:190224781 TEST=Extending interface shouldn't change EC behavior. Change-Id: I20f75679d7de5ab33432fc4b76bc3bbf7df5b541 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3191590 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Keith Short <keithshort@chromium.org>
* driver: als_bh1730: Set last_valueGwendal Grignou2021-10-011-3/+4
| | | | | | | | | | | | | | | | |last_value| was never set, so sensor would send same data and never send measurement of 0 lux. BUG=b:201719476 BRANCH=many TEST=compile Fixes: 47a6acca3a41 ("motion: Add bh1730 as a motion sensor") Change-Id: Ib201db8809cd50b717c37e2f717a1b7ea0dcf312 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3198678 Reviewed-by: Cheng-Hao Yang <chenghaoyang@chromium.org>
* zephyr: test: Add stub isl923x emulatorYuval Peress2021-10-017-0/+116
| | | | | | | | | | | | | | Add the skeleton code needed to emulate the isl923x charger. BRANCH=none BUG=b:201602829 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@google.com> Change-Id: Ic9af555ccd7ff6a0be2e7a0818b5e566816a0c13 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3195202 Reviewed-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: test: Add a common i2c_emul_api instanceYuval Peress2021-10-019-35/+14
| | | | | | | | | | | | | | | | Refactor emulators that all set the same i2c_emul_api to use the same common API. BRANCH=none BUG=none TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@google.com> Change-Id: I6da6df23c77f0710a24bab8d9f0b7fb6fa14dff2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3195201 Reviewed-by: Tomasz Michalec <tm@semihalf.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: test: Add ISL923X chargerYuval Peress2021-10-012-0/+16
| | | | | | | | | | | | | Enable the isl923x charger driver and include it in the stubs.c BRANCH=none BUG=b:201602829 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@google.com> Change-Id: I75f1ae93dbd7489a2d43b8b88edf96ed5ea993b5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3195200 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: charger: Allow multiple (different) chipsYuval Peress2021-10-013-22/+14
| | | | | | | | | | | | | | | | | There's no real restriction that the same chip needs to be used for charging. Remove 'choice' and allow multiple charging drivers to be set for the same board. This change also requires re-naming the mutex to avoid conflict because of the way Zephyr allocates them. BRANCH=none BUG=b:201602829 TEST=zmake testall Signed-off-by: Yuval Peress <peress@google.com> Change-Id: I522247bc7dbdae6d6c360a37dfbc1031f4058983 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3195199 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com>
* gitlab: Exclude the correct directoriesJeremy Bettis2021-10-011-1/+1
| | | | | | | | | | | | | | | | | | | I moved the zephyr directory, and didn't update the exclusion in merged_coverage. BRANCH=None BUG=None TEST=None Change-Id: I23532af4c95d547343aa25aa6fd39174fe58ee68 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3197730 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* herobrine: Interpret the board and SKU IDs in ternaryWai-Hong Tam2021-10-011-2/+2
| | | | | | | | | | | | | Herobrine has no legacy. Interpret the board and SKU IDs in ternary. BRANCH=None BUG=b:201580437 TEST=Built the Zephyr image and checked the board and SKU IDs. Change-Id: I05ce8f458ab119861418a186e42055546ad0efcc Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3198424 Reviewed-by: Douglas Anderson <dianders@chromium.org>
* krane: Add motion sense config for BMI220Rong Chang2021-10-013-1/+66
| | | | | | | | | | | | | | | Add runtime BMI220 detection using CHIP_ID register. Fallback to BMI160 sensor driver. BUG=b:193945779 BRANCH=kukui TEST='ectool motionsense' and verify lid angle. Signed-off-by: Rong Chang <rongchang@chromium.org> Change-Id: Ia284cdf115e5d60bdd63a36ad82751b23eb438b3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3156315 Reviewed-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* driver: Add support for BMI220 sensorMike Lee2021-10-0112-19/+828
| | | | | | | | | | | | | | | Based on BMI260 sensor, add support for BMI220 sensor. BUG=b:188373185,b:193945779 BRANCH=dedede,kukui TEST=run factory test on storo360 Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Signed-off-by: Rong Chang <rongchang@chromium.org> Change-Id: Ifa88c7c58203ba405fde757b85570d53a27221a0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3077595 Reviewed-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org>
* zmake: allow running coverage reports for a single testYuval Peress2021-10-011-11/+26
| | | | | | | | | | | | | | | | | | When trying to increase the code coverage it is common to verify the new test's effect by wanting to re-run the coverage report. Update zmake to allow doing so for a single test. BRANCH=none BUG=none TEST=zmake -D configure --test --coverage zephyr/test/drivers Check that build/zephyr/test/drivers/output/zephyr.info exists and is valid Signed-off-by: Yuval Peress <peress@google.com> Change-Id: Ie0a716b6e0fabbbcd5a5e7c6bbec3a8470578cd5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3195198 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* brya: Allow I2C speed change on port 4 (tcpc1)Caveh Jalali2021-10-011-0/+1
| | | | | | | | | | | BRANCH=none BUG=b:201039003 TEST=switched I2C bus speed between 400 kHz and 1 MHz. Change-Id: I23a3f41cdae17c1024ac1302c31cd307842cb1ab Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181509 Reviewed-by: Boris Mittelberg <bmbm@google.com>
* brya: Enable i2cspeed console commandCaveh Jalali2021-10-011-0/+3
| | | | | | | | | | | | BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz. Change-Id: I97eab8a73cd6bc7c525113b7e676e9a39434bc7c Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181510 Reviewed-by: Boris Mittelberg <bmbm@google.com>
* kukui: Disable 'chgsup & gettime' console commands to save spaceVijay Hiremath2021-10-011-0/+2
| | | | | | | | | | | | | | | | | | | | Just preserving the build at ToT. Do not cherry pick. BRANCH=none BUG=none TEST=make BOARD=kodama -j before: 236 bytes in flash and 11212 bytes in RAM still available on kodama RO 13696 bytes in flash and 8688 bytes in RAM still available on kodama RW After: 428 bytes in flash and 11212 bytes in RAM still available on kodama RO 13696 bytes in flash and 8688 bytes in RAM still available on kodama RW Change-Id: I42ffbf532d2a42b8d325692f20ca5f0c061e8969 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3198233 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: zmake: Add pre-upload formatter suggestionsJack Rosenthal2021-09-302-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zmake requires three (fairly standard) formatting and linting tools to preform validation on the source. At present, we run these as a part of run_tests.sh and report it during the commit queue run, which can be inconvenient to find out a CL needs trivial formatting changes after you've already sent it to the CQ. Running these formatting tools in pre-sumbit isn't exactly trivial: some people run repo upload from outside of the chroot and we won't necessarily have the formatting/linting tools installed, or if we do, they could be different versions that make slightly different suggestions. Therefore, we wrap the pre-upload logic like so: - If no zmake changes were made, simply exit successfully. - If we did make zmake changes, and we happen to be running in the chroot, run the formatting tools and suggest fixes if necessary. - Finally, if there's zmake changes but we're out of the chroot, report a warning and fail the pre-upload checks. BUG=b:192389533 BRANCH=none TEST=(in chroot) try to upload a CL with bad formatting, get yelled at during pre-upload TEST=(out of chroot) upload a CL with zmake changes, get told to run in the chroot TEST=(out of chroot) try and upload without zmake changes, didn't notice any pre-upload warnings Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: If307b9ce9f968b5b09ad8aeb27f4b9621e813036 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3198244 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* zmake: Generate branch coverage reportsAbe Levkoy2021-09-301-1/+10
| | | | | | | | | | | | | | | Sample branches during coverage runs and display branch coverage in coverage reports. BUG=none TEST=zmake coverage build/zephyr/test/drivers BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I7d48826f39d9a6021e8bb1fbd3e489016d5ce7f0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3198113 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* core/minute-ia: Fix inline asmTom Hughes2021-09-301-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang produces the following warning: core/minute-ia/panic.c:119:19: error: variable 'eax' is uninitialized when used here [-Werror,-Wuninitialized] pdata->x86.eax = eax; ^~~ core/minute-ia/panic.c:109:23: note: initialize the variable 'eax' to silence this warning register uint32_t eax asm("eax"); When specifying registers for local variables they need to be specified as constraints on an asm block: https://gcc.gnu.org/onlinedocs/gcc/Local-Register-Variables.html#Local-Register-Variables In this case we simply use an empty asm block since we're just trying to extract the values of the registers. As indicated by the TEST line, the output is identical before and after this change. BRANCH=none BUG=b:172020503 TEST=make CC=clang V=1 BOARD=arcada_ish TEST=./util/compare_build.sh -b all -j 70 => MATCH Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I6fbd7061d9af734f02ec3dbb1329cdffac5e2a7d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193276 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* Guybrush: Enable zephyr power interruptsDiana Z2021-09-301-0/+9
| | | | | | | | | | | | | | | Enable power interrupts so we can detect them and boot and all that fun. BRANCH=None BUG=b:201571669 TEST=on guybrush, boot to S0 briefly (like 10 seconds of kernel console access) Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I53be7a90497cf5c591fcf9e61f23f87a3ac572f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3198232 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* brask: Add Barrel jack power supply handlingDavid Huang2021-09-304-3/+183
| | | | | | | | | | | | | | | Add Barrel jack power supply handling from puff. BUG=b:197514362 BRANCH=None TEST=booted on hardware, verified chgsup output with barrel jack Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com> Change-Id: Ifc138c8c9938d489044125437e515b898e01f362 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3139614 Reviewed-by: Zhuohao Lee <zhuohao@chromium.org> Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* ec: Pass zephyr root dir to zmake instead of baseJeremy Bettis2021-09-305-25/+31
| | | | | | | | | | | | | | | | | | | Checkout all zephyr versions on gitlab, and pass the root directory to zmake instead of just 1 version. BUG=None TEST=sudo emerge zephyr-build-tools && \ ./zephyr/firmware_builder.py --metrics /tmp/tmpwhi95jy2 build && \ ./zephyr/zmake/run_tests.sh BRANCH=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I6016495aeff847b2cba081e1fa8731526de11f8d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3194982 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: add motion sensors probing to lazor boardMichał Barnaś2021-09-303-10/+70
| | | | | | | | | | | | | | | | | | Add motion sensors probing to zephyr build. Add icm426xx sensor to lazor device tree. BRANCH=main BUG=b:194424288 TEST=Build and flash CrOS and Zephyr for lazor On EC console there should be a message that lists probed sensors and result of probing. Motion sensors should work correctly, orientation and tablet mode change should be detected. Change-Id: I33babba1724118d20a99b3a755d318bf20f5cbfc Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3137944 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* accel: add probing support for kionix driverMichał Barnaś2021-09-301-0/+17
| | | | | | | | | | | | | | | Add function to probe the kx022 chip. BRANCH=main BUG=b:194424288 TEST=kx022 can be added as alternative motion sensor and it should be probed correctly Change-Id: Ib2d5c2b15dedf3a90e3c4ce0bffae9df2d29ac20 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3129963 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: motion: add support for icm426xx driverMichał Barnaś2021-09-309-1/+159
| | | | | | | | | | | | | | | | | Add support for icm426xx accel and gyro sensors. This allows to define these sensors in board's device tree. Add support for runtime probing of this sensor. BRANCH=main BUG=b:194424288 TEST=icm426xx sensor can be defined in zephyr build all dependencies are generated correctly Change-Id: I7a6499cb099c3edca8513b664d4948afea59998c Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3137943 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: motion: add support for runtime probing of motion sensorsMichał Barnaś2021-09-305-7/+126
| | | | | | | | | | | | | | | | | | | | Add possibility to define alternative motion sensors that will be probed on EC boot. This will allow to easily specify different variants of boards with different motion sensors. BRANCH=main BUG=b:194424288 TEST=This commit shouldn't change anything. Build, flash EC and motion sensors should work correctly, detecting tablet mode and orientation changes. Change-Id: Ia2f864854699416abdd188a6bc36e6356e86f6f5 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3129962 Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* brya family: fix keyboard wake in tablet modeBoris Mittelberg2021-09-295-1/+31
| | | | | | | | | | | | | Block keyscan in S0ix, when the device is in tablet mode BUG=b:199114579 BRANCH=none TEST=manual, as described in b:199114579 Signed-off-by: Boris Mittelberg <bmbm@google.com> Change-Id: I17c5fc55e5e07ae180275aba492ef491b2d116cc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180270 Reviewed-by: caveh jalali <caveh@chromium.org>
* zephyr: remove workaround for shell when help is enabledMichał Barnaś2021-09-291-5/+0
| | | | | | | | | | | | | | | | This workaround is no more needed, because hanging of shell was fixed in zephyr code. BRANCH=main BUG=b:196627937 TEST=Shell is working correctly with lower size of buffer Cq-Depend: chromium:3192860 Change-Id: I37627b60b7e645aeef7faf4a1e96a78e270d6660 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3194352 Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* gitlab: Many changes to get coverage build workingJeremy Bettis2021-09-292-23/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to updated docker container. Make shallow git clones for speed. Don't install anytree or pyelftools, since they are in the docker container now. Set explicit `needs` attributes on each job. Split coverage build into ec_coverage, zephyr_coverage, and merged_coverage. Run make -j8 instead of make -j. Run make test-coverage instead of make coverage. For this situation we don't need the base board coverage, nor the report. Stop using flock to prevent parallel calls to lcov. I don't know if it was ever unsafe, but it seems safe today. BUG=None BRANCH=None TEST=Pushed to gitlab coverage branch: https://gitlab.com/zephyr-ec/ec/-/pipelines/379672379 Change-Id: I90ed7bb947d96062042959aee957bc6728c22ea7 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3194977 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com>
* zephyr: guybrush: Drop support for Zephyr v2.6Jack Rosenthal2021-09-291-1/+0
| | | | | | | | | | | | | | This allows us to use the v2.7 pinmux APIs without breaking the v2.6 build. BUG=b:195137794 BRANCH=none TEST=build for guybrush Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ib35fe7ccebc0445fc0167b47d6533dd7981fcb0f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3194524 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: Add support for v2.7 on all projects it compiles withJack Rosenthal2021-09-2923-1/+23
| | | | | | | | | | | | | | Everything except test/drivers works with v2.7_rc3 right now. Mark it as a supported version so that we're testing against the v2.7 tree. BUG=b:198824039 BRANCH=none TEST=zmake testall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I69eff4c92fdc50686ed9a7624e41e8cae0ffb13c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3194523 Reviewed-by: Keith Short <keithshort@chromium.org>
* boten: modify battery fet register definestabilize-ambassador-14268.43.B-ishstabilize-14324.72.B-ishstabilize-14324.62.B-ishstabilize-14324.41.B-ishstabilize-14324.13.B-ishstabilize-14321.B-ishstabilize-14312.B-ishstabilize-14285.B-ishstabilize-14268.67.B-ishstabilize-14268.52.B-ishstabilize-14268.51.B-ishstabilize-14267.B-ishrelease-R97-14324.B-ishrelease-R96-14268.B-ishfirmware-cr50-stab-mp-14300.B-ishfirmware-cr50-stab-14294.B-ishfirmware-chameleon-14280.B-ishfactory-ambassador-14265.B-isharthur.lin2021-09-291-9/+9
| | | | | | | | | | | | | | | Modify correct fet register define to fix vsys drop issue. BRANCH=dedede BUG=None TEST=make buildall -j flash on boten, verify that VSYS remains up. Signed-off-by: arthur.lin <arthur.lin@lcfc.corp-partner.google.com> Change-Id: I98cfdff1b1b2e7a64a38e92c4272605de0aaf453 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193204 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* driver: Remove unused functionTom Hughes2021-09-291-16/+0
| | | | | | | | | | | | | | | | | | When compiling with clang it warns that the function is unused: driver/accelgyro_lsm6dsm.c:45:29: error: unused function 'get_fifo_type' [-Werror,-Wunused-function] static inline enum dev_fifo get_fifo_type(const struct motion_sensor_t *s) BRANCH=none BUG=b:172020503 TEST=make CC=clang V=1 BOARD=arcada_ish Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ibc52e25a2f750e8da8335e7835475db7a5d42670 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193275 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* chip/ish: Fix return typeTom Hughes2021-09-291-1/+1
| | | | | | | | | | | | | | | | | | clang warns that the types do not match: chip/ish/host_command_heci.c:140:9: error: implicit conversion from enumeration type 'enum ec_error_list' to different enumeration type 'enum ec_status' [-Werror,-Wenum-conversion] return EC_SUCCESS; BRANCH=none BUG=b:172020503 TEST=none Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ief6c5ecb4a6850a5560357f6f9c7cb7c5bd22797 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193272 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* core/minute-ia: Remove .func and .endfuncTom Hughes2021-09-291-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .func and .endfunc were used to emit STABS debug information (not DWARF). These only have an effect with -gstabs, which we're not using. I suspect their inclusion was not intentional. STABS is not supported when building with clang, so it generates the following errors: core/minute-ia/switch.S:27:1: error: unknown directive .func __task_start ^ core/minute-ia/switch.S:42:1: error: unknown directive .endfunc See https://bugs.llvm.org/show_bug.cgi?id=20424 and https://sourceware.org/gdb/current/onlinedocs/stabs.html. As indicated by the TEST line, the output is indentical before and after this change. BRANCH=none BUG=b:172020503 TEST=make CC=clang V=1 BOARD=arcada_ish TEST=./util/compare_build.sh -b all -j 70 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1e1e5f57fb382797e01dcf797d72de0468150054 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193271 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* nipperkin: update fw_config fieldZick Wei2021-09-292-25/+23
| | | | | | | | | | | | | | Update cbi fw_config field follow b:196909635 BUG=b:196909635 BRANCH=none TEST=make BOARD=nipperkin Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Change-Id: I877b0b7db788680f513686100ad3d5f5e6d59b1e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3144411 Reviewed-by: Rob Barnes <robbarnes@google.com> Commit-Queue: Rob Barnes <robbarnes@google.com>
* gooey: modify battery fet register definearthur.lin2021-09-291-9/+9
| | | | | | | | | | | | | | | | Modify correct fet register define to fix vsys drop issue. BRANCH=keeby BUG=b:198405407 TEST=make buildall -j flash on gooey, verify that VSYS remains up. Signed-off-by: arthur.lin <arthur.lin@lcfc.corp-partner.google.com> Change-Id: I4555c535c75521b5eac63024cf2a172fb6f8020a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3185799 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* chip/stm32: Make function definition and declaration matchTom Hughes2021-09-292-2/+2
| | | | | | | | | | | | | | | | | | | "test_mockable_static" is static, but the declaration created by DECLARE_IRQ is not static. The mismatch generates a compiler warning when building with clang: chip/stm32/clock-f.c:325:6: error: unused function '__rtc_alarm_irq' [-Werror,-Wunused-function] void __rtc_alarm_irq(void) BRANCH=none BUG=b:172020503 TEST=make buildall -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I39e2de93b057b5565c54ffb83e1633a13db1ce46 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172039 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* Coachz: Enable CONFIG_LTODiana Z2021-09-291-0/+1
| | | | | | | | | | | | | | | Coachz is down to 100's of bytes of free flash on ToT. Enable LTO to free up about 9k in flash space. BRANCH=None BUG=None TEST=make -j BOARD=coachz shows 9k+ free flash Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ib49e4f41780c7df5ebdeabf91dface0fea2f0234 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3192234 Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
* zephyr: emul: ln9310Aaron Massey2021-09-283-0/+29
| | | | | | | | | | | | | | | Add INT1_MSK registor to ln9310 emulator. BRANCH=none BUG=b:184856083 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Aaron Massey <aaronmassey@chromium.org> Change-Id: I864d355767f0c2d091f830329e511be8d293fac4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3179310 Commit-Queue: Aaron Massey <aaronmassey@google.com> Tested-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Yuval Peress <peress@google.com>