summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* utils: Only exclude certain zephyr filesstabilize-15446.B-mainJeremy Bettis2023-05-011-1/+10
| | | | | | | | | | | | | | | | | | | | When looking for bad lines that have coverage reported, only exclude a few files instead of all of zephyr. Commit a10cb8394d26d9c369eb5bd1c2ab64f0e955a898 caused bad lines in kernel/init.c, and this script could not see them. BRANCH=None BUG=b:272518464 TEST=./util/find_non_exec_lines.py build/zephyr/lcov.info Change-Id: Ic3dfd6783f4a556759be8e43ed97d36454743ab3 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4496382 Reviewed-by: Simon Glass <sjg@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org>
* ec: Exclude line-too-long in pylintrcJeremy Bettis2023-05-011-0/+1
| | | | | | | | | | | | | | | | Black doesn't always force lines to wrap at 80 characters. If black formatted it with a long line, then pylint should not complain either. BRANCH=None BUG=None TEST=cros lint util/find_non_exec_lines.py Change-Id: Ie52aa8a5a1102468243ea2602ee0a25e61c9c7ab Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4496482 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* skyrim: Enable PECRobert Zieba2023-05-011-0/+1
| | | | | | | | | | | | | | | | Communication errors can result in the EC seeing ridiculous battery temperatures which can trigger premature wakes. Enable PEC and remove bad battery temperature workaround. BRANCH=skyrim BUG=b:276000336 TEST=ODM successfully ran 5000 suspend cycles Change-Id: I00ee3e5856425ede9b12a6c75092059bb000082c Signed-off-by: Robert Zieba <robertzieba@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4483671 Reviewed-by: Rob Barnes <robbarnes@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* common/fpsensor: Add TODOsTom Hughes2023-04-291-0/+3
| | | | | | | | | | | BRANCH=none BUG=b:276344630, b:279950931 TEST=none Change-Id: If869ff19cd01b2bd3e5fd6406fd77856b289e704 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4484334 Reviewed-by: Yi Chou <yich@google.com>
* docs/fingerprint: Fix typoTom Hughes2023-04-291-1/+1
| | | | | | | | | | | BRANCH=none BUG=none TEST=view in gitiles Change-Id: I932ff49ccd17e48edd1c200e574e0377774d17c3 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4485199 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* rex: Disable the anx7452 retimerCaveh Jalali2023-04-282-8/+1
| | | | | | | | | | | | | | | We do not have support for the anx7452 retimer yet, so disable the chip in the device tree until the driver is ready. Otherwise, we get 'USB_MUX_FLAG_INIT not set' messages. BRANCH=none BUG=b:267589042 TEST='zmake build rex' passes Change-Id: I0a504d2ddff7a11f4280f2deb48b206e750a5f59 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4486443 Reviewed-by: Madhu 🌱 <mparuchuri@google.com>
* rex: rt1716: Select TCPCI v2Caveh Jalali2023-04-281-0/+2
| | | | | | | | | | | | | | The rt1715/rt1716 TCPCs support TCPCI v2 but do not have an extended status register, so set chip flags accordingly. BRANCH=none BUG=b:267589042,b:278217028 TEST='zmake build rex' passes Change-Id: Ia52965f5c049ba55a027763ff38f64805b63c6f4 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4486442 Reviewed-by: Madhu 🌱 <mparuchuri@google.com>
* rex: Only reset TCPC when rst_gpio definedCaveh Jalali2023-04-281-4/+6
| | | | | | | | | | | | | | | | Some rex SKUs do not have a reset pin for the TCPC on port C1, so don't try to access a non existing pin. This was resulting in a null pointer dereference. BRANCH=none BUG=b:267589042,b:278217028 TEST=no more reboots on rex SKU3 LOW_COVERAGE_REASON=early-phase platform, b/247796816 Change-Id: I07f5dd5a1b13b2dbf7109dd1f5101679d91638a3 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4486441 Reviewed-by: Keith Short <keithshort@chromium.org>
* winterhold: modify motionsense cbi info for .c global paramsmatt_wang2023-04-281-21/+16
| | | | | | | | | | | | | | | | | | | | This CL optimized reading method to disables runtime polling and uses a global variable to store board ID value for switching two accelerators. To prevent the EC busy to send the I2C protocol. LOW_COVERAGE_REASON=no unit tests for skyrim yet, b/247151116 BUG=b:279728061 BRANCH=skyrim TEST=1. It pass to switch the accelerator driver by fw_config. 2. To run the verify CBI EEPROM WP status process over 14600 times got pass result. Change-Id: Ieaf304ff23a39c165d1a3eada39228061380a613 Signed-off-by: matt_wang <matt_wang@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4483314 Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Robert Zieba <robertzieba@google.com> Commit-Queue: Diana Z <dzigterman@chromium.org>
* config: Don't allow legacy INA drivers with ZephyrKeith Short2023-04-282-2/+6
| | | | | | | | | | | | | | | | Zephyr provides duplicate symbol CONFIG_INA3221 upstream. Don't allow Zephyr boards to modify this symbol directly. BUG=b:279955995 BRANCH=none TEST=make check_undef TEST=make BOARD=eve Change-Id: I011ebd0896de78fb99d8a5264e753f36f841397e Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4490505 Reviewed-by: Tristan Honscheid <honscheid@google.com> Reviewed-by: Sam Hurst <shurst@google.com>
* sm5803: add tests for set_vsys_compensationPeter Marheine2023-04-274-2/+64
| | | | | | | | | | | | | | | | | | | Two bugs in the driver were exposed by this test and are fixed: * All 8 bits of IR_COMP_REG2 are used as resistance value (in addition to bits 6 and 7 of IR_COMP_REG1), but the driver incorrectly masked off bit 7 which would cause incorrect values to be programmed when resistance is greater than 212 mΩ. * sm5803_set_vsys_compensation always returned an error, which apparently goes unchecked by regular charger code. BUG=b:242544165 TEST=./twister -ci -T zephyr/test/drivers/ -s drivers.sm5803 BRANCH=none Change-Id: I761c3523d9903c3498cfe30d93ddb56b004cc4ef Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4482275 Reviewed-by: Tristan Honscheid <honscheid@google.com>
* Revert "Add workaround for erroneous battery temperatures"Robert Zieba2023-04-271-5/+1
| | | | | | | | | | | | | | This reverts commit 665509933ec7c3913daf73d0d5564b8a86054121. BRANCH=skyrim BUG=b:276000336 TEST=ODM successfully ran 5000 suspend cycles Change-Id: I215385e9bd6379dc71d573a8a82750e4147f6f9b Signed-off-by: Robert Zieba <robertzieba@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4484326 Commit-Queue: Diana Z <dzigterman@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* battery: Refactor for coverageEric Peers2023-04-271-17/+26
| | | | | | | | | | | | | | | | | | | | | | Platforms that don't set CONFIG_SMBUS_PEC don't need a function call to battery_supports_pec, nor do they need to set the high order address bit. Coverage runs cannot fully excise/optimize out this logic, so it reports a lower coverage due to an unreachable conditional. This refactor corrects the unreachable code to be behind the CONFIG. This is a derivative CL from jbettis' prototype in CL:4460056. It additionally pulls the address logic into the macro/routine. BRANCH=None BUG=b:279215911 TEST=./twister -ivc -s drivers/drivers.default --coverage Check the coverage both before (239/271) and after (232/259). Change-Id: Ida381e987c854bfb7cfc48fa6b20f67db9da9fba Signed-off-by: Eric Peers <epeers@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4481407 Reviewed-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* npcx: watchdog: support the longer watchdog timeoutJun Lin2023-04-271-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | In the current pre-scalar setting (fixed to 0), the max watchdog timeout that the user can set is ~8 seconds. It is not enough for some application requirements such as FPMCU. This commit extends the max timeout by adjusting the pre-scalar dynamically. BRANCH=none BUG=b:273577369 TEST=pass "make buildall -j" TEST=Change the CONFIG_WATCHDOG_PERIOD_MS > 8 seconds; type console command "watims ${timeout}"; make sure watchdog panic occurs as expected. TEST=Set the CONFIG_WATCHDOG_PERIOD_MS to the default (1600); make sure WDCNT and WDCP are the same before/after applying this commit. Change-Id: I11b764811f65f0956593ab6725a619a1a44464c4 Signed-off-by: Jun Lin <CHLin56@nuvoton.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4444452 Reviewed-by: David Cross <davidmcross@google.com> Tested-by: David Cross <davidmcross@google.com> Commit-Queue: David Cross <davidmcross@google.com> Reviewed-by: Bobby Casey <bobbycasey@google.com>
* frostflow: Modify CONFIG_USB_PD_STARTUP_DELAY_MSLeila Lin2023-04-271-1/+1
| | | | | | | | | | | | | | | | | Modify the delay time to meet battery wake up time after cutoff. BRANCH=skyrim BUG=b:274648350 TEST=on frostflow, dut can power on after cutoff Change-Id: I778594af6c4a418fc02e009c372b692e748132a0 Signed-off-by: Leila Lin <leilacy_lin@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4483315 Reviewed-by: Diana Z <dzigterman@chromium.org> Tested-by: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com> Tested-by: SamSP Liu <samsp_liu2@compal.corp-partner.google.com> Reviewed-by: SamSP Liu <samsp_liu2@compal.corp-partner.google.com> Commit-Queue: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com>
* taranza: Added a USB-A portYu-An Chen2023-04-273-6/+4
| | | | | | | | | | | | | | | Added a USB-A port Changed GPJ4 to EN_USB_A4_VBUS BUG=b:277664211 BRANCH=none TEST=make BOARD=taranza Change-Id: Ic2690b14b0d8ffae6313d69bc3bab722fc5be0fe Signed-off-by: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4462882 Reviewed-by: Zhuohao Lee <zhuohao@chromium.org> Reviewed-by: Bob Moragues <moragues@chromium.org>
* gitlab: Update to container jbettis/ubuntu-26apr23Jeremy Bettis2023-04-261-1/+1
| | | | | | | | | | | | | | | | | The new container jbettis/ubuntu-26apr23 contains go, which is used by boringssl. BRANCH=None BUG=None TEST=Verified that you can run go in docker Change-Id: I20964f679bd38064637e1ec08f2ccb9867da77b5 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4481574 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Aaron Massey <aaronmassey@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com>
* board/hyperdebug: Avoid dropping GPIO eventsJes B. Klinke2023-04-261-0/+2
| | | | | | | | | | | | | | | | | | | | `ccprint()` will never block, and will drop data if buffers are full. This is undesirable when opentitantool is fetching a list of GPIO edge events, as it could case dropped events, or errors due to garbled output. This CL uses the same approach as for instance the `gpioget` command in `common/gpio_commands.c`, which may also want to print a long list, which would not fit in the buffer. BUG=none TEST=observe a list with more than 100 events in EC console Change-Id: Ide059d615c0be32efd0f4aea29815518f4216a16 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4481569 Commit-Queue: Jes Klinke <jbk@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Tested-by: Jes Klinke <jbk@chromium.org>
* board/hyperdebug: Use dedicated memory buffer for gpio monitoringJes B. Klinke2023-04-261-8/+36
| | | | | | | | | | | | | | | | | | | | | HyperDebug can be instructed to capture edge events on a subset of GPIO pins. The current use of `common/shared_mem.h` conflicts with its use by e.g. SPI. This CL introduces a dedicated memory area in `hyperdebug/gpio.c`. For now, only a single allocation of that area is implemented. We may want to allow the called to request a certain buffer size, and split the available are between buffer for disjoint subsets of GPIO pins being monitored. BUG=b:279752946 TEST=opentitantool spi tpm read register, while gpio monitoring Change-Id: I9cc9b016b964b4db1cb31a048126deeacfef9b99 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4481050 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jes Klinke <jbk@chromium.org> Tested-by: Jes Klinke <jbk@chromium.org>
* crystaldrift: enable usb hub power controlTang Qijun2023-04-263-0/+28
| | | | | | | | | | | | | | | usb typeA hub power is controlled by gpio45 BRANCH=skyrim BUG=b:260771028 TEST=test usb typeA function is ok Change-Id: I55ecb26a0b5e56407618df305a588055d48ba55e Signed-off-by: Tang Qijun <qijun.tang@ecs.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4477237 Reviewed-by: Chao Gui <chaogui@google.com> Commit-Queue: Chao Gui <chaogui@google.com>
* zephyr: clang: Use no_position_independent variableKeith Short2023-04-263-1/+9
| | | | | | | | | | | | | | | | | | Zephyr upstream added the "no_position_independent" property to track the compiler and linker specific flags used to disable position independent code and disable position independent executable. Set the "no_position_independent" property with the correct clang compiler and linker flags. BUG=none BRANCH=none TEST=./twister -ivc --toolchain llvm Change-Id: I853f10561df8731db541942f8fa6223b18095127 Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4477708 Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: remove disable of position independent codeKeith Short2023-04-263-11/+0
| | | | | | | | | | | | | | | | Zephyr by default does not create position independent code. Remove references that added compiler specific flags to disable position independent code. BUG=none BRANCH=none TEST=zmake compare-builds -a TEST=twister Change-Id: Ia85ec4a5767a42951c8ec4fa0513eb1578607bef Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4477707 Reviewed-by: Yuval Peress <peress@google.com>
* test/fpsensor_crypto: Convert to C++Tom Hughes2023-04-262-5/+8
| | | | | | | | | | | BRANCH=none BUG=b:234181908 TEST=make run-fpsensor_crypto Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I26e7b7bcc8f2a7ee7d1ba19cb8cd8c0f7e22b2cf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3860408 Reviewed-by: Yi Chou <yich@google.com>
* fpsensor: Boost the CPU when neededYi Chou2023-04-261-0/+4
| | | | | | | | | | | | | We should boost the CPU for faster crypto operations. BUG=b:248508087 TEST=make V=1 BOARD=bloonchipper -j BRANCH=none Signed-off-by: Yi Chou <yich@google.com> Change-Id: I533f8c487a5f7485c0f775b8228073623d563d4e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3965870 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* ec: add support for npcx9m8sDavid Cross2023-04-265-3/+39
| | | | | | | | | | | BUG=none TEST=`make BOARD=helipilot` BRANCH=none Signed-off-by: David Cross <davidmcross@google.com> Change-Id: Ib6e0ccc2eac31f47326e27459c9ee8c32585a7ec Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4007183 Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: CH Lin <chlin56@nuvoton.com>
* driver: shim: Port KTU1125 PPC driver to ZephyrScott Collyer2023-04-264-0/+25
| | | | | | | | | | | | | | | | | This CL adds the shim layer required to support the KTU1125 PPC driver. BUG=b:267589112 BRANCH=None TEST=zmake build rex Verified basic type-c/PD operation on SKU2 system Change-Id: Ie8b83910ce60c0e3f276a7b3086f9b9c708bdaf7 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4358755 Reviewed-by: Boris Mittelberg <bmbm@google.com> Tested-by: Boris Mittelberg <bmbm@google.com> Commit-Queue: caveh jalali <caveh@chromium.org>
* zephyr: Honor warnings as errors config for testsstabilize-15439.B-mainKeith Short2023-04-261-6/+8
| | | | | | | | | | | | | | | The clang compiler flags were unconditionally enabling errors for several warnings classes. Only enable these errors when the CONFIG_COMPILER_WARNINGS_AS_ERRORS option is enabled. BUG=none BRANCH=none TEST=./twister -W Change-Id: I2530a8af9aa51e12b5ae6d0e3d68b4963ecf82a1 Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4451651 Reviewed-by: Yuval Peress <peress@google.com>
* twister_launcher: remove disable-warnings-as-errorsKeith Short2023-04-261-5/+4
| | | | | | | | | | | | | | | None of the test devicetree overlays contain any "label" properties, so the --disable-warnings-as-errors flag can be removed from the default twister invocation. BUG=none BRANCH=none TEST=./twister Change-Id: If06fb0a73f29a791a9ab6303cad3528513401ce5 Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4451650 Reviewed-by: Aaron Massey <aaronmassey@google.com>
* zephyr: add missing vendor prefixesKeith Short2023-04-261-0/+2
| | | | | | | | | | | | | | | Twister was configured to disable warnings as errors, and masked that there were some missing vendor prefixes. Add all prefixes needed to build without errors. BUG=none BRANCH=none TEST=./twister Change-Id: I2af890a71382926fdcb0138fcc8e157a57a26d6a Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4451649 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: alphabetize downstream vendor-prefixesKeith Short2023-04-261-12/+12
| | | | | | | | | | | | | | | Follow the convention of Zephyr upstream and alphabetize the vendor prefixes. BUG=none BRANCH=none TEST=zmake build -a TEST=./twister Change-Id: Ifac2c5e1d7440d3db577a8a58e342266eb25deab Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4451648 Reviewed-by: Tristan Honscheid <honscheid@google.com>
* zmake: Use CONFIG_COMPILER_WARNINGS_AS_ERRORSKeith Short2023-04-262-8/+2
| | | | | | | | | | | | | | | | | Zephyr provides the Kconfig option COMPILER_WARNINGS_AS_ERRORS to automatically treat warnings as errors. Use this Kcoonfig in place of an EC specific Cmake option. BUG=none BRANCH=none TEST=zmake build skyrim. Confirm compiler options enable "-Werror" TEST=zmake build skyrim --allow-warnings. Confirm compiler options don't include "-Werror" Change-Id: I9ea85928a9125472bbf00bac6ee452b4ab97fdf9 Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4451647 Reviewed-by: Tristan Honscheid <honscheid@google.com>
* boringssl: Move flags to toolchain.mkJeremy Bettis2023-04-263-10/+10
| | | | | | | | | | | | | | | | | | | | | | Instead of comparing the CROS_COMPILE path to magic strings, just set the arch specific flags CMAKE_SYSTEM_PROCESSOR and OPENSSL_NO_ASM in core/$(CORE)/toolchain.mk This also has the advantage of working when CROSS_COMPILE is set to something odd, not in the chroot, like in gitlab builds. BRANCH=None BUG=b:248508087, b:273639386 TEST=make buildall Change-Id: I0c823e321892a04e1f063d8fa0ce386428f5dc6c Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4477525 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yi Chou <yich@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yi Chou <yich@google.com>
* Charge_state_v2: Always evaluate battery disconnectDiana Z2023-04-251-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Always evaluate the battery disconnect state when we know the battery is physically present. Otherwise, we may miss the battery coming out of disconnect if AC is removed around the same time the battery becomes responsive. This causes us to remain in safe state with an active charge port offering 0mV/0mA. Note this change adjusts the criteria for battery disconnect, counting errors in assessing the battery disconnect state as disconnects. This should account for the fact that the check now runs before we've verified battery communication is okay. BRANCH=skyrim BUG=b:276837557 TEST=on frostflow, ensure units don't show charging when AC is removed after coming out of ship mode Change-Id: Ie52c993005cf389dc2912c6ab9492483b60239a9 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4470067 Tested-by: SamSP Liu <samsp_liu2@compal.corp-partner.google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* test/fpsensor_state: Convert to C++Yi Chou2023-04-251-10/+10
| | | | | | | | | | | | BUG=b:248508087, b:234181908 TEST=make V=1 BOARD=bloonchipper -j TEST=make run-fpsensor_state BRANCH=none Change-Id: If61f4d5f66df397a06d1b5961b60f60b0810c75e Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4354807 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* fpsensor: Switch to the ScopedFastCpuYi Chou2023-04-251-4/+3
| | | | | | | | | | | | | The RAII ScopedFastCpu is more convenient than the C API. BUG=b:248508087 TEST=make V=1 BOARD=bloonchipper -j BRANCH=none Change-Id: I2f71008ac130759126e3b1fcccda99d93d757ee6 Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4344623 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* clock: Add ScopedFastCpuYi Chou2023-04-255-0/+112
| | | | | | | | | | | | | Add a helper class to scope the range of boosting CPU. BUG=b:248508087 TEST=make V=1 BOARD=bloonchipper -j BRANCH=none Change-Id: Ic3dc59bb71e75aec8efb0eb1f2b035ef2867bd42 Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4345046 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* clock: Add mock for clock_enable_moduleYi Chou2023-04-2525-24/+78
| | | | | | | | | | | | BUG=b:248508087 TEST=make buildall -j BRANCH=none Force-Relevant-Builds: all Change-Id: If691bd1400b65c5595b833293578e16208c49849 Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4376399 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* boxy: Modify Boxy initial EC code.jimmy.wu2023-04-2511-1042/+502
| | | | | | | | | | | | | Modify Boxy initial EC code following dibbi code base. BUG=b:279375284 BRANCH=None TEST=make -j BOARD=boxy Change-Id: Ia7279fb3d0193893792a25e4a571608769603aaa Signed-off-by: jimmy.wu <jimmy.wu@lcfc.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4464579 Reviewed-by: Derek Huang <derekhuang@google.com>
* Revert "kingler: only reset TCPC with power-on reset flag"Eric Yilun Lin2023-04-251-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4bd705ffa6b507570c1fbad61aa87addb1c023cd. Reason for revert: C1 port might malfunction some time. Original change's description: > kingler: only reset TCPC with power-on reset flag > > Reset the TCPC after a power-on restart, and clear any explicit > PD contract so that the previous state is not restored. The TCPC > reset is not needed on starting up with EFS2 enabled since the > contract will be established after entering RW. > > This fixes that while the EC soft-reset is issued, the TCPC > will be reset on the starting up, and this will cause a brown-out > if no battery connected. > > BUG=b:276661970 > TEST=steelix with AC only, no battery, issue reboot and system boots. > BRANCH=none > > Change-Id: I17f9f3122a51a179996e1a950a18887cb2a5c8be > Signed-off-by: Eric Yilun Lin <yllin@chromium.org> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4439429 > Reviewed-by: Ting Shen <phoenixshen@chromium.org> > Tested-by: Eric Yilun Lin <yllin@google.com> > Commit-Queue: Eric Yilun Lin <yllin@google.com> Bug: b:276661970 Change-Id: I795b1449b7feef89737c3110500f34983614c169 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4473847 Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Auto-Submit: Eric Yilun Lin <yllin@google.com>
* kingler: only reset TCPC with power-on reset flagEric Yilun Lin2023-04-251-3/+11
| | | | | | | | | | | | | | | | | | | | | | Reset the TCPC after a power-on restart, and clear any explicit PD contract so that the previous state is not restored. The TCPC reset is not needed on starting up with EFS2 enabled since the contract will be established after entering RW. This fixes that while the EC soft-reset is issued, the TCPC will be reset on the starting up, and this will cause a brown-out if no battery connected. BUG=b:276661970 TEST=steelix with AC only, no battery, issue reboot and system boots. BRANCH=none Change-Id: I17f9f3122a51a179996e1a950a18887cb2a5c8be Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4439429 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Tested-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* Revert "Frostflow: Implement LED behavior for RSOC"JohnWC Yeh2023-04-251-24/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3a71dfa983df103a7435c0f1ff0108beb1d99e77. Reason for revert: Already change the node depends on display SOC Original change's description: > Frostflow: Implement LED behavior for RSOC > > The EC modifies the raw battery level to a 'Display' > level that is then sent to the AP. > Battery Display 0-94%:Amber > Battery Low Display 0-10% > The Display values map to raw values as: > Display Raw > 10 13 > 11 14 > 94 91 > 95 92 > > BUG=b:258153920 > BRANCH=none > TEST=zmake build frostflow > > Change-Id: Iec114b47109f57f15db09dcc80cdb077c4ab884b > Signed-off-by: johnwc_yeh <johnwc_yeh@compal.corp-partner.google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4105800 > Reviewed-by: Diana Z <dzigterman@chromium.org> > Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> > Reviewed-by: SamSP Liu <samsp_liu2@compal.corp-partner.google.com> Bug: b:258153920 Change-Id: I918f72998686d9699a757b129bb095a5e1dfb96c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4461254 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: SamSP Liu <samsp_liu2@compal.corp-partner.google.com> Tested-by: JohnWC Yeh <johnwc_yeh@compal.corp-partner.google.com> Commit-Queue: JohnWC Yeh <johnwc_yeh@compal.corp-partner.google.com>
* Reland "fpsensor: Use OPENSSL_cleanse instead of always_memset"Yi Chou2023-04-253-21/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of commit 848e5a749e7cd6d02a2b31ee275470ba68cbe43d Original change's description: > fpsensor: Use OPENSSL_cleanse instead of always_memset > > BUG=b:248508087, b:273639386 > TEST=make runhosttests -j > TEST=make buildall -j > BRANCH=none > > Change-Id: If26578b31d768875bd4b85cdce8a6365e181685a > Signed-off-by: Yi Chou <yich@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4387995 > Reviewed-by: Tom Hughes <tomhughes@chromium.org> BUG=b:248508087, b:273639386 TEST=make runhosttests -j TEST=make buildall -j BRANCH=none Force-Relevant-Builds: all Change-Id: If8ac7ed3a87af1369cf278a84af470ba0540984b Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4464661 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* Reland "tree: Remove the stale boringssl AES code"Yi Chou2023-04-2516-3747/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of commit 1eb725490d0e7ff726b9edcf11579080a412a02f Original change's description: > tree: Remove the stale boringssl AES code > > BUG=b:248508087, b:273639386 > TEST=make runhosttests -j > TEST=make buildall -j > BRANCH=none > > Change-Id: If4d7ee558871debdca5998c51d75c1062dce2a50 > Signed-off-by: Yi Chou <yich@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4388275 > Reviewed-by: Tom Hughes <tomhughes@chromium.org> BUG=b:248508087, b:273639386 TEST=make runhosttests -j TEST=make buildall -j BRANCH=none Force-Relevant-Builds: all Change-Id: Ifac2e67d3f347be07a4ab880398029a694fa357d Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4464660 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* Reland "Use third_party boringssl for AES"Yi Chou2023-04-2510-21/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of commit 6fa9cc0c7484be908010a6acdd6547d686234e34 Original change's description: > Use third_party boringssl for AES > > The original boringssl copy is not maintainable in the long term. > We should build it from the upstream version. > > BUG=b:248508087, b:273639386 > TEST=make runhosttests -j > TEST=make buildall -j > BRANCH=none > > Signed-off-by: Yi Chou <yich@google.com> > Change-Id: I3ead1244c3c839590281e20e5c4828242933d1f2 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3925087 > Reviewed-by: Tom Hughes <tomhughes@chromium.org> BUG=b:248508087, b:273639386 TEST=make runhosttests -j TEST=make buildall -j BRANCH=none Force-Relevant-Builds: all Change-Id: I2bf9e2157eec030ec3526939846a5706b1954afd Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4464659 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* boringssl: Fix the fuzzer build issueYi Chou2023-04-251-1/+1
| | | | | | | | | | | | | | | | We should support both x86_64 compiler: x86_64-pc-linux-gnu- x86_64-cros-linux-gnu- BUG=b:279174496, b:248508087 TEST=build chromeos-ec on amd64-generic-fuzzer Force-Relevant-Builds: all Change-Id: I7f04d40453dec0be90b2b4436945d56cd66d2344 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4464658 Tested-by: Yi Chou <yich@google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Yi Chou <yich@google.com>
* ktu1125: set polarity only when applying VCONNrelease-R114-15437.B-mainBoris Mittelberg2023-04-252-10/+6
| | | | | | | | | | | | | | | Makes set_polarity a no-op. CC polarity should only be set when VCONN is applied. BUG=b:278116464 BRANCH=none TEST=manual test on rex sku2 Change-Id: I27d818bb75a2d79ef74e6eb7976e6e896f93be1a Signed-off-by: Boris Mittelberg <bmbm@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4455743 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* common/tablet: Fix printing the tablet modeGwendal Grignou2023-04-241-2/+7
| | | | | | | | | | | | | | | | table_mode is not just a boolean, it stores the cause(s) for getting in tablet mode. Fixes: c1f6b2a249250 ("common/tablet: Allow getting out of tablet mode when sensors are broken") BUG=b:279135356 TEST=Compile Change-Id: I4a50118004285da2f7ba4229e537d6cd8d7b07d1 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4468727 Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* panic: Add flags to panicinfo outputRob Barnes2023-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Output the panic flags in the panicinfo console command output. This is helpful for debugging panicinfo bugs. Example output: 23-04-17 08:52:52.168 Saved panic data: 0x49 (NEW) 23-04-17 08:52:52.168 a1 = 0x00000001 23-04-17 08:52:52.171 a2 = 0x100B5506 23-04-17 08:52:52.173 a3 = 0x00000000 23-04-17 08:52:52.176 a4 = 0x00000000 23-04-17 08:52:52.179 ip = 0x100B1594 23-04-17 08:52:52.179 lr = 0x10081B1B 23-04-17 08:52:52.182 pc = 0x10095ABA 23-04-17 08:52:52.185 xpsr = 0x21000000 23-04-17 08:52:52.188 v1 = 0x00000001 23-04-17 08:52:52.188 v2 = 0x00000000 23-04-17 08:52:52.190 v3 = 0x00000000 23-04-17 08:52:52.192 v4 = 0x00000000 23-04-17 08:52:52.195 v5 = 0xFFFFFFFD 23-04-17 08:52:52.198 v6 = 0x200CA0B4 23-04-17 08:52:52.202 v7 = 0x100B1584 23-04-17 08:52:52.202 v8 = 0x00000001 23-04-17 08:52:52.203 psp = 0x200CA038 23-04-17 08:52:52.206 exc_rtn = 0xFFFFFFFD 23-04-17 08:52:52.209 msp = 0x200CAC90 BUG=None BRANCH=None TEST=panicinfo on skyrim Change-Id: I703e6f1a703b801cb61120365dbcc1c49e77ebe3 Signed-off-by: Rob Barnes <robbarnes@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4416457 Reviewed-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* zmake: Erase coverage before runningJeremy Bettis2023-04-241-0/+1
| | | | | | | | | | | | | | | | Before running pytest with coverage, erase the saved coverage data. BRANCH=None BUG=None TEST=./run_tests.sh --coverage Change-Id: Iefe3dad4e50fa9251dcf3be743a5fc24e4537d70 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4459596 Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Aaron Massey <aaronmassey@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com>
* tasks: Add task_enabled functionRob Barnes2023-04-246-0/+30
| | | | | | | | | | | | | Add task_enabled function that simply check if a task is enabled or not. BUG=b:278792557 BRANCH=None TEST=Manually tested Change-Id: I0faccec603bc6d0226ad2ecbde2d90a6c233dd74 Signed-off-by: Rob Barnes <robbarnes@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4455297 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>