summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Revert "markarth: Modify GPIO config"firmware-ti50-prepvt-15315.B-mainLeilaCY Lin2023-01-162-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2366c6f0c8d71b107aa02fe43168f77c190ebc16. Reason for revert: <Keep original design> Original change's description: > markarth: Modify GPIO config > > Add markarth-specific GPIO_LID_SW for lid switch. > > LOW_COVERAGE_REASON=no unit tests for Markarth yet, b/247151116 > BUG=b:264208874 > BRANCH=none > TEST=zmake build Markarth success > > Change-Id: I2559ec953a6047622b1f923ad6e1e38836709165 > Signed-off-by: Leila Lin <leilacy_lin@compal.corp-partner.google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4135919 > Commit-Queue: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com> > Reviewed-by: Chao Gui <chaogui@google.com> > Tested-by: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com> > Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> > Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Bug: b:264208874 Change-Id: Ied6f1576f4546b233f956b86ef61241247ac3210 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4159632 Tested-by: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com> Reviewed-by: Diana Z <dzigterman@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com> Commit-Queue: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com>
* Omnigul : Change Charger from BQ25720 to ISL9241.Logan_Liao2023-01-162-9/+8
| | | | | | | | | | | | | | | | | | This patch change Charger from BQ25710 to ISL9241. BUG=b:262693403 BRANCH=none TEST=make BOARD=omnigul success Change-Id: Idedbcb7cf7beed994b46d8853a21088894313781 Signed-off-by: Logan_Liao <Logan_Liao@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4160822 Reviewed-by: Logan Liao <logan_liao@compal.corp-partner.google.com> Tested-by: Logan Liao <logan_liao@compal.corp-partner.google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Kyle Lin <kylelinck@google.com> Commit-Queue: Kyle Lin <kylelinck@google.com>
* cr50/README.md: Use futility over obsolete scriptEdward O'Callaghan2023-01-161-1/+1
| | | | | | | | | | | | | | | | BUG=b:260531154 BRANCH=none TEST=none Change-Id: I9e9cb4aadb7b59d7d1f64847d3e4852ca15f5b9e Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4160818 Tested-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Peter Marheine <pmarheine@chromium.org> Auto-Submit: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Evan Benn <evanbenn@chromium.org>
* Winterhold: Add fw_config to support two base sensorsjohnwc_yeh2023-01-162-1/+37
| | | | | | | | | | | | | | | | Use fw_config to separate LIS2DW12 and BMI323. LOW_COVERAGE_REASON=Skyrim board tests not created yet: b/247151116 BRANCH=None BUG=b:262321157 TEST=zmake build winterhold Change-Id: I71d78f232867a54c46a003308590521fd687d94b Signed-off-by: johnwc_yeh <johnwc_yeh@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4135921 Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Robert Zieba <robertzieba@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* ap_power: Reduce power signal debug name storageAndrew McRae2023-01-162-0/+15
| | | | | | | | | | | | | | | | | Use shortened power signal debug names by default, unless the BRINGUP config option is set. This reduces flash space usage by around 520 bytes. BUG=none TEST=Verify on craask BRANCH=none Change-Id: I69bdb74e7b272b9f5b842b888052e04e3e659c01 Signed-off-by: Andrew McRae <amcrae@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4165982 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Peter Marheine <pmarheine@chromium.org>
* docs: Document the code coverage test requirementsKeith Short2023-01-134-1/+136
| | | | | | | | | | | | | | Document the code coverage test requirements. BUG=b:261987897 BRANCH=none TEST=View docs in preview mode Change-Id: I0bde6ed3f36f88f4e7d1102c29ea73d112b82e74 Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4166320 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: make the test emulator's PD revision configurableJameson Thies2023-01-134-6/+14
| | | | | | | | | | | | | | | | This CL updates the tcpci partner emulator to have an internal variable define how it responds to Get_Revision, instead of hardcoding it's RMDO to 0x31000000 (USBPD 3.1). BUG=b:236868370 BRANCH=None TEST=./twister -p native_posix -p unit_testing Signed-off-by: Jameson Thies <jthies@google.com> Change-Id: Ib212383ce2a29c87f7284a971b2ad96cce6b68c6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4159990 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr: Test all ports for correct pd informationJason Yuan2023-01-132-4/+7
| | | | | | | | | | | | | | | | | pd_chip_info is tested for all ports instead of just port 0. BUG=b:261874683 TEST=twister BRANCH=none Change-Id: I338af9781539cd1fe325410d085593832f776120 Signed-off-by: Jason Yuan <jasonyuan@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4159971 Auto-Submit: zhi cheng yuan <jasonyuan@chromium.org> Tested-by: zhi cheng yuan <jasonyuan@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* skyrim : Remove EC variant for MorthalChao Gui2023-01-1311-689/+0
| | | | | | | | | | | | | LOW_COVERAGE_REASON= cancelled device specific configuration BUG=none BRANCH=none TEST=zmake compare-builds skyrim Change-Id: I2f806322dea1a7c3629311e6c4f49cb61c22c444 Signed-off-by: Chao Gui <chaogui@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4163824 Reviewed-by: Diana Z <dzigterman@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* geralt: remove rt9490-bc12 dt nodeTing Shen2023-01-132-9/+3
| | | | | | | | | | | | | | | | | RT9490's charger and bc12 nodes are merged in CL:4010984. update Geralt dts to reflect this change. BUG=b:264841530 TEST=USB_CHG task doesn't crash BRANCH=none Change-Id: I9b5d057d713ca563095a55e8d2b25a7da9b3d4c4 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4159978 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com> Reviewed-by: Eric Yilun Lin <yllin@google.com> Tested-by: Simon Zhou <zhouguohui@huaqin.corp-partner.google.com>
* usb_hid_touchpad: add missing headersTing Shen2023-01-131-0/+2
| | | | | | | | | | | | | | | | | Add header file for the definition of uintXX_t and __packed. BUG=none TEST=`make buildall` BRANCH=none Change-Id: I91de127fcb0e4042a387f991c4eef6df526058a6 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4163829 Auto-Submit: Ting Shen <phoenixshen@chromium.org> Tested-by: Eric Yilun Lin <yllin@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com> Reviewed-by: Eric Yilun Lin <yllin@google.com>
* syv682x: cached force discharge configEric Yilun Lin2023-01-132-3/+25
| | | | | | | | | | | | | | | | | | | | syv682x vbus discharge function is getting called from ppc_dev_is_connected to reset the discharge config many times. We cached the force discharge config to reduce the i2c traffics on IT81202 i2c ports. BUG=none TEST=i2c traffic reduces. FRS is working. BRANCH=none Change-Id: Iebae413d8f6621b8c99dc28c744220f54d420062 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4160813 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Auto-Submit: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* Default charger current derating to 5%Peter Marheine2023-01-1267-3/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not derating seems like a common pitfall that can cause problems with some chargers, so set a reasonably conservative default. 5% is chosen as the most common derating factor used among boards today (counting occurrences in source code, so this may undercount 5% occurrences because several projects set 5% at the project rather than board-level): 1. 38 x 5% 2. 23 x 4% 3. 6 x 10% 3. 2 x 3% 4. 1 x 2% Boards that currently configure this setting are modified only to continue building without warnings regardless of whether they use the new default value in order to signal that they were explicitly configured. BUG=b:260774380 TEST=make buildall / zmake build -a BRANCH=none Change-Id: I017849d38572fbc48090ae1fa2c539b808e426f9 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4109651 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* dts: Remove upstream SHI driver in favor of our ownTristan Honscheid2023-01-124-32/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The upstream commit 3ae105e76b1a47c013d6982a79b3f2fa36b19963 introduces an upstream driver that is conflicting with what we have locally in our device tree by merging in some properties (buffer-rx-size) that we don't have declared in our YAML yet. It also creates a naming conflict with our own `struct shi_reg`. This is blocking downstreaming so delete the device tree nodes introduced by the upstream code for now. Rename our structure to `struct cros_shi_reg`. BUG=None BRANCH=None TEST=Built several boards against Zephyr ToT TEST=./twister -T zephyr/test/drivers/ Signed-off-by: Tristan Honscheid <honscheid@google.com> Cq-Depend: chromium:4155744 Cq-Depend: chromium:4155745 Cq-Depend: chromium:4155746 Change-Id: I3c4b44eaf9692fd0411ef7eee411c1fa0eb1f58e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4158571 Tested-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Tristan Honscheid <honscheid@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr: npcx9m7f: Add 360 kB padding to output imageScott Collyer2023-01-121-1/+8
| | | | | | | | | | | | | | | | | | | | This CL adds required padding to the output binary so that the image size will match the npcx9m7f reported image size which will allow flashrom to work properly. BUG=b:260549463 BRANCH=none TEST=ec.bin for rex is now 1MB -rw-r--r-- 1 scollyer primarygroup 1048576 Jan 4 14:38 ec.bin Change-Id: I73ec9e7169a5cf53ee876c8eb028377bde0d249e Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4137151 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Madhu 🌱 <mparuchuri@google.com> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com> Commit-Queue: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org>
* zephyr: enable Kconfig based on the devicetree - motionsenseMichał Barnaś2023-01-1212-11/+5
| | | | | | | | | | | | | | | This commit adds automatic selection of required Kconfig options based on the device tree nodes for module: motionsense BUG=b:251812799 BRANCH=main TEST=run twister and zcompare script Change-Id: Icbe3f6b503d803a8d75e17c5eb73993d6be8501c Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3982648 Reviewed-by: Wai-Hong Tam <waihong@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr: enable Kconfig based on the devicetree - keyboardMichał Barnaś2023-01-123-3/+7
| | | | | | | | | | | | | | | This commit adds automatic selection of required Kconfig options based on the device tree nodes for module: keyboard BUG=b:251812799 BRANCH=main TEST=run twister and zcompare script Change-Id: I7efb4ed68b475b62d5a399d0f68d2b9e0f1c1bf4 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3982647 Reviewed-by: Yuval Peress <peress@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* vell: Lower priority to set board id 5 GPIOsDevin Lu2023-01-121-1/+1
| | | | | | | | | | | | | | | | | | To avoid setting board id 5 GPIOs early to cbi data ready. BUG=b:253957352 BRANCH=none TEST=On Vell. System boots. Shorting the SEQ_EC_ALL_SYS_PG to ground is able to see the system shutting down. Change-Id: I99d9fb9572e15908dbb3df30d5c4327d76b4bbf3 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4145098 Tested-by: Devin Lu <devin.lu@quantatw.com> Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: Devin Lu <devin.lu@quantatw.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* kuldax: Remove the bring-up featuresben chen2023-01-121-0/+3
| | | | | | | | | | | | | | | This patch remove CONFIG_CMD_POWERINDEBUG configuration. BUG=b:255199345 BRANCH=none TEST=make BOARD kuldax PASS Change-Id: I23d55bba87c0bd4443d3222a221a305171d45d40 Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4160811 Reviewed-by: Derek Huang <derekhuang@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: caveh jalali <caveh@chromium.org>
* shim/bc12_rt9490: fix compatibleDino Li2023-01-121-2/+2
| | | | | | | | | | | | | | | Correct shim code since both yaml and dtsi compatibility are "richtek,rt9490". BRANCH=none BUG=none TEST=The rt9490_interrupt isr is registered correctly. Change-Id: Idb1e3d19060852514ba98a513f2f5f34cbda5bc3 Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4154450 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* battery: extend BATTERY_GET_STATIC hostcmd for 32-byte stringsPeter Marheine2023-01-124-32/+189
| | | | | | | | | | | | | | | | | | | | | | | The Smart Battery Specification defines a string as up to 31 characters, and nissa project has encountered some batteries where the existing 11-character strings for v1 of BATTERY_GET_STATIC are insufficient to differentiate some batteries that can be used on a given device. This change adds a new version of this host command that extends the strings fields to each accommodate up to 31 characters of data, which should be enough to support all smart batteries compliant with the latest version of the specification. BUG=b:263920422 TEST=`ectool battery` with updated ectool works on Nereid and uses the new hostcmd version. If EC support for v2 or v1 is disabled, older command versions are used. BRANCH=nissa Change-Id: Ia6a3a917051d5e641e7d38ef6936ec7174cb8aab Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4150669 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* craask: add Fw_config structure for thermal solution controlben chen2023-01-126-14/+287
| | | | | | | | | | | | | | | | | | | | | | support thermal solution flag of cbi fw_config, decided 6w/15w thermal solution by FW_THERMAL flag. FW_THERMAL flag address bit10 size 3 of cbi fw_config: 0 :FW_THERMAL_6W 1 :FW_THERMAL_6W 2 :FW_THERMAL_15W BUG=b:264701585 BRANCH=none TEST=check with thermal table workable. Change-Id: Iaa70a86ffc08d175422ededc479479bbfed52d30 Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4085594 Code-Coverage: Andrew McRae <amcrae@google.com> Reviewed-by: Andrew McRae <amcrae@google.com> Commit-Queue: Andrew McRae <amcrae@google.com>
* Markarth : Disable chg_alt function.Logan_Liao2023-01-124-54/+5
| | | | | | | | | | | | | | | | | | | | | Markarth just have one charger-ISL9241, so disable chg_alt function. LOW_COVERAGE_REASON=no unit tests for Markarth yet, b/247151116 BUG=none BRANCH=none TEST=zmake build Markarth success. Change-Id: Ic7724248e8ed9d1909082ee7d10d5e9d6d05dbe2 Signed-off-by: Logan_Liao <Logan_Liao@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4145100 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Logan Liao <logan_liao@compal.corp-partner.google.com> Reviewed-by: Chao Gui <chaogui@google.com> Tested-by: Logan Liao <logan_liao@compal.corp-partner.google.com> Commit-Queue: Logan Liao <logan_liao@compal.corp-partner.google.com> Reviewed-by: Robert Zieba <robertzieba@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* omnigul: Initial EC imagejamie_chen2023-01-1220-0/+2279
| | | | | | | | | | | | | | | | | | Create the initial EC image for the omnigul variant by copying the brya reference board EC files into a new directory named for the variant. (Auto-Generated by create_initial_ec_image.sh version 1.5.0). BUG=b:263060849 BRANCH=None TEST=make BOARD=omnigul Change-Id: Ic663c847cd46c539ac2ed72cac587de55c4319ff Signed-off-by: jamie_chen <jamie_chen@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4131895 Reviewed-by: Kyle Lin <kylelinck@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* nissa: add a board for Nereid with IT81302 CXPeter Marheine2023-01-124-1/+34
| | | | | | | | | | | | | | | | | Some devices have been reworked to the use the newer CX EC; add a target to build firmware targeting that chip. Existing firmwares should work on the CX chip, but a new target is required to take advantage of some of the new chip's improvements. BUG=b:240485526 TEST=zmake build nereid_cx; flash on reworked board BRANCH=none Change-Id: I5a282c6990f44adfcf792e2889da008688a4d079 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4159451 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrew McRae <amcrae@google.com>
* battery_get_static: use strzcpyPeter Marheine2023-01-111-20/+10
| | | | | | | | | | | | | | | | It's simpler to use strzcpy instead of memcpy and manually inserting terminators, since strzcpy will ensure the output is terminated correctly (unlike strncpy). BUG=none TEST=builds BRANCH=none Change-Id: I21d3f61fb439136ba5c1ecc0b700d4c284267dfc Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4150678 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* board/hyperdebug: Enumerate and configure SPI ports via USBJes B. Klinke2023-01-112-2/+146
| | | | | | | | | | | | | | | | | | | Add console commands: spiget and spisetspeed The first can list information on all SPI port or a particular port. The other, spisetspeed, can be used to modify the clock divisor between SPI transactions. BUG=b:192262089 TEST=Observed different clock speeds on analyzer Change-Id: I113b8bdef48f58d5941212c8a8598f3293b5da91 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4078008 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Jes Klinke <jbk@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Jes Klinke <jbk@chromium.org>
* board/hyperdebug: Add support for OCTOSPIJes B. Klinke2023-01-112-21/+311
| | | | | | | | | | | | | | | Add ability to perform individual SPI transactions on the OCTOSPI controller, so far using only 1 data wire in each direction. BUG=b:192262089 TEST=Observe HyperDebug communicate with SPI flash Change-Id: I19ffdc510c00c8fdce636f2400c395184bbf8e87 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4089988 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Tested-by: Jes Klinke <jbk@chromium.org> Commit-Queue: Jes Klinke <jbk@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* ec: Add #line directive to fix coverageJeremy Bettis2023-01-111-0/+7
| | | | | | | | | | | | | | | | | | Once again, gcc is buggy when importing common.h. Add #line to usb_pd_tcpm.h where the problem is showing up today. BRANCH=None BUG=b:265061949 TEST=See bug Change-Id: I08ed9f5574e026dbc371c7634d0bf046df9c95ac Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4157000 Tested-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Al Semjonovs <asemjonovs@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Disable upstream coverage reportsJeremy Bettis2023-01-111-43/+47
| | | | | | | | | | | | | | | | | | | | | | | | Downloading the zephyr coverage data from codecov.io isn't working. Disable twister_coverage job and comment out the steps that depend on it. BRANCH=None BUG=None TEST=Validated yaml at https://gitlab.com/zephyr-ec/ec/-/ci/editor?branch_name=main&tab=2 Change-Id: I0c70b8124de073c9570c0e94a1758d2f2103c0a9 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4156999 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tristan Honscheid <honscheid@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr/test/drivers/flash: Add flash bank API testsPatryk Duda2023-01-112-0/+106
| | | | | | | | | | | | | | | | | | | | | | Introduce unit tests for functions that implement basic API for operating on information about flash sectors. Tests are run only when CONFIG_PLATFORM_EC_USE_ZEPHYR_FLASH_PAGE_LAYOUT is enabled. BUG=b:239712345 BRANCH=none TEST=./twister -v -i -T zephyr/test/drivers/ --test external/platform/\ ec/zephyr/test/drivers/drivers.flash.page_layout Signed-off-by: Patryk Duda <pdk@semihalf.com> Change-Id: I6e1a37e7137b49983fc3447ebdc9fff73df43458 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4110952 Reviewed-by: Edward Hill <ecgh@chromium.org> Reviewed-by: Bobby Casey <bobbycasey@google.com> Tested-by: Patryk Duda <patrykd@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Patryk Duda <patrykd@google.com>
* zephyr/test/drivers: Add flash page layout test variantPatryk Duda2023-01-112-20/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce drivers.flash test variant with CONFIG_PLATFORM_EC_USE_ZEPHYR_FLASH_PAGE_LAYOUT enabled. If the option is enabled, we use Zephyr's flash page API to get information about flash sectors, sizes, etc. instead of providing these information in EC. Since the API provides flash sector description, we only support flash info version 2 host command. Also output from "flashinfo" command is slightly different. BUG=b:239712345 BRANCH=none TEST=./twister -v -i -T zephyr/test/drivers/ --test external/platform/\ ec/zephyr/test/drivers/drivers.flash.page_layout Signed-off-by: Patryk Duda <pdk@semihalf.com> Change-Id: I1f459232f6bc1c786e8c16bf2537f68229b90862 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4118762 Reviewed-by: Bobby Casey <bobbycasey@google.com> Commit-Queue: Patryk Duda <patrykd@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Tested-by: Patryk Duda <patrykd@google.com>
* shim/src/flash: Add functions for providing flash sectors infoPatryk Duda2023-01-115-0/+206
| | | | | | | | | | | | | | | | | | | | | Introduce Zephyr counterparts of functions that provide information about flash sectors, total number of sectors, size of array to describe sector types, etc. These functions use Zephyr flash pages API. To use functions, enable PLATFORM_EC_USE_ZEPHYR_FLASH_PAGE_LAYOUT config. BUG=b:239712345 BRANCH=none TEST=zmake build -a --clobber Signed-off-by: Patryk Duda <pdk@semihalf.com> Change-Id: I9ee9a8f36401e4643adfa150c745ba502b72c36a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4030378 Tested-by: Patryk Duda <patrykd@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Patryk Duda <patrykd@google.com>
* flash: Introduce functions for filling flash regions infoPatryk Duda2023-01-112-24/+72
| | | | | | | | | | | | | | | | | | | | | | | EC_CMD_FLASH_INFO requires flash_bank_array to be defined if flash banks have different size. When using Zephyr the array is not available. In this case we should use the Zephyr flash API. Moving code that depends on flash_bank_array will make easier to to enable support for variable bank sizes in CrosEC with Zephyr. The change also makes existing code easier to read and understand. BUG=b:239712345 BRANCH=none TEST=make buildall -j Signed-off-by: Patryk Duda <pdk@semihalf.com> Change-Id: I4da19c3c302a9b64cfa4c851b3bdac10b7c438d5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3932162 Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Patryk Duda <patrykd@google.com> Tested-by: Patryk Duda <patrykd@google.com>
* util: Improve uart_stress_tester.pyEdward Hill2023-01-111-1/+1
| | | | | | | | | | | | | | | | Ignore UTF8 decode errors when reading UART output. We don't care what data is read while flushing during setup, and any errors during the test will still be detected and reported. BUG=b:227228605 BRANCH=none TEST=uart_stress_tester.py -t 10 -d <raw_ec_uart> <raw_cpu_uart> Change-Id: Ie12a3d8a4259f50ec38a85777ae0932f56e4dff1 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4153075 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Mark Hasemeyer <markhas@google.com>
* body_detection: Remove get_resolutionGwendal Grignou2023-01-113-20/+6
| | | | | | | | | | | | | | | | | EC accelerometer drivers already pad data from sensors when resolution is less than 16 bits. No more resolution processing is needed when measuring body activity. BUG=b:262680246 BRANCH=none TEST=Unit test. Change-Id: Iff7df3915e855e25abc287a3c2caa477fd678f27 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4148783 Reviewed-by: Diana Z <dzigterman@chromium.org> Tested-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* PRESUBMIT: add a presubmit to check for unnecessary Kconfig optionsFabio Baltieri2023-01-114-0/+517
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a presubmit to read the current Kconfig options and check any project config file for options that are set automatically from devicetree nodes and can be removed. Example error: ERROR: zephyr/program/nissa/xivur/project.conf:7: unnecessary config option CONFIG_PLATFORM_EC_FAN=y (depends on DT_HAS_CROS_EC_FANS_ENABLED && PLATFORM_EC) BRANCH=none BUG=none TEST=manually, creating test CLs TEST=./util/check_zephyr_project_config.py -d $( find -name '*.conf' ) TEST=./util/check_zephyr_project_config.py -d $( find -name '*.overlay' ) TEST=./util/check_zephyr_project_config.py -d $( find -name '*_defconfig' ) TEST=./util/check_zephyr_project_config_unittest.py Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I55c224b9bf96d6768460c182d2f11b6d33dcbab0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4126617 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* clang-format: reformat few files with the current llvm releaseFabio Baltieri2023-01-115-9/+9
| | | | | | | | | | | | | | | | Looks like the current llvm release changes the clang-format output for few files, which is currently breaking CI and blocking any merging. Rerun clang-format -i on the affected files. BRANCH=none BUG=b:265098403 TEST=./util/check_clang_format.py Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Ife808c4f24d9c2469d2addda8af209c695cee1e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4154893 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Alexander Hartl <alexanderhartl@google.com>
* cq: Omit host and .d files from build artifactsJeremy Bettis2023-01-111-1/+3
| | | | | | | | | | | | | | | | | The script was excluding o.d files, but many of the .d files were not .o.d. Also omit the host directory, because it's all tests. BRANCH=None BUG=None TEST=Ran before and after change, compared artifacts. Change-Id: I50b5e0e16b47194f62b4b43f4576fd010576da4a Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4148770 Reviewed-by: Peter Marheine <pmarheine@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* test: Disable ASAN for 2 functionsJeremy Bettis2023-01-102-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | These two functions return a pointer to memory on the stack, which is very naughty and ASAN catches that. However, this is intended to see if the compiler optimizes out "unnecessary" writes to data that will "clearly" never be used again, since it's on the stack. Disable ASAN on these functions to prevent the compiler from being too smart. BRANCH=None BUG=b:264432260 TEST=make clobber -j$(nproc) && \ make runtests -j$(nproc) && \ make -j$(nproc) tests-bloonchipper tests-dartmonkey && \ make clobber -j$(nproc) && \ make -j$(nproc) TEST_ASAN=y runtests && \ echo SUCCESS Change-Id: If1ca3a6c97f34021b99dd246858ac3a3be7692a8 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4136969 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* run_device_tests.py: Handle UnicodeDecodeErrorAndrea Grandi2023-01-101-2/+4
| | | | | | | | | | | | | | | | | | In some tests, the FPMCU ouputs log messages that are causing UnicodeDecodeError exceptions because they cannot be decoded. Instead of crashing the test, handle these exception more gracefully by printing the FPMCU log as-is. BUG=b:264674276 TEST=test/run_device_tests.py -b bloonchipper -t abort BRANCH=none Change-Id: I7b8bbc5da650a48b8e206dc72dd9756659af0f3c Signed-off-by: Andrea Grandi <agrandi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4149567 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* chgstv2: optimization battery protection for low voltageTang Qijun2023-01-103-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | Deep_charge_battery needs to precharge first, and then enter the idle or charge state. Because before entering deep_charge_battery, the curr.state state may be the idle state, which may cause no precharge process. Therefore, add a flag to curr.batt.flags for record whether the precharge process has been performed. BRANCH=trogdor BUG=b:263921114 TEST=After the battery is discharged below voltage_min, the charging process enters deep_charge_battery and precharges first, and when the battery voltage is greater than voltage_min, it enters the charge state and charges normally. TEST=run-battery_get_params_smart Change-Id: I3a353bbcb4149b873176006bc009fbd3e8824aab Signed-off-by: Tang Qijun <qijun.tang@ecs.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4125706 Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Bob Moragues <moragues@chromium.org>
* zephyr: it8xxx2: Include the separated dtsi fileTim Lin2023-01-105-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some device nodes have been separated from it8xxx2.dtsi to it81xx2.dtsi, so these boards need to include the separated dtsi file. Depend: https://github.com/zephyrproject-rtos/zephyr/pull/53512 Cq-Depend: chromium:4147373 BRANCH=none BUG=none TEST=zmake build it8xxx2_evb --clobber TEST=Change zephyr_board(project/it8xxx2_evb/BUILD.py) to the following chip version: zephyr_board="it81202bx" zephyr_board="it81302bx" zephyr_board="it81202cx" zephyr_board="it81302cx" Change-Id: I60756e07373b16c9aeb6740913ea323137161cd9 Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3936234 Reviewed-by: Tristan Honscheid <honscheid@google.com> Tested-by: Tristan Honscheid <honscheid@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Tristan Honscheid <honscheid@google.com>
* chargesplash: EC_CMD_CHARGESPLASH set response sizeTim Van Patten2023-01-101-0/+6
| | | | | | | | | | | | | | | | Set the response size for the host command EC_CMD_CHARGESPLASH. This fixes a bug where the response size was not being set, so invalid data was being returned to the caller in the AP. BRANCH=none BUG=b:228370390 TEST=Manually verify EC_CMD_CHARGESPLASH returns good data. Change-Id: Ie4eec077a602e122623de34ced2f8ba06c5dcd6f Signed-off-by: Tim Van Patten <timvp@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4118803 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* markarth: Modify GPIO configLeila Lin2023-01-102-0/+5
| | | | | | | | | | | | | | | | | | Add markarth-specific GPIO_LID_SW for lid switch. LOW_COVERAGE_REASON=no unit tests for Markarth yet, b/247151116 BUG=b:264208874 BRANCH=none TEST=zmake build Markarth success Change-Id: I2559ec953a6047622b1f923ad6e1e38836709165 Signed-off-by: Leila Lin <leilacy_lin@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4135919 Commit-Queue: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com> Reviewed-by: Chao Gui <chaogui@google.com> Tested-by: LeilaCY Lin <leilacy_lin@compal.corp-partner.google.com.test-google-a.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com>
* nissa: remove charger minimum current limitPeter Marheine2023-01-101-1/+0
| | | | | | | | | | | | | | | | | | | This will prevent standby power exceeding USB-PD limits during voltage transitions, removing the incorrect behavior inherited from most older boards. BUG=b:163093572 TEST=Verified charging continues to work on craask, and observed current limits dropping to 125 mA when VBUS changes to or from 20V (then returning to negotiated limits after the transition). BRANCH=nissa Signed-off-by: Peter Marheine <pmarheine@chromium.org> Change-Id: Ia904962c42d252697d0ea0192a214d08a8b8dd36 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4032447 Commit-Queue: Andrew McRae <amcrae@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrew McRae <amcrae@google.com>
* cq: Clean host dir before building with ASANJeremy Bettis2023-01-101-1/+8
| | | | | | | | | | | | | | | | | | | | | | | Since adding TEST_ASAN=y doesn't change the output directory, it will reuse existing .obj files that were not built with ASAN. Delete build/host before running tests with ASAN. Add -u option to python3 command to flush all print statements immediately. BRANCH=None BUG=b:257393779 TEST=cq dry run Change-Id: Ie0b636d49cc9382793b0a0d62111b13dadb34928 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4136960 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* zephyr: fwid: Move RW FWID to end of the flashKeith Short2023-01-105-11/+48
| | | | | | | | | | | | | | | | | | | | | | Force the RW_FWID to always reside in the last 32 bytes of the flash. This ensures that the RW_FW and RW_FWID sections never move within the full EC binary. The FMAP is only stored in RO, so this ensures future compatibility with RW firmware image size changes. BUG=b:264229880 BRANCH=none TEST=Run "futility dump_fmap ec.bin" and verify RW_FWID is located in last 32-bytes. TEST=On Herobrine, validate EC sync and validate FMAP manifest when the RO and RW images are different versions. Change-Id: I2d96d602f37ca9fafe4d01cbf1a578e20861abaa Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4143799 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* SBS: Make battery_get_params clear flags selectivelyDaisuke Nojiri2023-01-104-21/+62
| | | | | | | | | | | | | | | | | | | | | | | Currently, battery_get_params clear all flags in batt.flags. This patch makes the function clear only the flags which are explicitly set or unset by battery_get_params. With this change, the charger task can add a flag to batt.flags. There isn't yet functionality change by this patch. BUG=b:263921114 BRANCH=None TEST=run-battery_get_params_smart run-sbs_charging_v2 TEST=./twister -i --toolchain host -s \ external/platform/ec/zephyr/test/drivers/drivers.default Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I5708ab6de81bc0a7c28961b13960fd89460b2e1c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4136966 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Commit-Queue: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Bob Moragues <moragues@chromium.org>
* zephyr: Reset battfake after every testDaisuke Nojiri2023-01-091-1/+7
| | | | | | | | | | | | | | | | This patch makes smart battery tests disable battfake after each test. BUG=None BRANCH=None TEST=./twister -i --toolchain host -s \ external/platform/ec/zephyr/test/drivers/drivers.default Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I1869fa848fcd52d1ea8731d256fb3b72e741e51f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4143800 Commit-Queue: Tristan Honscheid <honscheid@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tristan Honscheid <honscheid@google.com>