summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* chip/mchp/lfw: Discard ARM.* sectionsfactory-brya-15231.B-mainTom Hughes2022-11-042-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Linking with clang/lld fails since it tries to include .ARM.exidx in the VECTOR region: ld.lld: error: section '.ARM.exidx' will not fit in region 'VECTOR': overflowed by 328 bytes We don't need the exception index table or exception table (see https://crrev.com/c/3857943). This matches the behavior in our other linker scripts: https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform/ec/core/cortex-m/ec.lds.S;l=745;drc=84b2904dead700e10073080c54e69ea162d8a7c5 This change does not affect the gcc/ld build (identical output before and after). 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: I65df11f3ab0c439ea3d4ce2805afaac942b22a0e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3989667 Reviewed-by: Diana Z <dzigterman@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* test: unit test uart_printf.cYuval Peress2022-11-0410-4/+253
| | | | | | | | | | | | | | Add unit tests to get uart_printf.c to 100% coverage. BRANCH=none BUG=none TEST=twister Signed-off-by: Yuval Peress <peress@google.com> Change-Id: I2fdbea71a7048a2187c599052bf7180a97ee3ad2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4004509 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* Add EC_CMD_SET_TABLET_MODETim Van Patten2022-11-041-0/+16
| | | | | | | | | | | | | | | | Add EC host command EC_CMD_SET_TABLET_MODE, which will be used by 'ectool' to set the tablet mode. BRANCH=none BUG=b:256015402 TEST=CQ Change-Id: I7eae634bcebcdeee21fc170afaa8c844b3278e80 Signed-off-by: Tim Van Patten <timvp@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3994294 Reviewed-by: Diana Z <dzigterman@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Raul Rangel <rrangel@chromium.org>
* zephyr: rename projects folder to programKeith Short2022-11-04484-23/+23
| | | | | | | | | | | | | | | | Renme the projects folder to program for consistency with the name scheme used by the boxster configuration. BUG=b:254097139 BRANCH=none TEST=zmake compare-builds -a TEST=twister Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ib56a57f1e5942e6dd0460e3be81722896eed72af Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3968444 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* ec: Double timeout of ec testsJeremy Bettis2022-11-041-1/+1
| | | | | | | | | | | | | | | | | | | The fan test sometimes times out in the CQ, so double the default timeout to 2m. BRANCH=None BUG=b:256073822 TEST=make clobber && make run-fan run-crypto_benchmark Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Id51e5e2cf4387dbd19ce227d83393f5f6637b076 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4005656 Reviewed-by: Keith Short <keithshort@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Keith Short <keithshort@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>
* cq: Run tests with both gcc and clang.Jeremy Bettis2022-11-041-11/+68
| | | | | | | | | | | | | | | | | | | | To ensure compatibility with gitlab, run all the zephyr tests with both gcc and llvm/clang. This adds 6 minutes to the build time on my machine but adds 0.4% coverage overall, and 1.7% to herobrine, since it fixes all the uncovered switch case labels. BRANCH=None BUG=None TEST=Ran firmware_builder.py locally Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I5a7c1f2e8f226e18d642eb886fd90c778c7e77d2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4004761 Reviewed-by: Al Semjonovs <asemjonovs@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tristan Honscheid <honscheid@google.com>
* include/ec_commands.h: Clean up kernel-doc warningsTim Van Patten2022-11-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | `repo upload` is failing due to: [FAILED] chromiumos/platform/ec: kerneldoc_check kernel-doc errors/warnings: include/ec_commands.h:1745: warning: Function parameter or member 'data' not described in 'ec_params_flash_write' include/ec_commands.h:1745: warning: Function parameter or member 'data.words32' not described in 'ec_params_flash_write' include/ec_commands.h:1745: warning: Function parameter or member 'data.bytes' not described in 'ec_params_flash_write' Add kernel-doc entries to fix these warnings. BRANCH=none BUG=none TEST=repo upload Signed-off-by: Tim Van Patten <timvp@google.com> Change-Id: I339fe5b67efa8de4579a0f944e3f212a26eb7835 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4006953 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Raul Rangel <rrangel@chromium.org>
* test: add tests for console command pwr_avgYuval Peress2022-11-046-1/+61
| | | | | | | | | | | | | | | Add tests for all but the error case for the pwr_avg console command. BRANCH=none BUG=none TEST=twister Signed-off-by: Yuval Peress <peress@google.com> Change-Id: Icddfbf8341ad5dfb2f4bbfeee2026ea1b0165c96 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3998267 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* zephyr: Create CMake variable for the program directoryKeith Short2022-11-045-12/+15
| | | | | | | | | | | | | | | Many board tests need a path to the board specific sources. Add PROGRAM_EC_PROGRAM_DIR as a helper variable BUG=b:254097139 BRANCH=none TEST=twister -v -i -c Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I71a7c555101fff3ba6158962cd333da642562b24 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000782 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* Use the sdk pkg-config when building gen_touchpad_hash.Allen Webb2022-11-041-4/+4
| | | | | | | | | | | | | | | | | | `gen_touchpad_hash` is compiled to run on the builder, so use pkg-config from the builder to avoid races such as openssl not being installed for the target when it is installed for the SDK. BRANCH=none BUG=b:257362347 TEST=emerge-strongbad chromeos-ec # and strongbad-cq passes Change-Id: I59464cda5b1842b9aafc20244e4218f8a80f7442 Signed-off-by: Allen Webb <allenwebb@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4006181 Reviewed-by: Gregory Nisbet <gregorynisbet@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: George Engelbrecht <engeg@google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* usb_common: Remove pd_is_debug_accAbe Levkoy2022-11-042-19/+0
| | | | | | | | | | | | | | This function is not used anywhere. BUG=b:256182103 TEST=make buildall BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I8fbf1ed2f0f3006f8899b638138d0d2374e85a5a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000784 Reviewed-by: Diana Z <dzigterman@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* cq: Run verbose make for better debuggingJeremy Bettis2022-11-042-7/+7
| | | | | | | | | | | | | | | | | | | There have been several mysterious failures in the CQ and it's hard to see what is going on since make doesn't print the commands by default. BRANCH=None BUG=b:257393779 TEST=CQ Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I4e4db7ef328b01f52d820405db036ef881d06405 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4005654 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Al Semjonovs <asemjonovs@google.com>
* zephyr: dts: fix various dts syntax inconsistenciesFabio Baltieri2022-11-045-25/+25
| | | | | | | | | | | | | | Fix various dts syntax inconsistencies. BRANCH=none BUG=none TEST=cq dry run Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I0e921d9929ccc1f18b1b45e8b877cb20cd6205fb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3999723 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr/test: Increase buffer sizeJeremy Bettis2022-11-041-3/+7
| | | | | | | | | | | | | | | | | | | | | The expected buffer is too small for the format string. Increase it and add header for snprintf. BRANCH=None BUG=None TEST=./twister with gcc Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I27310ae77db004e2b1aafa0aa95eefd40a4011d7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4004758 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Al Semjonovs <asemjonovs@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* util: Use correct output dirJeremy Bettis2022-11-041-6/+14
| | | | | | | | | | | | | | | | | | | | | When twister_launcher.py looks at the output to determine if there were skipped tests or to upload results, it hardcoded the output dir. Instead, inspect the command line to see if the user modified the output dir and look there for the results instead. BRANCH=None BUG=None TEST=./twister --outdir twister-out-foobar Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ia5c15dfe3eb954df29c3912d037abebfc0b209f9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4004757 Commit-Queue: Al Semjonovs <asemjonovs@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr/test: Add missing headerJeremy Bettis2022-11-041-0/+1
| | | | | | | | | | | | | | | | | | | Gcc-10 was reporting an implicit declaration of function, include the header that defines it. BRANCH=None BUG=None TEST=./twister with gcc Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ic910826da6c8c65c48b6fc6e83b50c77310a65fb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4004760 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Madhu P <mparuchuri@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* test: Add libc_printf testTom Hughes2022-11-049-0/+50
| | | | | | | | | | | | | BRANCH=none BUG=b:234181908, b:254530679 TEST=./test/run_device_tests.py --board dartmonkey -t libc_printf Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I5ac9838dd59cb048325a27cc28d7859da040b52d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3997616 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>
* libc/syscalls: Implement _writeTom Hughes2022-11-041-0/+16
| | | | | | | | | | | | | | | | All output goes to the UART. _write is used by printf(), so this allows printf() to work correctly. BRANCH=none BUG=b:234181908, b:254530679 TEST=./test/run_device_tests.py --board dartmonkey -t libc_printf Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I60a5f283975c21dabac395f00b4738a6db083d29 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3997615 Reviewed-by: Bobby Casey <bobbycasey@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>
* common/uart_printf: Change uart_put/uart_put_raw return valueTom Hughes2022-11-042-8/+10
| | | | | | | | | | | | | | | | | | | | Instead of returning EC_SUCCESS/EC_ERROR_OVERFLOW, return the number of characters written. This makes retrying for the failures possible and is compatible with the semantics of write(). This should have no effect on existing code, since uart_put() is not used anywhere. The only place that uart_put_raw is used, the return value is ignored. BRANCH=none BUG=b:234181908, b:254530679 TEST=make buildall LOW_COVERAGE_REASON=legacy code Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: If9e8f01663f160b44bbcc4bb313327486dd0d4d0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3997614 Reviewed-by: Keith Short <keithshort@chromium.org>
* chip/ish: implement full config in pm_initLi Feng2022-11-042-2/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Both ISH shim loader and main firmware have PM initialization. Main firmware doesn't do a full configuration because some are done in shim loader. This is working fine if we use host loading main firmware scheme. We observed problem in IPAPG if stitching main firmware to coreboot and skip shim loader. This CL modifies pm_init to fully configure PM. So ISH main firmware functions correctly in both loading methods. BUG=b:234136500 BRANCH=none TEST=make buildall TEST=on ADL-P RVP, ISH enter IPAPG state in host loading case, and also stitching to coreboot case. Signed-off-by: Leifu Zhao <leifu.zhao@intel.com> Signed-off-by: Li Feng <li1.feng@intel.com> Change-Id: I603e2f107fdce672ac12bac9d848820f58474910 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3985606 Reviewed-by: Kyoung Kim <kyoung.il.kim@gmail.com> Reviewed-by: Reka Norman <rekanorman@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Reka Norman <rekanorman@chromium.org>
* kuldax: modify ADC channel 3 configurationben chen2022-11-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | modify ADC channel 3 IMON scale, be sure the retuened value will not overflow integer. V,rsense = 0.005 * 1 V,ina_output = 50 * 0.005 (or 50/200) = 0.25v V,ec = (20/(20+8.66)) * 0.25 = 0.17446v To scale the result to 1amp then V,ec * 1/((20/(20+8.66))*50/200) ,or V,ec * 143/25. BUG=b:255902516 BRANCH=none TEST=use "adc" console command check value. Change-Id: I1e76b93cb85edd3c4096f1413d6d4313c6eb8583 Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3990465 Reviewed-by: Derek Huang <derekhuang@google.com> Reviewed-by: Daniel Coggin <dcoggin@google.com> Commit-Queue: Derek Huang <derekhuang@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* Winterhold: Update fan configLeila Lin2022-11-041-2/+2
| | | | | | | | | | | | | | | | | | | Fine-tune fan config for winterhold LOW_COVERAGE_REASON=no unit tests for skyrim yet, b/247151116 BUG=b:255732503 BRANCH=none TEST=verify the thermal config on winterhold is correct Signed-off-by: Leila Lin <leilacy_lin@compal.corp-partner.google.com> Change-Id: If89205c9f9ecef07a01e13b900f47ea51b4363e9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000346 Reviewed-by: Isaac Lee <isaaclee@google.com> Tested-by: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com> Tested-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com>
* Craask: update thermal tableSue Chen2022-11-041-15/+4
| | | | | | | | | | | | | | | | | | | TEMP_SENSOR_0: memory threshold high 75'C halt 85'C high_release 70'C halt_release 80'C BUG=b:253998681 BRANCH=none TEST=none Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I45a2b6efae422aa040acaaac3a784b277729dc0f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3960511 Reviewed-by: Andrew McRae <amcrae@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr: ap_pwrseq: Enable power sequence unit testBernardo Perez Priego2022-11-047-131/+438
| | | | | | | | | | | | | | | | | | | | This will utilize power signal emulator to test power sequence execution flow in alderlake platform. Test Cases: - AP from G3 to S0 - AP in S0 to handle power failure - AP from G3 to S0 and back to G3 BUG=b:222933615 TEST=zmake test test-ap_power BRANCH=None Signed-off-by: Bernardo Perez Priego <bernardo.perez.priego@intel.com> Change-Id: I6ebd2f0fcb5c67093cc5aaaa758a4b091515d429 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3688195 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Peter Marheine <pmarheine@chromium.org>
* zephyr: ap_pwrseq: Add Power Signals EmulatorBernardo Perez Priego2022-11-0410-0/+785
| | | | | | | | | | | | | | | | | | | Power Signal Emulator provides an engine in which a given set of defined power signals connection is instantiated to simulate platform behavior. This emulator is created to supports executing AP Power Sequence test by configuring power signals behavior using devicetree. BUG=b:222933615 TEST=zmake test test-ap_power BRANCH=None Signed-off-by: Bernardo Perez Priego <bernardo.perez.priego@intel.com> Change-Id: If1b1af2d287e23fe73e77986356bd3c50d56f148 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3684435 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Andrew McRae <amcrae@google.com>
* nissa/npcx: re-enable some shell conveniencesPeter Marheine2022-11-031-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've received complaints from other developers that the minimal shell isn't nice to use. Since we can turn on a number of the conveniences without losing all of the gains from turning on minimal shell, do that. Summarized effect of various options on flash size: | Configuration | Flash used | Size increase | |--------------------------------------|------------|---------------| | Baseline | 245084 | 0 | | SHELL_HISTORY | 245936 | 852 | | SHELL_TAB | 245944 | 860 | | SHELL_TAB + SHELL_TAB_AUTOCOMPLETION | 246176 | 1092 | | SHELL_HELP | 248592 | 3508 | | KERNEL_SHELL | 247448 | 2364 | | all of the above | 252844 | 7760 | | SHELL_MINIMAL=n | 260396 | 15312 | BUG=b:230486318 TEST=zmake build nivviks BRANCH=none Change-Id: I7ffb89b5d1dd437f300724334337d64e6110c6d1 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000344 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrew McRae <amcrae@google.com>
* zephyr/test: Fix struct initializerJeremy Bettis2022-11-031-2/+2
| | | | | | | | | | | | | | | | Gcc-10 doesn't like this initializer. Correct it. BRANCH=None BUG=None TEST=./twister with gcc Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ie7576eef5ff8aad41f7ccc47c2774186a5af16a9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4004759 Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* test: Add tests to the debug host commandsYuval Peress2022-11-035-1/+58
| | | | | | | | | | | | | | | | | Enable the charge state debug host commands and run them to make sure that they all succeed. This test is more of a general check to make sure that these constant IDs remain working and return an OK. BRANCH=none BUG=none TEST=twister Signed-off-by: Yuval Peress <peress@google.com> Change-Id: I9e91f8f932042666de3a80c2b505e3725ccecb05 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3998266 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr EC: Project organization - herobrineJason Yuan2022-11-0361-86/+144
| | | | | | | | | | | | | | | | | | | | | Organized the herobrin program into folders for projects. Devicetree files have been changed to use the .dtsi extension following the zephyr convention. Formerly prj.conf file have been separated into programs and projects for disambiguation. BUG=b:254097836 TEST=Ran zmake compare-builds BRANCH=none Change-Id: Id398eccde2b243f8aa521e898e6c09e6cd175236 Signed-off-by: Jason Yuan <jasonyuan@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995330 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> Tested-by: zhi cheng yuan <jasonyuan@chromium.org> Commit-Queue: zhi cheng yuan <jasonyuan@chromium.org>
* tcpmv2: dpm: Convert dpm_run to a 1st class SM frameworkScott Collyer2022-11-0321-43/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds a type-c state machine framework for the Device Policy Manager (dpm) layer of USB-PD. This CL is focused just on adding the state machine policy and minimizing any changes in the existing DPM support functions. Because the DPM is no longer being called directly from the PE layer, an interlock mechanism is used to control when the DPM state machine will take any actions. This CL also renames include/usb_pd_dpm.h to include/usb_pd_dpm_sm.h to be consistent with include file naming for the other TCPMv2 layer state machine include files. BUG=b:194504052 BRANCH=none TEST=Verified that mode entry/exit is successful for DP, TBT, and USB4 on Voxel. ectool typeccontrol <port> 0 -> exit mode ectool typeccontrol <port> 2 0 -> DP ectool typeccontrol <port> 2 1 -> TBT ectool typeccontrol <port> 2 2 -> USB4 Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I196d342b031b96874d354610182be79eac613d00 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3922467 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* zephyr test: usbc_ocp: Log during testsAbe Levkoy2022-11-031-5/+0
| | | | | | | | | | | | | | Log errors from over-current functions during tests. BUG=none TEST=twister -s zephyr/test/drivers/drivers.usbc_ocp BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I213b54866c7e31bb05264eb08419219af09c09d2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000783 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr test: Verify port suspend at low batteryAbe Levkoy2022-11-031-0/+14
| | | | | | | | | | | | | | | Verify that suspending a Type-C port for a firmware update will fail when the battery is very low. BUG=b:256182103 TEST=twister -s zephyr/test/drivers/drivers.host_cmd BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: Ifa21894aa34626e70dd8c6f6ad97ebf90206d241 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000780 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tristan Honscheid <honscheid@google.com>
* corsola: reserve input current marginwen zhang2022-11-031-1/+6
| | | | | | | | | | | | | | | | | The adapter output current exceeds the spec of the adapter, such as 20V 3.25A adapter will output 3.273A when system is heavy-load. We add a margin 4% in case of charger overdraw. BUG=b:257167723 TEST=scope the output current BRANCH=corsola Change-Id: I6fba906d88a6de8efd2b5d09fead9ba5bd1ea796 Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3999463 Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Code-Coverage: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* corsola: add corsola-relevant-paths.txtEric Yilun Lin2022-11-031-0/+32
| | | | | | | | | | | | | | | | | | Send the first path files for maintaining corsola firmware branch. BUG=none TEST=util/update_release_branch.py --relevant_paths_file util/corsola- relevant-paths.txt firmware-corsola-15194.B-main BRANCH=corsola Change-Id: I17be3ca1286975b4a570a36b2391a241650274df Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000345 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Auto-Submit: Eric Yilun Lin <yllin@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Tested-by: Eric Yilun Lin <yllin@google.com>
* corsola: update board_set_charge_limitEric Yilun Lin2022-11-031-4/+3
| | | | | | | | | | | | | | | | | | | | | | After https://crrev.com/c/3905352 merged, we enforce 2.5W sink power while VBUS Transition in PD communication. The previous board_set_charge_limit will raise the current_limit to CONFIG_CHARGER_INPUT_CURRENT_LIMIT (512 on corsola), and thus we can't meet the PSNKSTDBY 2.5W. This CL drop the MAX() to ensure the requirement is met. BUG=b:255908917 TEST=input current is not altered to 512mA when VBusTransition BRANCH=corsola Change-Id: I626374d2172958db2d925a8004bf958b94a194d7 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995635 Commit-Queue: Eric Yilun Lin <yllin@google.com> Code-Coverage: Sung-Chi Li <lschyi@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Code-Coverage: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com>
* corsola: fix typec port countEric Yilun Lin2022-11-034-6/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | When HDMI DB connected, the port count will be the CONFIG_USB_PD_PORT_MAX_COUNT - 1. However, we didn't correct the count in board_get_usb_pd_port_count() due to we used the extra port to emulate USB virtual mux for DP functionality. The incorrect port count will generate i2c errors when we try to disable PPC function at C1 port when we start to sink from C0. This CL fixes the incorrect accessing. BUG=None TEST=No C1 port error messages in the console when charging BRANCH=corsola Change-Id: I86df09fe48594ed77881e56d40e9795442f9bd93 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3996815 Tested-by: Eric Yilun Lin <yllin@google.com> Auto-Submit: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com> Code-Coverage: Sung-Chi Li <lschyi@chromium.org> Code-Coverage: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* zephyr: cleanup copyright headersKeith Short2022-11-0216-16/+16
| | | | | | | | | | | | | | | | The pre-submit check flags files that have a trailing period after the "ChromiumOS Authors" statement. Fix offending files. BUG=none BRANCH=none TEST=zmake build -a Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I6be689df9f01da69d9efa9aab23270a3845d2d2a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000781 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* cq: Make sure build is cleanJeremy Bettis2022-11-022-0/+10
| | | | | | | | | | | | | | | | | | | Run a make clobber before make buildall_only just to be sure that the runner isn't reusing a dirty chroot. BRANCH=None BUG=b:256761895 TEST=CQ. Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I2d8322ff7093b60dff0fac57c318b38cf9b29558 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995326 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Al Semjonovs <asemjonovs@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* dps: Declare get_efficient_voltage() as staticAaron Massey2022-11-021-1/+1
| | | | | | | | | | | | | | | | | | | The get_efficient_voltage() function is only used locally to its source. Declare the function static. BRANCH=none BUG=none TEST=twister -i -s zephyr/test/drivers/drivers.default TEST=CQ LOW_COVERAGE_REASON=Zoss sometimes mismarks adding of static Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I406e92d16c9d9e539d1891bad1e87a96a4d4db2b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995818 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* test: verify battery_outside_charging_temperature()Yuval Peress2022-11-023-2/+105
| | | | | | | | | | | | | | | | | Allow this function to be externally linked so it can be accessed from outside the .c file (similar to other patterns that exist in our code base) and test the various code paths that lead to detecting if the battery can be charged based on the temperature. BRANCH=none BUG=none TEST=twister Signed-off-by: Yuval Peress <peress@google.com> Change-Id: I647ebaf117ef218451912f8fd8622b4deda82b74 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3998265 Reviewed-by: Simon Glass <sjg@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr test: Verify drp_auto_toggle_next_stateAbe Levkoy2022-11-021-0/+149
| | | | | | | | | | | | | | | Verify that drp_auto_toggle_next_state returns a state appropriate to the CC voltages and current state. BUG=b:256182103 TEST=twister -s zephyr/test/drivers/drivers.usb_common BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I411c8f31379e5f7ae9a2899c3a4cb659bc328b3f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995815 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tomasz Michalec <tmichalec@google.com>
* Makefile.toolchain: Define _GNU_SOURCE when using clangTom Hughes2022-11-021-0/+3
| | | | | | | | | | | | | | | | g++ defines _GNU_SOURCE, but the baremetal clang++ toolchain we're using does not. When using libcxx + newlib, _GNU_SOURCE needs to be defined for compilation to succeed. BRANCH=none BUG=b:254916723 TEST=./util/compare_build.sh -b all -j 120 => MATCH Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ieda973980157ecc37c2aa1afcb35cbf62bfa3c51 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995333 Reviewed-by: Peter Marheine <pmarheine@chromium.org>
* ec: Add missing words in gitlab docJeremy Bettis2022-11-021-1/+1
| | | | | | | | | | | | | | | | There was an incomplete sentence. I finished it. BRANCH=None BUG=None TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I991b5248453baeb2e8a0540d59ba3056b19baafa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995819 Commit-Queue: Tomasz Michalec <tmichalec@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Tomasz Michalec <tmichalec@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* tentacruel : Setup thermal Policyjeffrey2022-11-023-6/+11
| | | | | | | | | | | | | | | | | | | 1.Modify current limit condition. 2.Add EC control table EC control table procedure as listed below: Throttle point Release throttle Shutdown Charger 68 59 90 Ambient 56 42 80 BUG=b:256715957 TEST=Use ectool thermalget to check high and halt point. BRANCH=firmware-corsola-15194.B Signed-off-by: jeffrey <jeffrey_lin@pegatron.corp-partner.google.com> Change-Id: I0665480955925a3d03e1a02174d4dce5cc29c742 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995967 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* test: dps console cmd with active charging portAaron Massey2022-11-021-4/+44
| | | | | | | | | | | | | | | | | Add a test that runs the "dps" console command when there is an active charging port and weakly validate its contents. BRANCH=none BUG=none TEST=twister -i -s zephyr/test/drivers/drivers.default Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: Iff01bc621cf4472de77bc86322d48c8f9cbe45d0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995817 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Yuval Peress <peress@google.com> Commit-Queue: Yuval Peress <peress@google.com>
* Revert "BB retimer: Set 'DP CONNECTION' bit only when mux_state gets HPD event"Peter Chi2022-11-022-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4dfe7f2a385d9ad3ca10064b29e4acb0f68c30a3. Reason for revert: In VESA DisplayPortAltMode v2.0 chapter 3.9.2.2, the HPD will be sent after SBU isolation switches have been close to connect the AUX_CH. In this behavior, it will only enable AUX_CH when received HPD and cause type-c devices couldn't output display. So we need revert this CL to meet the VSEA DisplayPortAltMode spec. Original change's description: > BB retimer: Set 'DP CONNECTION' bit only when mux_state gets HPD event > > For some chromebooks design, there are expanssion card (typeC > to HDMI) communicate with TCPC through CC line, when the HDMI > card connect to chromebook the DP CONNECTION bit would be enable > even no connect HDMI moinitor. > > It will increase BBR power consumption, so set 'DP CONNECTION' > bit only when mux_state gets HPD event. > > BUG=b:233975818 > BRANCH=None > TEST=Test on Banshee, measure BBR power consumption reduce from > 143mW to 7mW. And the HDMI monitor can be output. > > Signed-off-by: johnwc_yeh <johnwc_yeh@compal.corp-partner.google.com> > Change-Id: I8a80235992cfa1bac28f03c3b6a7ec378e07ecf3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3726600 > Reviewed-by: Diana Z <dzigterman@chromium.org> > Tested-by: Enzo Hong <enzo.hong@intel.corp-partner.google.com> > Commit-Queue: Diana Z <dzigterman@chromium.org> Bug: b:233975818, b:240896516 Change-Id: I48f2818d2eaee921bc0374976f6eddcdc152ac36 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995963 Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: Peter Chi <peter_chi@wistron.corp-partner.google.com> Tested-by: Peter Chi <peter_chi@wistron.corp-partner.google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* test: Add benchmark library (C++)Andrea Grandi2022-11-027-0/+268
| | | | | | | | | | | | | | | | | Add a benchmark library (benchmark.h) to measure the execution time of functions. It is written in C++ to simplify the interface. For example, it can be used to benchmark lambdas with captures. BUG=b:246366702 BRANCH=none TEST=test/run_device_tests.py -b bloonchipper -t benchmark TEST=make run-benchmark Signed-off-by: Andrea Grandi <agrandi@google.com> Change-Id: Ibed907609a27566e386c511153fcd2d819981356 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3971378 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* zephyr: Increase test timeout.Jeremy Bettis2022-11-011-1/+2
| | | | | | | | | | | | | | | | | | | I had a cl fail in presubmit with a test timeout Increase test timeout for this test. BRANCH=None BUG=None TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I6e041e8987081f4382ced4acfe93f1c70d1d4a4f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3995331 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* test: do_cbi_read() failed to read head pathAaron Massey2022-11-012-8/+42
| | | | | | | | | | | | | | | | Add a test that sets up a failure to read the eeprom cbi header information during an invocation of cbi_get_board_info() and verify this error is handled gracefully by returning an EC error code. BRANCH=none BUG=b:256030656 TEST=./twister -i -s zephyr/test/drivers/drivers.common_cbi Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I57eb00a0b34f15a34aa0e1322b2e2cc8a4ccb765 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3994440 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* test/fpsensor_hw: Convert to C++Tom Hughes2022-11-013-1/+17
| | | | | | | | | | | | BRANCH=none BUG=b:243700149, b:234181908 TEST=./test/run_device_tests.py --board dartmonkey -t fpsensor_hw Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I2c32f2493abf60dea0de6c1a8671598f8b30034b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3860407 Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>