summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* tree: Disable false positive warning when building with clangTom Hughes2022-10-155-0/+16
| | | | | | | | | | | BRANCH=none BUG=b:172020503, b:253292373 TEST=./util/build_with_clang.py Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1ef6244d426c8b611be8766575916bbd38429772 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953489 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* util/build_with_clang: Enable trogdor-based boardsTom Hughes2022-10-151-8/+8
| | | | | | | | | | | | | Now that LTO is enabled, there is enough flash space. BRANCH=none BUG=b:172020503 TEST=./util/build_with_clang.py Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: If716209190bd75c1df92739e35230e184f823ce0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3952910 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* driver/als_si114x.c: Fix LED enableTom Hughes2022-10-141-2/+2
| | | | | | | | | | | | | | | | https://crrev.com/c/2603076 introduced a change that inadvertently used SI114X_PARAM_CHLIST_EN_PS3, regardless of the number of LEDs. This was found on inspection when fixing https://crrev.com/c/3949622. BRANCH=none BUG=b:172020503 TEST=make BOARD=eve Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Iccc77d0cfc6c70635df8553406dbf28e5f37f129 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3957419 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* test: power_set/get_host_sleep_state()Aaron Massey2022-10-141-0/+11
| | | | | | | | | | | | | | | Add a test that verifies setting a host sleep event state will result in subsequently getting the input host event sleep state. BRANCH=none BUG=b:252887178 TEST=twister -s zephyr/test/drivers/drivers.power_host_sleep Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I4c2b4672634b89e8a2698ab5bbfea73152c9f9e4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3956205 Reviewed-by: Al Semjonovs <asemjonovs@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr: test: ps8xxx: Add test coverage to ps8xxxSam Hurst2022-10-142-0/+174
| | | | | | | | | | | | | | | | Add test coverage for ps8xxx drivers BUG=b:246762616 TEST=./twister -T zephyr/test/drivers/ BRANCH=main Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: Ie66d341f7e105086108b30c758e2cce9d3535776 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3929259 Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: emul: ps8xxx: Add REG_ID registerSam Hurst2022-10-142-0/+39
| | | | | | | | | | | | | | | | | Add REG_ID Register used to distinguish between the PS8745 and PS8815 chips BUG=None TEST=./twister -T zephyr/test/drivers BRANCH=None Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: Ib7ed8f7d5c3dc4d978342fabfb1046b1e531d82e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3950209 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Keith Short <keithshort@chromium.org>
* test: pwm_hc.c EC_CMD_PWM_SET_DUTYAaron Massey2022-10-142-0/+49
| | | | | | | | | | | | | | | | | | | | | | Add test that verifies the EC_CMD_PWM_SET_DUTY sets the duty values for PWMs associated with either display light or keyboard backlight. Scenarios: * Set KBlight duty * Set Displaylight duty * Set invalid PWM type duty BRANCH=none BUG=b:252817310 TEST=twister --clobber -i -s zephyr/test/drivers/drivers.shim_pwm_hc Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I81156f79c0b57ff6a64a64b59396cc8aa2a6c090 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3957263 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* core/host/task.c: Fix typo in commentBobby Casey2022-10-141-1/+1
| | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Signed-off-by: Bobby Casey <bobbycasey@google.com> Change-Id: Ia4e032b80ade37a8ad0dcfda1f4236ad6cdb2277 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3956159 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrea Grandi <agrandi@google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* util/build_with_clang: Print failed boards in sorted orderTom Hughes2022-10-141-0/+1
| | | | | | | | | | | | BRANCH=none BUG=b:172020503 TEST=./util/build_with_clang.py Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ia3c5840dc32d9fba6913eb33d82ebf46bda3bdf0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953935 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* baseboard/trogdor: Enable LTOTom Hughes2022-10-141-0/+2
| | | | | | | | | | | | | | | | | | | Before (homestar): RO: 5376 bytes in flash and 28448 bytes in RAM still available RW: 5536 bytes in flash and 28448 bytes in RAM still available After (homestar): RO: 16272 bytes in flash and 28832 bytes in RAM still available RW: 16428 bytes in flash and 28832 bytes in RAM still available BRANCH=none BUG=b:172020503 TEST=make buildall Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I48613449cab4977c59a47d98255e0ab683a46fbf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3952909 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* util: add script useful to parse thousands of crash reportsRicardo Quesada2022-10-141-0/+269
| | | | | | | | | | | | | | | | | | | | | | | This CL adds a script that is useful to parse thousands of crash reports. It is useful to parse watchdog crash reports where only the PC is provided. And by analyzing thousands of watchdog crash reports, chances are that we find the function that triggers the watchdogs. This CL should be used together with this other script: https://source.corp.google.com/piper///depot/google3/experimental/users/ricardoq/crashpad/main.py which lives in Google3 since it has to perform an SQL query. BUG=None TEST=crash_analyzer.py lite -m ~/tmp/rammus_193.map -f /tmp/dumps And it generated valid report. BRANCH=None Change-Id: I954c8b89a01dd2b55c07e19111b3ba887b119215 Signed-off-by: ricardoq@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953260 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* Redrix: Add other chip names in port list for I2C7Daisuke Nojiri2022-10-141-1/+1
| | | | | | | | | | | | | | I2C7 also has a main battery charger and a wlc charger. This patch adds them so that i2cscan can show them. BUG=None BRANCH=None TEST=Redrix Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I6fb7ccd7e7c8524730d97aa07b06dbaf4a2b64ca Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953262 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* test: host_sleep.c suspend then resume w/ timeoutAaron Massey2022-10-141-0/+42
| | | | | | | | | | | | | | | | | | | | | | | Add a host_sleep.c test that: 1. Starts the suspend process 2. Registers the suspend state transition 3. Starts the resume process 4. Timesout during the resume process state transition. 5. Finally completes resume process state transition. As a whole, this test validates that suspend/resume state transitions are being tracked and also cancel hang timeout deferred hooks. BRANCH=none BUG=b:252887178 TEST=twister -s zephyr/test/drivers/drivers.power_host_sleep Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I3f9dcdf12698015d5df2816198dfaf36a5ee458b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953259 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* test: host_sleep.c sleep_set_notifyAaron Massey2022-10-143-4/+45
| | | | | | | | | | | | | | | | | | | | | | | | | Add a test that verifies behavior from sleep_set_notify and correspondly sleep_notify_transition. Scenarios: * Setting notify state and sleep_notify_transition can fire hook * Setting notify state and sleep_notify_transition clears notify state. * sleep_notify_transition can start a hook with NONE sleep notify state Also conducted two small refactor fixes: * Made privately used variable static * Changed an int type to how it's actually used (enum sleep_notify_type) BRANCH=none BUG=b:252887178 TEST=twister -s zephyr/test/drivers/drivers.power_host_sleep Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I9d63d1377359035b316ac6aa5de87376b3bb203f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953317 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* test: host_sleep sleep_start_suspend infinite timeAaron Massey2022-10-141-0/+15
| | | | | | | | | | | | | | | | | | Add a test that weakly verifies a call to sleep_start_suspend() with an infinite timeout adds a hook with infinite deferred time meaning it never gets executed and call chip-specific handlers. This is a weak verification because it cannot prove the deferred call would never be executed. BRANCH=none BUG=b:252887178 TEST=twister -s zephyr/test/drivers/drivers.power_host_sleep Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: Iee1b59096248c83fe6b513ec327f3309d1954772 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953316 Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* test: host_sleep sleep_start_suspend default timeAaron Massey2022-10-143-1/+28
| | | | | | | | | | | | | | | | | | | | Add a test that verifies a call to sleep_start_suspend() propagates a timeout deferred call to board/chip-specific timeout handlers after the default delay. Also clarified documentation that previously made testing the default timing functionality non-obvious and potentially confuse callers of the API. BRANCH=none BUG=b:252887178 TEST=twister -s zephyr/test/drivers/drivers.power_host_sleep Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: Id585b5bb4ee9015c7448b4da26460a690e2990b6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953474 Reviewed-by: Yuval Peress <peress@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* ec: Replace dir in path with *Jeremy Bettis2022-10-143-4/+4
| | | | | | | | | | | | | | | BRANCH=None BUG=b:253647573 TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I1f91b8123a2e44ea5a137f9644645ca1b4494aaa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3956204 Reviewed-by: Bobby Casey <bobbycasey@google.com> Commit-Queue: Bobby Casey <bobbycasey@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* print_temps: Modify the description output of temps cmdHarsha B R2022-10-141-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fan speed of temps command is the calculated ratio of Fan_off and fan_max with respect to corresponding sensor temperature. Update the description accordingly so that the output of temps command is not misinterpreted. Also modify the outpu of temps command to display fan_off and fan_max values. EC console ec:~$ temps all memory 310 K (= 37 C) 8% (308 K and 333 K) charger 308 K (= 35 C) 0% (308 K and 333 K) ambient 306 K (= 33 C) 0% (308 K and 333 K) temps command description from EC console, help temps Usage: temps Print temp sensors and temp ratio. BUG=b:246929159 TEST=make -j BOARD=gimble, zmake build nivviks, check temps description BRANCH=none Signed-off-by: Harsha B R <harsha.b.r@intel.com> Change-Id: Iabdd81876985b40da56d2dc669e14bd87eb7ca1a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3915726 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Code-Coverage: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* zmake: Split out build argumentsKeith Short2022-10-142-30/+37
| | | | | | | | | | | | | | Create a subset of arguments used for build commands. This will be used by the compare builds option added later. BUG=none BRANCH=none TEST=zmake/run_tests.sh Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I4ac520c56059fcff75831eabd4cc7e3f3fa2dcbe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3957414 Reviewed-by: Aaron Massey <aaronmassey@google.com>
* cq: Expand coverage exclusionsJeremy Bettis2022-10-142-7/+62
| | | | | | | | | | | | | | | | | | | | | There were some test files that were not getting excluded by the test filter. Most importantly, some tests are mixed into the same directories, but named _test.c. BRANCH=None BUG=None TEST=./firmware_builder.py --code-coverage test lcov --list-full-path --list build/zephyr/lcov_no_tests.info | \ sed -e 's|/mnt/host/source/src/||' | egrep 'mock|emul|test|host' Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I4d8335c4185ba373f93fbfe6bf2ed99aaa7a0ba0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3957418 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* board/coachz: Free up more flash spaceTom Hughes2022-10-142-1/+2
| | | | | | | | | | | BRANCH=none BUG=b:172020503 TEST=make buildall Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Iea7d3c0400cc7af8bbad109d6adbbf18e73714a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3952907 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* baseboard/intelrvp: Work around clang bugTom Hughes2022-10-141-18/+20
| | | | | | | | | | | | | | | | | | | | clang warns: error: initializer element is not a compile-time constant There is an upstream LLVM review with proposed fix: https://reviews.llvm.org/D76096. In the meantime, we will work around it. BRANCH=none BUG=b:172020503, b:202062363 TEST=./util/compare_build.sh -b all -j 120 => MATCH Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: If48c7bd9544c0fae0a889693122673016e1ba183 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953254 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* util: Ignore twister-out* in config_option_checkJeremy Bettis2022-10-141-4/+7
| | | | | | | | | | | | | | | | | | If you have a lot of twister-out dirs, the config_option_check.py script gets really slow. BRANCH=None BUG=None TEST=util/config_option_check.py with 20 twister-out.* dirs Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ia246d610bad4a1aa9923140c8d424262209ff340 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3957260 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* test: Add on-device exception testTom Hughes2022-10-149-0/+110
| | | | | | | | | | | BRANCH=none BUG=b:234181908 TEST=./test/run_device_tests.py --board bloonchipper -t exception Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I4d5651be6048af357b68956097deea255551a6db Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3932262 Reviewed-by: Andrea Grandi <agrandi@google.com>
* test: Add on-device abort() testTom Hughes2022-10-149-0/+97
| | | | | | | | | | | BRANCH=none BUG=b:234181908 TEST=./test/run_device_tests.py --board bloonchipper abort Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ic92cacdf018bbc8454ed4c7f72546a3ed4d7e4fe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3933257 Reviewed-by: Andrea Grandi <agrandi@google.com>
* libc: Implement _exit(), which is needed by libcTom Hughes2022-10-144-0/+41
| | | | | | | | | | | | | | _exit() is called by libc functions such as abort() or exit(). This implementation replaces the one from newlib's libnosys. BRANCH=none BUG=b:234181908 TEST=make buildall Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1d8f65fa206b3544a2772f38be854ee905532ad3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3933256 Reviewed-by: Andrea Grandi <agrandi@google.com>
* chip/mchp: Fix return typeTom Hughes2022-10-141-1/+1
| | | | | | | | | | | | | | | | | | | When building with clang it warns: chip/mchp/lpc.c:966: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=CC=clang make BOARD=reef_mchp Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I680cea90f72d3743ef4b92e13e57e63557cba702 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953490 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* Makefile.rules: Always use C++ compiler to link host testsTom Hughes2022-10-141-1/+1
| | | | | | | | | | | | | | | Host tests that use C++ need to link against the C++ standard library. Using the C++ compiler when linking will include the C++ standard library automatically (-lc++ for clang and lstdc++ for g++). BRANCH=none BUG=b:234181908 TEST=CQ passes Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I690eb8b14b0bd73085a3da1b8c9f97f948ccd63b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953261 Reviewed-by: Andrea Grandi <agrandi@google.com>
* vboot: remove unnecessary hash re-calculationTing Shen2022-10-141-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | When EFS2 enabled, EC calculates the RW hash twice during boot. One in vboot_main() and another one in the init hook vboot_hash_init(). The second hash calculation is performed in a deferred task, and it's very slow on Krabby (~2 seconds), greatly affects boot time. Remove the second calculation since it seems unnecessary. BUG=b:239378639 TEST=1) manually tested sw sync on EFS2(krabby) and EFS1(coachz) device. 2) pass zephyr tests 3) boot speed improved on krabby BRANCH=none Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I32584524451ba261557e84e420a5869bf5fafc2f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3935121 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zombie: Initial EC image for ZephyrMaulik Vaghela2022-10-1411-0/+721
| | | | | | | | | | | | | | | | | | | Create the initial EC image for the zombie variant by copying the herobrine reference board EC files into a new directory named for the variant. (Auto-Generated by create_initial_ec_image.sh version 1.5.0). BUG=b:249180463 BRANCH=None TEST=make BOARD=zombie Signed-off-by: Maulik Vaghela <maulikvaghela@google.com> Change-Id: I556132feb4a2ddd80e0cda9645532f4caf5268d9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3946398 Tested-by: Bob Moragues <moragues@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Bob Moragues <moragues@chromium.org>
* Revert "rt9490: remove set_mode function"stabilize-15185.B-mainstabilize-15185.7.B-mainEric Yilun Lin2022-10-141-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 48ed43a6f372ea3588ccc7e14ff5da1501050216. Reason for revert: charger_task need set_mode function to prevent error. Original change's description: > rt9490: remove set_mode function > > The flags we implemented is not used anywhere in the codebase. > > BUG=none > TEST=zmake > BRANCH=none > > Signed-off-by: Ting Shen <phoenixshen@google.com> > Change-Id: I72b01806463aec903b1bfe23bb1c12a58a97265d > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3896556 > Tested-by: Ting Shen <phoenixshen@chromium.org> > Reviewed-by: Eric Yilun Lin <yllin@google.com> > Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> > Commit-Queue: Ting Shen <phoenixshen@chromium.org> Bug: none Change-Id: I5a3942111dbe2e707c34f79a7e5d170be635d69e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949076 Reviewed-by: Sung-Chi Li <lschyi@chromium.org> Auto-Submit: Eric Yilun Lin <yllin@google.com> Code-Coverage: Sung-Chi Li <lschyi@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com>
* zephyr test: Exercise force-VCONN flowAbe Levkoy2022-10-141-0/+41
| | | | | | | | | | | | | | | | Set up the partner emulator (and create the associated suite boilerplate) to not support VCONN. Verify that the TCPM will unilaterally enable VCONN in this scenario. BUG=b:251485312 TEST=twister -s zephyr/test/drivers/drivers.usbc_vconn_swap BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: Id6b6aa76a1f8e171cd74e6e6c36a44c60c531687 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949579 Reviewed-by: Aaron Massey <aaronmassey@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* PD partner emul: Optional VCONN supportAbe Levkoy2022-10-142-1/+35
| | | | | | | | | | | | | | | | In the PD partner emulator, allow users to disable support for sourcing VCONN. Support the VCONN_Swap -> Not_Supported message flow when VCONN is not supported. BUG=b:251485312 TEST=./twister -T test/zephyr BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I833fb3927fd999bf81dcc0cd0aea3697db1346c0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949578 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tomasz Michalec <tmichalec@google.com>
* zephyr test: Initialize partner VCONN roleAbe Levkoy2022-10-141-1/+2
| | | | | | | | | | | | | | | After a Hard Reset and when initializing a PD partner emulator structure, set the VCONN role to be consistent with the power role. BUG=none TEST=twister -T zephyr/test BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I6545d5febbbf6cd66fc8b9f17b5a3310f31772c7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949572 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tomasz Michalec <tmichalec@google.com>
* Makefile.toolchain: Do not use -Wimplicit-function-declaration for C++Caveh Jalali2022-10-141-1/+2
| | | | | | | | | | | | | | | | | | | | | Avoid errors like: cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ when compiling for target host (i.e. 'make hosttests'). As of gcc 9.2, implicit-function-declaration is only valid for regular C code compilation. cc1plus rejects this flag. BRANCH=none BUG=b:234181908 TEST='make buildall' no longer complains Change-Id: I8531c1e69a387f27d9a85be75e2e884f75950faa Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949585 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* zephyr: Add test for qcom chipset_resetJeremy Bettis2022-10-132-5/+54
| | | | | | | | | | | | | | | | | | This test doesn't provide the ap_rst_l signal, so it causes a code reset. BRANCH=None BUG=None TEST=./twister Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Id8dded19f99d33de427f7e12fe66677f1f850ae3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3946033 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Yuval Peress <peress@google.com>
* include/compiler.h: Add generic macro for disabling compiler warningsTom Hughes2022-10-138-53/+78
| | | | | | | | | | | | | | These macros are easier to read and use than the underlying pragmas. BRANCH=none BUG=b:172020503 TEST=make buildall Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I2f67cbb3f83230b7e1a6a4512471bbd2bec0498f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3872552 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* ec: Add #line directive to fix odd coverage.Jeremy Bettis2022-10-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Sometimes we get coverage reports where it appears that the coverage data is all shifted off by one line, leaving many comments and blank lines uncovered. For example see http://goto.google.com/cros-ec-coverage/firmware-zephyr-cov-postsubmit/R108-15179.0.0-72225-8800548096768350721/lcov_rpt/common/keyboard_scan.c.gcov.html In looking at that example, I discovered that for brya, in ro only, when looking at the preprocessor output, the lines get shifted. BRANCH=None BUG=b:253131248 TEST=So many gcc -E runs Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I6e852548cb954ed3ee3c47088ed275bc32892753 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949582 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Al Semjonovs <asemjonovs@google.com>
* Skyrim: Adjust keyboard top rowFelixTW_Chang2022-10-132-0/+30
| | | | | | | | | | | | | | | | | | | The vivaldi keyboard of skyrim is different to the common config. So we adjust it. BUG=b:251363105 BRANCH=none TEST=top row functions work correctly LOW_COVERAGE_REASON=Skyrim board tests not created yet: b/247151116 Signed-off-by: FelixTW_Chang <felixtw_chang@compal.corp-partner.google.com> Change-Id: Id5b0bd3c35f8f10ff061b73bcb07ff7e185f45ce Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3935509 Reviewed-by: Bhanu Prakash Maiya <bhanumaiya@google.com> Commit-Queue: Diana Z <dzigterman@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Isaac Lee <isaaclee@google.com> Code-Coverage: Diana Z <dzigterman@chromium.org>
* test: host_sleep.c sleep_start_suspend custom timeAaron Massey2022-10-131-0/+37
| | | | | | | | | | | | | | | | | Add a test that verifies a call to sleep_start_suspend() propagates a timeout deferred call to board/chip-specific timeout handlers after some delay. Also verifies that this timeout event is idempotent with respect to calling the handlers. BRANCH=none BUG=b:252887178 TEST=twister -s zephyr/test/drivers/drivers.power_host_sleep Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: If9f20912942f25a217c4f0952eb6512958ba3e44 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949625 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* bb_retimer: Deprecate bb_retimer_set_usb3() APIstabilize-15183.14.B-mainCaveh Jalali2022-10-132-13/+0
| | | | | | | | | | | | | | | The bb_retimer_set_usb3() function is no longer used. Set USB_MUX_FLAG_CAN_IDLE in usb_mux.flags instead. BRANCH=none BUG=b:245753005 TEST='make buildall' passes Change-Id: I2ca48ae6e641ac7a8243a0ddac198d7234241d52 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3914996 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* zephyr test: VCONN Swap off via host commandAbe Levkoy2022-10-121-0/+16
| | | | | | | | | | | | | | | | With the TCPM as VCONN Source, use EC_CMD_USB_PD_CONTROL to initiate a VCONN Swap. Verify that the TCPM is not VCONN Source afterward. BUG=b:251485312 TEST=twister -s zephyr/test/drivers/drivers.usbc_vconn_swap BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: Ifa5bc067270f0744d74b0f7004b8820ba4f8b778 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949613 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* test: move spi_flash_reg to its own moduleYuval Peress2022-10-1225-47/+125
| | | | | | | | | | | | | | | | | | | Move the logic of the spi_flash_reg.c from common/ to a separate directory. Also, move the tests. Update the build.mk system to still build this in the same manner as well as CMake to use it as a library. BRANCH=none BUG=b:246839061 TEST=make BOARD=dooly TEST=zmake build hoglin TEST=./twister -T common Signed-off-by: Yuval Peress <peress@google.com> Change-Id: Icc6b4fce1619c2c6a86c040f30390b7788171a9d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3935025 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* tree: Remove CONFIG_SOFTWARE_PANICTom Hughes2022-10-1233-82/+4
| | | | | | | | | | | | | | | | | | | | | | | | It's always enabled in the core/<core>/core_config.h files. The following script demonstrates that it's enabled in all boards: for board in `make print-boards`; do make print-configs board="${board}" | grep -q CONFIG_SOFTWARE_PANIC if [ $? -ne 0 ]; then echo "${board} failed" exit 1 fi done BRANCH=none BUG=none TEST=make buildall Cq-Depend: chromium:3943248 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: If683b244f17b48bedf3699f2b24e83b5ad6e849e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3933255 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* util/build_with_clang: Add more boards that compileTom Hughes2022-10-121-1/+154
| | | | | | | | | | | BRANCH=none BUG=b:172020503 TEST=./util/build_with_clang.py Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I965583d9d147617b1f560cfd4cc78cedd6c39bb4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3947823 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Test shmem console commandAl Semjonovs2022-10-122-0/+25
| | | | | | | | | | | | | | | Validate shmem console command BUG=None BRANCH=NONE TEST=./twister -T zephyr/test Signed-off-by: Al Semjonovs <asemjonovs@google.com> Change-Id: Ic17cd5bd2448a45795b6525502565a7fceb06b08 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949472 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* include/ec_commands.h: Fix unaligned access warningsTom Hughes2022-10-121-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | When building with clang, it now warns if there is an unpacked struct nested in a packed struct: include/ec_commands.h:3053:4: error: field within 'struct ec_params_motion_sense::(unnamed at include/ec_commands.h:3044:3)' is less aligned than 'union ec_params_motion_sense::(anonymous at include/ec_commands.h:3053:4)' and is usually due to 'struct ec_params_motion_sense::(unnamed at include/ec_commands.h:3044:3)' being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access] union { ^ See https://github.com/llvm/llvm-project/issues/55520. BRANCH=none BUG=b:172020503 TEST=./util/compare_build.sh -b all -j 120 => MATCH Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I5c89746d7e2e93183f4706376e6cda0be4589c01 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3946036 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* ectool: modify output of temps commandHarsha B R2022-10-121-24/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fan speed displayed as part of temps command is the ratio of FAN_OFF and FAN_MAX wrt corresponding sensor temperature that tells the amount of cooling the respective sensor expects. This value of fan speed misinterprets as the actual fan_duty. Modify the output of temps command accordingly. CPU Console: localhost ~ # ectool temps all --sensor name -------- temperature -------- ratio (fan_off and fan_max) -- memory 310 K (= 37 C) 8% (308K and 333K) charger 305 K (= 32 C) 0% (308K and 333K) ambient 306 K (= 33 C) 0% (308K and 333K) ectool temps command description temps <sensorid> Print temperature and expected fan ratio (based on temperature, fan_off and fan max value). BUG=b:246929159 TEST=make buildall -j, make -j BOARD=gimble, check temps command description, verify ectool temps all command output in gimble, redrix, brya and nivviks BRANCH=none Signed-off-by: Harsha B R <harsha.b.r@intel.com> Change-Id: I96286ec7e110ebe64e277d5cfa27e3f489c5893e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3915760 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* zephyr: Fix downstream driver includesKeith Short2022-10-122-0/+2
| | | | | | | | | | | | | | | | Zephyr now requires that drivers that use kernel APIs to explicitly include kernel.h. BUG=none BRANCH=none TEST=zmake build -a TEST=twister Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I9e2fc39a1645511ac9ce7c8043cff90652c4cd99 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949614 Reviewed-by: Aaron Massey <aaronmassey@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* Skyrim: Remove CONFIG_SYSTEM_UNLOCKEDDiana Z2022-10-121-2/+1
| | | | | | | | | | | | | | Skyrim is at a stage where this CONFIG can be removed. BRANCH=None BUG=b:215404321 TEST=zmake build skyrim; boot up on a D4 skyrim Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I12a1bbb42d49a836547e4d5f580b274c97204ade Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949612 Reviewed-by: Jonathon Murphy <jpmurphy@google.com> Commit-Queue: Jonathon Murphy <jpmurphy@google.com>