summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* boten: modify battery fet register definestabilize-ambassador-14268.43.B-ishstabilize-14324.72.B-ishstabilize-14324.62.B-ishstabilize-14324.41.B-ishstabilize-14324.13.B-ishstabilize-14321.B-ishstabilize-14312.B-ishstabilize-14285.B-ishstabilize-14268.67.B-ishstabilize-14268.52.B-ishstabilize-14268.51.B-ishstabilize-14267.B-ishrelease-R97-14324.B-ishrelease-R96-14268.B-ishfirmware-cr50-stab-mp-14300.B-ishfirmware-cr50-stab-14294.B-ishfirmware-chameleon-14280.B-ishfactory-ambassador-14265.B-isharthur.lin2021-09-291-9/+9
| | | | | | | | | | | | | | | Modify correct fet register define to fix vsys drop issue. BRANCH=dedede BUG=None TEST=make buildall -j flash on boten, verify that VSYS remains up. Signed-off-by: arthur.lin <arthur.lin@lcfc.corp-partner.google.com> Change-Id: I98cfdff1b1b2e7a64a38e92c4272605de0aaf453 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193204 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* driver: Remove unused functionTom Hughes2021-09-291-16/+0
| | | | | | | | | | | | | | | | | | When compiling with clang it warns that the function is unused: driver/accelgyro_lsm6dsm.c:45:29: error: unused function 'get_fifo_type' [-Werror,-Wunused-function] static inline enum dev_fifo get_fifo_type(const struct motion_sensor_t *s) BRANCH=none BUG=b:172020503 TEST=make CC=clang V=1 BOARD=arcada_ish Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ibc52e25a2f750e8da8335e7835475db7a5d42670 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193275 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* chip/ish: Fix return typeTom Hughes2021-09-291-1/+1
| | | | | | | | | | | | | | | | | | clang warns that the types do not match: chip/ish/host_command_heci.c:140:9: error: implicit conversion from enumeration type 'enum ec_error_list' to different enumeration type 'enum ec_status' [-Werror,-Wenum-conversion] return EC_SUCCESS; BRANCH=none BUG=b:172020503 TEST=none Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ief6c5ecb4a6850a5560357f6f9c7cb7c5bd22797 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193272 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* core/minute-ia: Remove .func and .endfuncTom Hughes2021-09-291-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .func and .endfunc were used to emit STABS debug information (not DWARF). These only have an effect with -gstabs, which we're not using. I suspect their inclusion was not intentional. STABS is not supported when building with clang, so it generates the following errors: core/minute-ia/switch.S:27:1: error: unknown directive .func __task_start ^ core/minute-ia/switch.S:42:1: error: unknown directive .endfunc See https://bugs.llvm.org/show_bug.cgi?id=20424 and https://sourceware.org/gdb/current/onlinedocs/stabs.html. As indicated by the TEST line, the output is indentical before and after this change. BRANCH=none BUG=b:172020503 TEST=make CC=clang V=1 BOARD=arcada_ish TEST=./util/compare_build.sh -b all -j 70 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1e1e5f57fb382797e01dcf797d72de0468150054 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193271 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* nipperkin: update fw_config fieldZick Wei2021-09-292-25/+23
| | | | | | | | | | | | | | Update cbi fw_config field follow b:196909635 BUG=b:196909635 BRANCH=none TEST=make BOARD=nipperkin Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Change-Id: I877b0b7db788680f513686100ad3d5f5e6d59b1e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3144411 Reviewed-by: Rob Barnes <robbarnes@google.com> Commit-Queue: Rob Barnes <robbarnes@google.com>
* gooey: modify battery fet register definearthur.lin2021-09-291-9/+9
| | | | | | | | | | | | | | | | Modify correct fet register define to fix vsys drop issue. BRANCH=keeby BUG=b:198405407 TEST=make buildall -j flash on gooey, verify that VSYS remains up. Signed-off-by: arthur.lin <arthur.lin@lcfc.corp-partner.google.com> Change-Id: I4555c535c75521b5eac63024cf2a172fb6f8020a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3185799 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* chip/stm32: Make function definition and declaration matchTom Hughes2021-09-292-2/+2
| | | | | | | | | | | | | | | | | | | "test_mockable_static" is static, but the declaration created by DECLARE_IRQ is not static. The mismatch generates a compiler warning when building with clang: chip/stm32/clock-f.c:325:6: error: unused function '__rtc_alarm_irq' [-Werror,-Wunused-function] void __rtc_alarm_irq(void) BRANCH=none BUG=b:172020503 TEST=make buildall -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I39e2de93b057b5565c54ffb83e1633a13db1ce46 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172039 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* Coachz: Enable CONFIG_LTODiana Z2021-09-291-0/+1
| | | | | | | | | | | | | | | Coachz is down to 100's of bytes of free flash on ToT. Enable LTO to free up about 9k in flash space. BRANCH=None BUG=None TEST=make -j BOARD=coachz shows 9k+ free flash Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ib49e4f41780c7df5ebdeabf91dface0fea2f0234 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3192234 Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
* zephyr: emul: ln9310Aaron Massey2021-09-283-0/+29
| | | | | | | | | | | | | | | Add INT1_MSK registor to ln9310 emulator. BRANCH=none BUG=b:184856083 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Aaron Massey <aaronmassey@chromium.org> Change-Id: I864d355767f0c2d091f830329e511be8d293fac4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3179310 Commit-Queue: Aaron Massey <aaronmassey@google.com> Tested-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Yuval Peress <peress@google.com>
* bugzzy : remove leakage of LCD powerYongBeum.Ha2021-09-281-1/+5
| | | | | | | | | | | | | | | | TSP_TA is leakage source on LCD off or Power Off. Set TSP_TA to low when LCD Power is off. BUG=b:201355826 BRANCH=None TEST=make -j BOARD=bugzzy Signed-off-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Change-Id: Ie7e178248a9ff8cf7c13cb0311f4a9c8cb397ce4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3189453 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* gitlab: Fix yaml errorJeremy Bettis2021-09-281-1/+1
| | | | | | | | | | | | | | | | | crrev/c/3173097 broke the yaml file. Quote the "SF:" text to avoid yaml parser issues. BUG=None TEST=Used the CI lint tool: https://gitlab.com/zephyr-ec/ec/-/ci/lint BRANCH=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I53e1cbee7bb73f31f205e55718367ee3bebe2bc8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3188642 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* docs: replace "master" with "HEAD" in URLsTom Hughes2021-09-2814-24/+24
| | | | | | | | | | | | | | find . -name '*.md' | xargs sed -i 's#refs/heads/master#HEAD#g' find . -name '*.md' | xargs sed -i 's#+/master#+/HEAD#g' BRANCH=none BUG=none TEST=view in gitiles Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Iaac99ddc3463c8c7bb08038214e3eb22951db6a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3188552 Reviewed-by: Diana Z <dzigterman@chromium.org>
* docs/fingerprint: replace master with HEAD in URLsTom Hughes2021-09-286-60/+60
| | | | | | | | | | | | | | sed -i 's#refs/heads/master#HEAD#g' *.md sed -i 's#+/master#+/HEAD#g' *.md BRANCH=none BUG=none TEST=view in gitiles Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1663701a16fd66b32d48358fa5a754247b9dbb5c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3188550 Reviewed-by: Edward Hill <ecgh@chromium.org>
* test/rollback_entropy: Add __maybe_unused to arraysTom Hughes2021-09-281-3/+4
| | | | | | | | | | | | | | | | | | Clang warns that "_EXPECTED_SECRET is not needed and will not be emitted". The same warning occurs for _EXPECTED_SECRET2, and _EXPECTED_UNINITIALIZED_ROLLBACK_SECRET. While this is true, we still want the BUILD_ASSERT() evaluated at compile time, so mark it as "__maybe_unused" to suppress the warning. BRANCH=none BUG=b:172020503 TEST=make buildall -j TEST=make BOARD=dartmonkey tests -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I6ab0f4070654e74c1c8ef5d1ba7b125d490633f7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3174597 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* common/i2c: Implement i2cspeed console commandCaveh Jalali2021-09-284-0/+90
| | | | | | | | | | | | | | | | | | This adds the "i2cspeed port [speed]" console command. If only the port number is given, then the current port bus speed is reported. With 2 arguments, the port bus speed is changed. Valid speeds are 100, 400, 1000 and the unit is kHz. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz. Change-Id: I7ca6b2c7a8fd9abe8e8ec77e4d1702529b297fe8 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181504 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: Add watchdog reinstall mechanismWealian Liao2021-09-281-0/+7
| | | | | | | | | | | | | | | | | After the sysjump, the watchdog has been installed by the last image. The watchdog install function return -EBUSY while the watchdog has already been set up. This CL adds watchdog running check & reinstall watchdog for sysjump. BUG=none BRANCH=none TEST=RO/RW use the different timeout setting & test the timeout. Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: Ibe36d50c030afcfe79eb804ca05c7b426468cb07 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180705 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Change NPCX BBRAM status information to LOG_INFWealian Liao2021-09-281-4/+3
| | | | | | | | | | | | | | | | | | NPCX BBRAM module provides VBAT/VSBY/VCC power drop information. The status bit will set when the chip power-up or hibernate PSL wake-up, which provides the false error alarm. This CL changes the power drop information to LOG_INF. BUG=none BRANCH=none TEST=Check the log with LOG_LEVEL_INF. Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I36bafedbc694333236ae8824310cfdfcceab7ac8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180704 Reviewed-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* kano: configure PD port 1 dual retimersstabilize-14249.B-mainli feng2021-09-282-1/+13
| | | | | | | | | | | | | | BUG=b:185952716 BRANCH=none TEST=make -j BOARD=kano Signed-off-by: li feng <li1.feng@intel.com> Change-Id: I1868de9fe45fc93e9a658b1f52f3bae3276c23c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180804 Tested-by: David Huang <david.huang@quanta.corp-partner.google.com> Reviewed-by: Boris Mittelberg <bmbm@google.com> Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* rammus: gryo sensor add 2nd source ICM40608Michael5 Chen12021-09-285-2/+98
| | | | | | | | | | | | | | | | gryo sensor add 2nd source icm40608 BUG=b:192817920 BRANCH=rammus TEST=make BOARD=rammus Set CBI SSFC 0x10 and using command "watch ectool motionsense lid_angle" for icm-40608. Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: If64ee373c0c63e074b11b8a37c9d67c70d409f40 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180700 Reviewed-by: Zhuohao Lee <zhuohao@chromium.org> Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
* cherry: enable DPSEric Yilun Lin2021-09-282-0/+2
| | | | | | | | | | | | | | | Enable Dynamic PDO Selection to provide a more efficient charging. BUG=b:196911733 TEST=Pass PD FAFT and FAFT-EC BRANCH=none Change-Id: Ie615d63fbca54bf70412367e8f3befabd7db5832 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3124474 Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* Pico: enable TABLET_MODE_L interruptSue Chen2021-09-281-1/+2
| | | | | | | | | | | | | | | | BUG=b:200098147 BRANCH=icarus TEST=1. Switch to tablet mode for DUT 2. Reboot the DUT 3. Closing the lid to NB mode make sure DUT leave tablet mode. Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I7f3dfbd5950370dd9615ec4568da3b1ca8512b80 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3162468 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Pico: Add new sku id for convertible skuSue Chen2021-09-281-1/+1
| | | | | | | | | | | | | | | SKU 2 -> convertible + Wifi6 BUG=none BRANCH=icarus TEST=none Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I606993a6749d0797e9742fca84a4ec5f27eb7a1c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3162464 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* taeko: add thermal configurationamber.chen2021-09-282-8/+8
| | | | | | | | | | | | | | BUG=b:201021109 BRANCH=main TEST=make -j BOARD=taeko Signed-off-by: amber.chen <amber.chen@lcfc.corp-partner.google.com> Change-Id: Idb65b11870ada152f64ab02bf6209ad155352b90 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3182320 Reviewed-by: YH Lin <yueherngl@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com> Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* npcx: Correct the image copies indication bits for npcx9Jun Lin2021-09-284-8/+24
| | | | | | | | | | | | | | | | | | | | | | In npcx5/7, we use two reserved bits in the BSC1 register (offset 0x07 of the MDC register) to indicate what the current image copy is. In npcx9, these two bits are used by the booter. We need to change them to another two empty scratch bits which are not used by the booter. BUG=b:165777478, b:200642229 BRANCH=none TEST=pass "make buildall" TEST=check the related bits changed by "sysump ro" and "sysjump rw" TEST=jump to RW & check sysinfo after reset-pin/watchdog/debug reset Signed-off-by: Jun Lin <CHLin56@nuvoton.com> Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I9801efe7fe7645e7b81df9c5cc69372df0a178a8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3178700 Tested-by: caveh jalali <caveh@chromium.org> Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* zephyr: create led.c file local to Lazor projectParth Malkan2021-09-282-3/+158
| | | | | | | | | | | | | | Add led.c file locally to zephyr lazor project and unlink from CrOs led.c file BRANCH=None BUG=b:201007290 TEST=builds Signed-off-by: Parth Malkan <parthmalkan@google.com> Change-Id: Ibf3223da8889233cbc7cb3b21e78c6ea0773201a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3183184 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* Add math_lib for 32 bit boards that use pd_timerDenis Brockus2021-09-277-0/+21
| | | | | | | | | | | | | | | | | | pd_timer was changed to use bitmask_uint64 to create the equivalent of BIT(o) for uint64_t bitmasks BUG=none BRANCH=none TEST=make buildall Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I7cc6a24771a9c5e1050fa1c3ff1391ef77518b80 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3182631 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Yuval Peress <peress@google.com>
* math_util: add creation of 64 bit bitmasksDenis Brockus2021-09-272-0/+50
| | | | | | | | | | | | | | | | | | | 32 bit processors don't all allow left shift of 64 bit values. So add this to make it work with 32 and 64 bit processors. uint64_t bitmask_uint64(int offset); BUG=none BRANCH=none TEST=make buildall Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I114111c4774bb935a35c7711821b1f2f2f9c037d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3182630 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: convert fwctrl register to syscon driverYuval Peress2021-09-2712-13/+54
| | | | | | | | | | | | | | | | Note that currently CONFIG_SYSCON=y is required. There's an ongoing PR (https://github.com/zephyrproject-rtos/zephyr/pull/38762) to remove that requirement in favor of simply detecting an enabled node in DT via the compatible string. BRANCH=none BUG=b:179900857, b:165777478, b:200642229 TEST=zmake testall Signed-off-by: Yuval Peress <peress@google.com> Change-Id: Idad1f53afbda503e0e0b2fdf2931d5267a391d4d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3177749 Reviewed-by: Sam Hurst <shurst@google.com>
* zephyr: NPCX EVB: disable unused I2C controllersKeith Short2021-09-271-0/+20
| | | | | | | | | | | | | | | Upstream Zephyr now requires that both the I2C port and I2C controller are explicitly enabled. BUG=b:200292035 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I32cae81567fc9420c293e06128653039a69f6d75 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3188562 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Generate coverage report for herobrineJeremy Bettis2021-09-271-1/+5
| | | | | | | | | | | | | | | | As part of the coverage artifacts, build a report for herobrine w/o zephyr code. BUG=None BRANCH=None TEST=Ran cmds in docker Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I7b1291d4d447769487870fc701a8452aeaffa649 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3173097 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Fix broken volteer buildJeremy Bettis2021-09-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On github, the volteer build was failing with error: undefined reference to `ppc_is_vbus_present' but it was building in the chroot. It seems the chroot linker can determine that the pd_snk_is_vbus_provided function is never called, but the zephyr toolchain linker cannot, or perhaps it does missing function detection before removing unused functions. Remove pd_snk_is_vbus_provided if CONFIG_USB_PD_VBUS_DETECT_PPC is not set. BRANCH=None BUG=b:194375840 TEST=In docker container: PROJECT=volteer; PROJECT_SUBDIR=volteer/; VERSION=26; unset TOOLCHAIN zmake -j1 --zephyr-base "${ZEPHYR_BASE}${VERSION}" \ --modules-dir "${MODULES_DIR}" -l DEBUG configure -b \ -B "${BUILD_DIR}/${PROJECT}" -t ${TOOLCHAIN:-zephyr} \ zephyr/projects/${PROJECT_SUBDIR}${PROJECT} In chroot: zmake configure -b zephyr/projects/volteer/volteer Change-Id: I59679a12e89e8b2e5fa2f62dc5fa60d108234d23 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3188214 Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Parth Malkan <parthmalkan@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com> Commit-Queue: Fabio Baltieri <fabiobaltieri@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* chip/mt_scp: Declaration needs to come before definitionTom Hughes2021-09-274-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are already disabling -Wignored-attributes to work around the declaration and definition order issue: error: attribute declaration must precede definition [-Werror,-Wignored-attributes] However, although there are no compiler errors, the linker (lld) will still fail: ld.lld: error: undefined symbol: clock_control_irq >>> referenced by clock.c:347 (src/platform/ec/chip/mt_scp/mt8183/clock.c:347) >>> lto.tmp:(irq_13_handler) ... ld.lld: error: undefined symbol: clock_fast_wakeup_irq >>> referenced by clock.c:355 (src/platform/ec/chip/mt_scp/mt8183/clock.c:355) >>> lto.tmp:(irq_44_handler) Tested with the compare_build.sh script to validate that the resulting binaries are identical. BRANCH=none BUG=b:172020503 TEST=CC=arm-none-eabi-clang make BOARD=kukui_scp -j TEST=./util/compare_build.sh --boards all -j 50 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ib622fb98784a4c3ad3c199c72ee7604c7f709d6c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3182621 Reviewed-by: Diana Z <dzigterman@chromium.org>
* gitlab: Also build cros-ec coverage reportJeremy Bettis2021-09-271-4/+11
| | | | | | | | | | | | | | | | Build both the zephyr and the cros-ec coverage reports, and merge the info files. BRANCH=None BUG=None TEST=Ran cmds in docker. Change-Id: I22e8c1e6192ba4b917fc5a5ee434dfb4edcb866d Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3173096 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* ec: Set GCOV tool for cross compileJeremy Bettis2021-09-272-2/+4
| | | | | | | | | | | | | | | | | | | | | | Use the right gcov tool for cross compile and host builds. The llvm-cov tool is sort of magical and can handle both llvm and gcc output, but that is only in the chroot, and so on gitlab we need to pick the right gcov for each platform. BRANCH=None BUG=None TEST=in docker: make -j CRYPTOC_DIR="${MODULES_DIR}/cryptoc" \ FTDIVERSION=1 HOSTGCOV='gcov' \ CROSS_COMPILE_arm=/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi- \ coverage Change-Id: Ie95032a4c0706b2bd49574df03e93dcbec7c3eed Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3171942 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* ec: Don't run PKG_CONFIG if we already know answerJeremy Bettis2021-09-271-0/+2
| | | | | | | | | | | | | | | | | | | | | There is no libftdi1.pc in the gitlab docker image, so if LIBFTDI_NAME is already set (from the command line for example) don't run the command to detect it. BRANCH=None BUG=None TEST=in docker: make -j CRYPTOC_DIR="${MODULES_DIR}/cryptoc" \ FTDIVERSION=1 HOSTGCOV='gcov' \ CROSS_COMPILE_arm=/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi- \ coverage Change-Id: Ic5ff6702a73660009928f3e2df08db47b781187c Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3171941 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* core: Add forward declaration for IRQ handler routineTom Hughes2021-09-274-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang warns when attribute declarations do not precede definitions: error: attribute declaration must precede definition [-Werror,-Wignored-attributes] The cortex-m/irq_handler.h file uses the "__keep" attribute on "routine". The declaration with the attribute must come before the definition or the compiler will ignore it. This results in link errors when using LTO with lld since it is optimized out. In order to fix this, the DECLARE_IRQ instances must be moved before the function definitions. However, if DECLARE_IRQ instances are moved without this change, we will get an implicit declaration compiler error: error: implicit declaration of function 'uart_interrupt' This change does not change the resulting output as verified by the "compare_builds.sh" script. BRANCH=none BUG=b:172020503 TEST=./util/compare_builds.sh -b all -j 70 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Icb282cb0f0a0557d6bc1d184378c5923d0e3a72d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3182634 Reviewed-by: Eric Yilun Lin <yllin@google.com>
* core/cortex-m0: Fix assemblyTom Hughes2021-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling with clang, the following error is reported: core/cortex-m0/switch.S:107:12: error: unknown token in expression ldr r0, =#0xe000ed04 @ load 0xe000ed04's address ^ This change fixes the syntax, which generates the identical output before and after the change: /opt/coreboot-sdk/bin/arm-eabi-objdump -d build/servo_micro/RW/core/cortex-m0/switch.o 0000006a <pendsv_handler>: 6a: b508 push {r3, lr} 6c: 4807 ldr r0, [pc, #28] ; (8c <pendsv_handler+0x22>) BRANCH=none BUG=b:172020503 TEST=./util/compare_build.sh -b all -j 70 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I379510f7aa00f61ae24ae8463c49d9cd3b832752 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3183391 Reviewed-by: Patryk Duda <patrykd@google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* TCPMv2: Set mux to None when detachingDiana Z2021-09-271-4/+5
| | | | | | | | | | | | | | | | | | | | When detaching from a port partner, we clear out all alternate mode information, but currently we're not clearing out the mux state reliably. There is a mux state clear in Unattached.SNK, but it should be called any time we're forcibly detaching a port (due to unplug, error recovery, or suspend). BRANCH=None BUG=b:198204468 TEST=on guybrush, suspend a port with a monitor plugged in and verify the mux state goes to None while suspended on voxel, pass tast typec.Mode*.manual Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I894d8b9358b357300848c063a0db6f5f22caf12a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180267 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* it83xx: clock: fix sequence to set PLL control registerDino Li2021-09-271-6/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We change event timer's clock to 32.768kHz before entering low power mode. And will restore the clock to 8MHz (by checking PLL control register's setting in ISR) when chip wake up from the low power mode. So we need to ensure the setting is taken into PLL control register before wfi instruction. The original implementation can't ensure event timer’s clock is restored to 8MHz when chip wake up. So we fix it. This also fix wfi (wait for interrupt) instruction fail issue on RISV-V core chips when a timer count down to zero (MTIP@mip is set to 1 until HW reload timer counter). Once CPU executed wfi instruction, CPU should stay there until interrupt is fired or MEIP@mip is non-zero. But currently, HW checks entire mip value (should check MEIP@mip only) to decide whether or not to ignore wfi instruction. The issue will cause EC premature wake from idle task even there is no interrupt fired. BRANCH=asurada, icarus BUG=none TEST=-On asurada, increase CPU clock to 96mhz. Plug out/in type-c adapter to wake chip up from low power mode, no pre-watchdog warning fired. (x100) -buildall Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Change-Id: I72bb2566c5b22bc132ab304a38a5a1b5b968e463 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3168672 Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* common/i2c: Improve port number validation in i2c_set_freqCaveh Jalali2021-09-261-1/+6
| | | | | | | | | | | | | | | | | | This adds additional checks to the port number validation in i2c_set_freq. get_i2c_port could potentially return a NULL pointer, so check for that. Also, when DYNAMIC_SPEED is not enabled on a port, return ERROR_UNIMPLEMENTED instead of ERROR_INVAL. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz. Change-Id: Ie58d68ee2b64d94681ea1d5044530195210ff661 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181503 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* npcx/i2c: Implement chip_i2c_[gs]et_freqCaveh Jalali2021-09-261-0/+49
| | | | | | | | | | | | | | | This implements missing I2C driver functions to get or set the I2C bus speed on NPCX family chips. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz. Change-Id: Ie0d8de1ca2c4884e52f5fe947ad19a50b0c76fb9 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170292 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* npcx/i2c: Track configured I2C port speedCaveh Jalali2021-09-251-0/+13
| | | | | | | | | | | | | | | | This adds code to the npcx I2C driver to keep track of the speed setting used to configure the port. This can be used to determine the current speed setting without decoding chip registers. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz. Change-Id: Ib7a61e23ec406deff80afead2e2aa6b64578ea1d Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181502 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* galtic/galtic360: Modify keyboard config.Michael5 Chen12021-09-251-1/+1
| | | | | | | | | | | | | | | | Base on keyboard printing, modify keyboard function key define. BUG=b:175857578 BRANCH=dedede TEST=manual Check keyboard function key behavior. Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: Ie63a338a8f08d6d1541f53bdfc34da83753823af Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3162474 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Henry Sun <henrysun@google.com>
* npcx/i2c: Rename variable for clarityCaveh Jalali2021-09-251-5/+5
| | | | | | | | | | | BRANCH=none BUG=b:201039003 TEST=buildall passes Change-Id: I5b34e5266f28452d30d76489e4afaef4cb2287e2 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181501 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* npcx/i2c: Refactor i2c_freq_changedCaveh Jalali2021-09-251-74/+86
| | | | | | | | | | | | | | | | This splits the implementation of i2c_freq_changed() into a per-port worker function and a top-level iterator function. This change makes i2c_port_set_freq() available to set a port's I2C speed. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz. Change-Id: Ifb5613ac3a59cbd64f01f3a396f978db5e77d9f1 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170291 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* anahera: Enable search keyDevin Lu2021-09-241-1/+1
| | | | | | | | | | | | | BUG=b:197850509 BRANCH=none TEST=On Anahera, make sure search key works. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I7787ab8a40bc06264918534556cb2898b2cb5b52 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180702 Reviewed-by: caveh jalali <caveh@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com> Commit-Queue: Boris Mittelberg <bmbm@google.com>
* Redrix: Enable search keyDevin Lu2021-09-241-1/+1
| | | | | | | | | | | | BUG=none BRANCH=none TEST=On Redrix, make sure search key works. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I2bb65db54fd10b5b3282728852ac6d9e094ad354 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180701 Reviewed-by: Boris Mittelberg <bmbm@google.com> Commit-Queue: Boris Mittelberg <bmbm@google.com>
* SSFC: Framework to support two charger sourcesParth Malkan2021-09-249-58/+248
| | | | | | | | | | | | | | | | | | Many platforms have requirements to support more than one charge source (eg. pirika). It can't be supported by just enabling two different CONFIGS as that can lead to conflicts. Eg.USD_PD_VBUS_DETECT_TCPC vs USB_PD_VBUS_DETECT_DISCHARGE. This change provides a framework that supports two different charger sources in the same build. Please see the CL for relevant logs. BRANCH=None BUG=b:194375840 TEST=make -j buildall Signed-off-by: Parth Malkan <parthmalkan@google.com> Change-Id: I309cc5930233983e615d90a4290fc749abf7aa2d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3088232 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* COIL: ectool: Update terminologyCaveh Jalali2021-09-241-3/+3
| | | | | | | | | | | BRANCH=none BUG=b:163885307 TEST=buildall passes Change-Id: I8b5524341e02dbbedbd0f8e7a3b82352aef4091f Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181500 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* chip/mt_scp: Fix return typeTom Hughes2021-09-241-1/+1
| | | | | | | | | | | | | | | | | | clang complains that the types do not match: chip/mt_scp/mt8183/ipi.c:349:9: error: implicit conversion from enumeration type 'enum ec_error_list' to different enumeration type 'enum ec_status' [-Werror,-Wenum-conversion] BRANCH=none BUG=b:172020503 TEST=make buildall -j TEST=CC=arm-none-eabi-clang make BOARD=kukui_scp -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I14e850f5e2ace5c3f3e59c7bc2aa90b3eaf92a9d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3182620 Reviewed-by: Edward Hill <ecgh@chromium.org>