summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* TCPCI: Add PPC driver for generic TCPCDaisuke Nojiri2023-05-041-3/+5
| | | | | | | | | | | | | | | | | This CL adds a PPC driver for TCPCI conformant TCPCs. On some boards, EC indirectly controls PPCs through TCPCs which supports TCPCI. This is a PPC driver for such configurations. BUG=b:257320026,b:272821227 BRANCH=None TEST=Agah Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I4eda5f6dfc398723b223c51de5c58aa7a5d45fd6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4455301 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Tarun Tuli <taruntuli@google.com>
* ec: Add #line in include/usb_pd_dpm_sm.hJeremy Bettis2023-05-031-0/+6
| | | | | | | | | | | | | | | | Work around coreboot GCC preprocessor bug. BRANCH=None BUG=b:272518464 TEST=./twister --coverage Change-Id: I3325b2c4579607373765ebb5f992e7fd51d3440d Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4497210 Commit-Queue: Al Semjonovs <asemjonovs@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* ec: Add async FLASH_PROTECTFiras Sammoura2023-05-032-0/+16
| | | | | | | | | | | | | | | | | | | Create an async FLASH_PROTECT command that is enabled when CONFIG_FLASH_PROTECT_DEFERRED is defined. Disable this configuration for boards cerise, damu, stern,cand willow where there is no flash memory available. Disable this configuration for board hyperdebug where the deferred implementation in not possible because CONFIG_COMMON_RUNTIME is undefined. Enable this configuration otherwise in both the ec and zephyr configuration files. BRANCH=nocturne BUG=b:116396469 TEST=make buildall -j Change-Id: I0605cc600841ec2ec3c1dd2d3d3598b28d20ffcb Signed-off-by: Firas Sammoura <fsammoura@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4335413 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* fpsensor: Export fp_read_match_secretYi Chou2023-05-021-0/+10
| | | | | | | | | | | | | | We will be able to reuse the fp_read_match_secret logic in the new auth commands. BUG=b:248508087 TEST=make V=1 BOARD=bloonchipper -j BRANCH=none Change-Id: Ia544e3e0fc2e9bd099417d5f2c7067e4dd7c68d2 Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4477232 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* emul_tcpci: support VBUS related COMMANDEric Yilun Lin2023-05-021-0/+1
| | | | | | | | | | | | | | | | | This CL adds support for reflecting the VBUS sink/source/detection commands. BUG=b:272664811 TEST=tested that the register is set after calling related functions tcpm_set_snk_ctrl, tcpm_set_src_ctrl BRANCH=none Change-Id: Ifb23182486e53409f9e5213844d954801dc835ec Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4483235 Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* config: Don't allow legacy INA drivers with ZephyrKeith Short2023-04-281-1/+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>
* ec: add support for npcx9m8sDavid Cross2023-04-261-2/+3
| | | | | | | | | | | 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>
* clock: Add ScopedFastCpuYi Chou2023-04-251-0/+36
| | | | | | | | | | | | | 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-251-0/+23
| | | | | | | | | | | | 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>
* Reland "tree: Remove the stale boringssl AES code"Yi Chou2023-04-253-8/+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>
* tasks: Add task_enabled functionRob Barnes2023-04-241-0/+5
| | | | | | | | | | | | | 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>
* ec: Add another #line directiveJeremy Bettis2023-04-211-0/+6
| | | | | | | | | | | | | | | | | | To workaround pre-processor glitch in common/usbc/usbc_task.c add a #line directive. BRANCH=None BUG=b:272518464 TEST=zmake build --coverage -a && \ ./util/find_non_exec_lines.py build/zephyr/all_builds.info Change-Id: I9241756d54a980f603312ba2526c69ca655a4a0e Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4456115 Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* Revert "Reland "tree: Remove the stale boringssl AES code""Jonathon Murphy2023-04-213-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2e03009c0dccc4ae9683d3b7d761e900b3cf2c46. Reason for revert: Breaks postsubmit b/279174496 Original change's description: > Reland "tree: Remove the stale boringssl AES code" > > 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 > > Signed-off-by: Yi Chou <yich@google.com> > Change-Id: Ifca00792d0568ed767a1c9aea4953eb7a93c1c92 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4439570 > Reviewed-by: Tom Hughes <tomhughes@chromium.org> Bug: b:248508087, b:273639386 Change-Id: I4c44cdd75a9cc38e3e0e688d91f2a64b908ae61d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4459598 Tested-by: Jonathon Murphy <jpmurphy@google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Auto-Submit: Jonathon Murphy <jpmurphy@google.com> Owners-Override: Jonathon Murphy <jpmurphy@google.com>
* zephyr: Add support for board override of fan duty adjustment logicKornel Dulęba2023-04-211-23/+69
| | | | | | | | | | | | | | | | | | | The generic logic has proven to not work well on whiterun. In order to mitigate that, while not affecting everyone else, a custom fan duty adjustment logic needs to be implemented. The behavior is controlled with CONFIG_CUSTOM_FAN_DUTY_CONTROL, which will be enabled on whiterun in a another patch. Some structs has been moved to the fan header, so that they can be accessed from the custom logic. BUG=b:276577324 BRANCH=none TEST=make try_build_boards Change-Id: Iff31b6526be83b8b0165c4490bafe26f131e6c84 Signed-off-by: Kornel Dulęba <korneld@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4423152 Reviewed-by: Keith Short <keithshort@chromium.org>
* Reland "tree: Remove the stale boringssl AES code"Yi Chou2023-04-213-8/+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 Signed-off-by: Yi Chou <yich@google.com> Change-Id: Ifca00792d0568ed767a1c9aea4953eb7a93c1c92 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4439570 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* zephyr: test: Set up OCPC test project and check console commandsTristan Honscheid2023-04-211-0/+22
| | | | | | | | | | | | | | | | | | | Add a new test binary that has a Nissa-style Kconfig and devicetree, complete with chargers. Use this configuration to run OCPC (common/ocpc.c) and test this module, which has never previously been used in our tests. This CL contains tests for ocpc.c's console commands. BRANCH=None BUG=b:276805061 TEST=./twister -T zephyr/test/ocpc Change-Id: I34dbe1abcae98d8ca9aa9613dddf3b4ba2838792 Signed-off-by: Tristan Honscheid <honscheid@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4438529 Commit-Queue: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org>
* retimer: Use common console command for all RetimersVijay Hiremath2023-04-192-1/+31
| | | | | | | | | | | | | | BUG=b:278138274 BRANCH=none TEST=Tested on ADL-RVP, retimer console command works ./twister -T zephyr/test/drivers ./twister -T zephyr/test/drivers -s drivers.default ./firmware_builder.py --metrics /tmp/tmp_pc1rc15 build Change-Id: Idaec9b41f550ad6aafa34400e95ebf00b9c11348 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4426790 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* ec: Add another #line directiveJeremy Bettis2023-04-191-0/+6
| | | | | | | | | | | | | | | | | | | To workaround pre-processor glitch in motion_lid.c add a #line directive. BRANCH=None BUG=b:272518464 TEST=zmake build --coverage -a && \ ./util/find_non_exec_lines.py build/zephyr/all_builds.info Change-Id: I6e35ec1eb2ad4b90e09b082bb3439b4910fecf94 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4447188 Reviewed-by: Al Semjonovs <asemjonovs@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Al Semjonovs <asemjonovs@google.com>
* Revert "tree: Remove the stale boringssl AES code"Yi Chou2023-04-183-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1eb725490d0e7ff726b9edcf11579080a412a02f. Reason for revert: break the build of chromeos-base/chromeos-fpmcu-unittests. 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 Change-Id: I81f5035e25bed8e98516072a6f2a7a609fd6eede Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4439431 Commit-Queue: Yi Chou <yich@google.com> Tested-by: Yi Chou <yich@google.com> Reviewed-by: Howard Yang <hcyang@google.com>
* tree: Remove the stale boringssl AES codeYi Chou2023-04-183-8/+0
| | | | | | | | | | | | 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>
* fpsensor: Use consistent unsigned type for finger indexTom Hughes2023-04-171-1/+1
| | | | | | | | | | | | | | | | | | This is a followup to https://crrev.com/c/3872809, which changed the variable tracking the number of fingers to a consistent type (uint16_t). BRANCH=none BUG=b:244781166 TEST=./test/run_device_tests.py --board dartmonkey => PASS TEST=./test/run_device_tests.py --board bloonchipper => PASS TEST=Flash firmware on gimble, enroll, lock, unlock Change-Id: I1f414fc2bf3ccb229ad074f73eaf4a51fa252bdb Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4382560 Reviewed-by: Yi Chou <yich@google.com>
* flash: cbi: Block the HCs from flash CBI section modificationMadhurima Paruchuri2023-04-171-3/+20
| | | | | | | | | | | BRANCH=None BUG=b:267629295 TEST=./twister -T zephyr/test -c Change-Id: Ibcf176f10860cc126b267908faba054df256c3d4 Signed-off-by: Madhurima Paruchuri <mparuchuri@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4414226 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* USB-PD: Make sink automatically enter EPR modeDaisuke Nojiri2023-04-171-0/+7
| | | | | | | | | | | | | | | | | | | | Currently, EPR mode is entered only by 'pd' console command. This CL makes sink ports enter EPR mode automatically. PE_FLAGS_EPR_EXPLICIT_EXIT is cleared when soft reset is sent, a source is disconnected, or EPR is entered again. BUG=b:257320026,b:274929940 BRANCH=None TEST=On Agah, plug AC, observe automatic entry to EPR. Then type 'pd 1 epr exit' and observe EPR mode is not re-entered. Then replug AC and observe the port enters EPR automatically. TEST=make run-usb_pd_console Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: Ie2b94323ba404d44ee70756e1893c065c34911fd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4421425 Reviewed-by: Eric Yilun Lin <yllin@google.com>
* ec: Add back in some #line directivesJeremy Bettis2023-04-151-0/+6
| | | | | | | | | | | | | | | | | We still have files that get odd coverage problems due to the pre-processor marking the wrong line of code, and claiming that we have no coverage of comments and blank lines. BRANCH=None BUG=b:272518464 TEST=Ran util/find_non_exec_lines.py Change-Id: If0d1d632fa52001531d7782412d9ebee8f14b054 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4426797 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: tcpc: Add TCPC alt support for all existing TCPCMadhurima Paruchuri2023-04-141-2/+0
| | | | | | | | | | | | | | Add TCPC alt support for all TCPCs and tests to test the working of TCPC alternatives BRANCH=none BUG=b:274126703 TEST=./twister -s drivers/drivers.usbc_tcpc -c Change-Id: Icafdaf8b940b09cfc3c17ed124e1b4a0a9427d01 Signed-off-by: Madhurima Paruchuri <mparuchuri@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4375619 Reviewed-by: Keith Short <keithshort@chromium.org>
* host_cmd: Add command to get/set s0ix counterGrzegorz Bernacki2023-04-141-0/+17
| | | | | | | | | | | BUG=b:261869264 TEST=Tested on skyrim and nissa BRANCH=none Change-Id: I4f2cd0121b6eab445b9645037d607ae10daea835 Signed-off-by: Grzegorz Bernacki <bernacki@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4239443 Reviewed-by: Robert Zieba <robertzieba@google.com>
* power: Add s0ix counterGrzegorz Bernacki2023-04-141-0/+5
| | | | | | | | | | | | | | This commit adds counter which increments every time EC detects going into S0ix state. BUG=b:261869264 TEST=Tested on skyrim BRANCH=none Change-Id: I26475d80a891e64509686000e9fd37681553ef76 Signed-off-by: Grzegorz Bernacki <bernacki@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4239441 Reviewed-by: Robert Zieba <robertzieba@google.com>
* zephyr: Add support for RNG devicesPatryk Duda2023-04-132-0/+10
| | | | | | | | | | | | | | | | | | | | | | | This patch provides implementation of trng_rand_bytes() using Zephyr's entropy API. Zephyr driver is responsible for hardware initialization, enabling and disabling, so trng_init() and trng_exit() are no-op. Add hostcmd and console command which can be used to test random number generator. Both commands have unit tests implemented. BUG=b:277029648 BRANCH=none TEST=zmake build bloonchipper TEST=Enable CONFIG_PLATFORM_EC_CONSOLE_CMD_RAND and compile firmware. Use 'rand' command to check if random values are generated. TEST=./twister -v -i -T zephyr/test/drivers/ --test drivers.random Change-Id: I3fa2c6a1aaf84dc23a8fbb06e557d9e07f5d1d32 Signed-off-by: Patryk Duda <pdk@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4381919 Tested-by: Patryk Duda <patrykd@google.com> Commit-Queue: Patryk Duda <patrykd@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* trng: Drop trng_rand() functionPatryk Duda2023-04-131-7/+0
| | | | | | | | | | | | | | | | | | | The function is not used anywhere except test/rng_benchmark.cc, so we will have a problem with code coverage when implementing the function using Zephyr API. The RNG benchmark was modified to use trng_rand_bytes() function. BUG=b:277029648 BRANCH=none TEST=./test/run_device_tests.py --board bloonchipper -t rng_benchmark Change-Id: Ic6cf7e511b2e8fe88a08e9e1c4354f7afa9ae425 Signed-off-by: Patryk Duda <pdk@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4423151 Tested-by: Patryk Duda <patrykd@google.com> Commit-Queue: Patryk Duda <patrykd@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: conditionally define DIV_ROUND_UPYuval Peress2023-04-131-0/+3
| | | | | | | | | | | | | | | The DIV_ROUND_UP macro conflicts with the Zephyr one added in sys/util.h. Conditionally add it only if it's not already defined. BRANCH=none BUG=none TEST=build Change-Id: I72f039c2cbe7dabd227289a4f119322d8320d549 Signed-off-by: Yuval Peress <peress@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4421414 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* USB-PD: Update EC_CMD_TYPEC_STATUS for EPRDaisuke Nojiri2023-04-131-1/+53
| | | | | | | | | | | | | | | | | Currently, EC_CMD_TYPEC_STATUS can carry up to 7 PDOs. With EPR, the max number of PDOs is 11. This patch adds version 1 of the command with the new response struct which has 11 slots for source caps and sink caps. BRANCH=None BUG=b:257320026 TEST=Tested v0 on Vell. v1 will be tested when time comes. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I694b5897de7faee8e492c7cdc196ff94dd9c8fb4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4294392 Reviewed-by: Keith Short <keithshort@chromium.org>
* RAA489110: Add RAA489110 driverDaisuke Nojiri2023-04-122-5/+12
| | | | | | | | | | | | | | | RAA489110 is an EPR capable version of ISL9241. BUG=b:277280318 BRANCH=None TEST=make BOARD=hades TEST=./twister --toolchain host -T zephyr/test/drivers -s drivers.isl9241 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I15eb1f652027f157ccb6b3a2d509531bef0c7c6c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4409986 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Commit-Queue: Paul Fagerburg <pfagerburg@chromium.org>
* retimer: Add driver for ANX7452 retimerMadhurima Paruchuri2023-04-122-0/+27
| | | | | | | | | | | | BUG=b:267589042 BRANCH=None TEST=./twister -s drivers/drivers.anx7452 -c --coverage Change-Id: I99be488d82a58a5d38a2afcef0966b9c3236074d Signed-off-by: Madhurima Paruchuri <mparuchuri@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4226575 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com>
* adc: don't declare adc_channels if ADC support is disabledPeter Marheine2023-04-121-0/+2
| | | | | | | | | | | | | | If CONFIG_ADC is disabled, `struct adc_t` may not be defined in which case declaring adc_channels using that type is an error. BUG=b:267959470 TEST=Including adc.h with CONFIG_ADC disabled no longer causes an error. BRANCH=none Change-Id: I9cbc5b14a5e5a7f3307925c5bcd0da6e84b79758 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4402419 Reviewed-by: Diana Z <dzigterman@chromium.org>
* system_safe_mode: Print process stack dumpRob Barnes2023-04-112-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Add the CONFIG_SYSTEM_SAFE_MODE_PRINT_STACK option for printing the faulting process stack to the console buffer. This must be done in safe mode because the console buffer ignores log messages while in an ISR. This option is on by default when system safe mode is enabled. get_panic_stack_pointer is a new overidable function that each architecture needs to implement to support this feature. The default implementation returns 0, which will result in no stack being printed. This is a workaround until coredumps are fully supported. BUG=b:266084064 BRANCH=None TEST=System safe mode zephyr test passes Stack print observed on boten, guybrush, and skyrim boards. LOW_COVERAGE_REASON=Cortex-M and NDS32 specific code cannot be tested Change-Id: Ied78ab7e6edca9cfa97c50323d94e39a3fca0eef Signed-off-by: Rob Barnes <robbarnes@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4301695 Reviewed-by: Boris Mittelberg <bmbm@google.com>
* Reland "battery: Finish past cleanup of sb fw update"Aaron Massey2023-04-111-53/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of commit 33885596426b7f419709d81529f3e4d02f960ddf Cq-Depend: chromium:4415154 Original change's description: > battery: Finish past cleanup of sb fw update > > We removed the SB_FW_UPDATE host command code in CL:792013 without > cleaning up all now dead references. > > Remove all dead code that references the SB_FW_UPDATE command and > associated sources. > > BRANCH=none > BUG=b:276458241 > TEST=CQ > > Change-Id: I66a79eb42508aaa7ba3a64f6022df777608a497b > Signed-off-by: Aaron Massey <aaronmassey@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4388382 > Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Bug: b:276458241 Change-Id: I2002f156e1919496d1b3d8859ee0b78bab83d06c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4415696 Commit-Queue: Aaron Massey <aaronmassey@google.com> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Tested-by: Aaron Massey <aaronmassey@google.com>
* zephyr: test: Fix flaky keyboard_scan testTristan Honscheid2023-04-071-0/+5
| | | | | | | | | | | | | | | | Latent key presses were appearing in a subsequent test, throwing off FFF expectations. Resolved by adding a test-only helper function to `keyboard_scan.c` to wipe out the debouncing state between tests. Also broke out the failing test into two independent ones. BRANCH=None BUG=None TEST=./twister -s drivers/drivers.keyboard_scan Change-Id: I79f2a6891f36e10a7df87865573348312c5b57d5 Signed-off-by: Tristan Honscheid <honscheid@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4404706 Reviewed-by: Al Semjonovs <asemjonovs@google.com>
* mt8186,mt8188: check the holder of AP_RST_ODLEric Yilun Lin2023-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | To distinguish the AP shutdown, and the AP reset held by GSC/Servo, we use the SYS_RST_ODL as the reference. If AP_EC_SYSRST_ODL is asserted, but SYS_RST_ODL is not, this is a normal shutdown. If AP_EC_SYSRST_ODL is asserted, and so is SYS_RST_ODL, the AP reset is held by GSC or Servo. In this case, we should let the power state stay at S0 to prevent from an unexpected shutdown. BUG=b:276229973 TEST=pass firmware_CorruptMinios TEST=dut-control warm_reset:on sleep:1 warm:reset:off, it stays at S0 BRANCH=none Change-Id: I9b69caa0d15e6e58e7f11ad1079536bc1954b5ce Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4402421 Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Auto-Submit: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* keyboard_scan: drop CONFIG_KEYBOARD_LANGUAGE_IDFabio Baltieri2023-04-066-37/+1
| | | | | | | | | | | | | | Drop the CONFIG_KEYBOARD_LANGUAGE_ID option and code, does not seem to be used, can't find any historical reference either. BRANCH=none BUG=b:277105687, b:80168723 TEST=zmake compare-builds -a Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: If4eb37818ec4819204bcb343c37188f70457e09d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4403956 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* fpsensor: Rename fpsensor_detect functionsBobby Casey2023-04-062-4/+4
| | | | | | | | | | | | | | | | Rename get_fp_sensor_type and get_fp_sensor_spi_select to fpsensor_detect_get_type and fpsensor_detect_get_spi_select to be more consistent with other APIs BRANCH=none BUG=b:256674283 TEST=./util/compare_build.sh -b all -j 120 => MATCH Change-Id: Ie548ff5b33079cbc607cb9552efdfe9676da4c02 Signed-off-by: Bobby Casey <bobbycasey@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4283704 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* fp_sensor_mock: Rename fp_sensor_mockBobby Casey2023-04-061-2/+2
| | | | | | | | | | | | | | | | | Rename fp_sensor_mock files to fpsensor_mock to be consistent with other file names. This helps avoid issues with scripts using pattern matched filenames, such as util/migrated_files.sh. BRANCH=none BUG=none TEST=compare_build.sh -b fp => MATCH TEST=make BOARD=bloonchipper tests TEST=make BOARD=dartmonkey tests Change-Id: I6f7e213cbf72a59cfd5994c66dc7b93ea44c6505 Signed-off-by: Bobby Casey <bobbycasey@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4334695 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* keyboard_scan: drop CONFIG_KEYBOARD_SUPPRESS_NOISEFabio Baltieri2023-04-062-16/+0
| | | | | | | | | | | | | | | Drop the CONFIG_KEYBOARD_SUPPRESS_NOISE option and hooks, does not look like this is used anymore, last board using it has been dropped from the repository. BRANCH=none BUG=none TEST=zmake compare-builds -a Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I08a2a742f6c643a800fccc6c8ab05918432d691d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4403578 Reviewed-by: Tristan Honscheid <honscheid@google.com>
* ec: Don't undef CONFIG_RTC if CONFIG_ZEPHYRJeremy Bettis2023-04-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | This one was missed earlier. For all Kconfigs, don't undef them in config.h if we are building for zephyr. BRANCH=None BUG=b:272518464 TEST=make buildall_only -j$(nproc) TEST=CQ TEST=zmake compare-builds -a Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ic63a3834ae3a24269da79ae57131db3be9aef943 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4400340 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Fabio Baltieri <fabiobaltieri@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com>
* ec: Remove unnecessary #line directivesJeremy Bettis2023-04-046-41/+0
| | | | | | | | | | | | | | | Now that we don't #include <autoconf.h> we should not need any of these. BRANCH=None BUG=b:272518464 TEST=Build coverage report at various problem commits Change-Id: I5152c64fce75b34b6269ea0a9fe7d8c8e2b1840e Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4396146 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* ec: Don't undef kconfigs if CONFIG_ZEPHYRJeremy Bettis2023-04-031-3/+44
| | | | | | | | | | | | | | | | | | | For all Kconfigs, don't undef them in config.h if we are building for zephyr. BRANCH=None BUG=b:272518464 TEST=make buildall_only -j$(nproc) TEST=CQ TEST=zmake compare-builds -a Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I87fed97ea5068746a5d42d9d61f09917260e0659 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4396143 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* Revert "battery: Finish past cleanup of sb fw update"Aaron Massey2023-04-031-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 33885596426b7f419709d81529f3e4d02f960ddf. Reason for revert: http://b/276733475 Original change's description: > battery: Finish past cleanup of sb fw update > > We removed the SB_FW_UPDATE host command code in CL:792013 without > cleaning up all now dead references. > > Remove all dead code that references the SB_FW_UPDATE command and > associated sources. > > BRANCH=none > BUG=b:276458241 > TEST=CQ > > Change-Id: I66a79eb42508aaa7ba3a64f6022df777608a497b > Signed-off-by: Aaron Massey <aaronmassey@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4388382 > Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Bug: b:276458241 Change-Id: I06eb724e597e7c3a6e05faa346f84a635a57aea1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4391204 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Aaron Massey <aaronmassey@google.com> Commit-Queue: Aaron Massey <aaronmassey@google.com> Owners-Override: Aaron Massey <aaronmassey@google.com>
* battery: Finish past cleanup of sb fw updateAaron Massey2023-03-311-53/+1
| | | | | | | | | | | | | | | | | We removed the SB_FW_UPDATE host command code in CL:792013 without cleaning up all now dead references. Remove all dead code that references the SB_FW_UPDATE command and associated sources. BRANCH=none BUG=b:276458241 TEST=CQ Change-Id: I66a79eb42508aaa7ba3a64f6022df777608a497b Signed-off-by: Aaron Massey <aaronmassey@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4388382 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* battery: Remove dead sbs_passthrough host cmdsAaron Massey2023-03-312-29/+2
| | | | | | | | | | | | | | | | | | | | The SBS_READ/WRITE_WORD/BLOCK host commands have been dead without use for quite some time. There is not a single board making use of them. If there was actual usage, then CL:2136527 would've broken clients for three years. Remove the dead host commands and their associated unused config. BRANCH=none BUG=b:276458241 TEST=make buildall -j TEST=make build_cros_ec_commands TEST=zmake build -a Change-Id: Ic62465c862440c9d423c3359a79f0ff440941ffb Signed-off-by: Aaron Massey <aaronmassey@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4388381 Reviewed-by: Keith Short <keithshort@chromium.org>
* ec_commands: Read-test deprecated to obsoleteAaron Massey2023-03-311-1/+1
| | | | | | | | | | | | | | | | The read test host command was removed and marked as "DEPRECATED" in CL:3967307. Since this host command is actually obsolete mark it as "OBSOLETE" instead. BRANCH=none BUG=none TEST=none Change-Id: I3a006196bd6072ff3590ec3e9d2d72e50c4ce2c6 Signed-off-by: Aaron Massey <aaronmassey@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4389608 Reviewed-by: Keith Short <keithshort@chromium.org>
* Charger: CONFIG gate bypass modeDiana Z2023-03-311-0/+7
| | | | | | | | | | | | | | | | Only two boards need the charger bypass mode feature, and it takes a fair amount of code space in flash (1.2k). Make this code logic opt-in to enable the bypass mode and enable the two boards which do use it. BRANCH=None BUG=b:273722902 TEST=util/compare_build.sh -b hades and util/compare_build.sh -b agah passes, other boards build and consume less flash space Change-Id: I90d781340389eb2f259d13b69eb2882b16bf0c4d Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4388379 Reviewed-by: Keith Short <keithshort@chromium.org>