summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* kukui: drop CONFIG_GESTURE_DETECTIONfirmware-kukui-12573.BEric Yilun Lin2022-11-243-31/+0
| | | | | | | | | | | | | | | The config is not enabled in the kernel side, and also this config causes a DIV_0 exception. BUG=b:260015378 TEST=make BOARD=krane,kakadu,katsu BRANCH=none Change-Id: I1a59f8f32515eb07009d1f25fd534c017b8365c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4050003 Commit-Queue: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* tablet_mode: ensure that tablet mode is always initializedJett Rink2022-11-181-47/+54
| | | | | | | | | | | | | | | | | | | | | | | The board init should ensure that tablet_mode is always set so the rest of the subsystems can rely on this. We assume notebook mode if we don't have any input from the GSR 360 hall sensor. That matches the default up in AP firmware as well. BRANCH=none BUG=b:141494453,chromium:1010343 TEST=put arcada at 200 degrees and see that tablet mode it initialized correctly. Change-Id: I4e23d3ba149f9add84f9667a5af676803cf50da5 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1845779 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> (cherry picked from commit 9e2fc248a49d7c4ee7f6bf030586a5adf584052f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4033809 Tested-by: Devin Lu <devin.lu@quantatw.com> Reviewed-by: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* common: motion: fix races at shutdownGwendal Grignou2022-10-181-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not use collection_rate blindly after a function may have slept: the HOOK task could have run suspend() or suspend() call and set it to 0. Fixes 104f5257 ("motion: Control on which task sensor setting functions are running on") [CL:2553347] Conflicts: common/motion_sense.c: Remove indentation that must have happen at merge. BUG=b:176918310, b:170703322, b:251069579 BRANCH=kukui TEST=unit test. Change-Id: I9ef13ceca195db4b48866f1e53f9408fb2bbf595 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2616137 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit ea99e40f31445e67659c09b32cab6857cad8b83e) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3961714 Commit-Queue: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Eric Yilun Lin <yllin@google.com>
* kukui,jacuzzi: enlarge charger_task stackEric Yilun Lin2022-10-0715-15/+15
| | | | | | | | | | | | | | | | There are stack-overflow reports from charger_task, so increase the stack size to fix the issue. BUG=b:251358195 TEST=build kukui/jacuzzi boards BRANCH=kukui Change-Id: Id7c2fb5b5e096495135f9078dde6d398fb813b62 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3936231 Commit-Queue: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Tested-by: Eric Yilun Lin <yllin@google.com>
* Reland "burnet: Replace 2nd source base accel sensor"Devin Lu2022-08-052-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 16c33884cc8a18f40d8e2807f16d193bf1d262e5. Reason for revert: b/230553688 Original change's description: > Revert "burnet: Replace 2nd source base accel sensor" > > This reverts commit d2206be4f40f4d8e567b5b3999d3c49b9cf72e69. > > Reason for revert: deprecate ICM-42607 and resume ICM-40608 > > Original change's description: > > burnet: Replace 2nd source base accel sensor > > > > This patch replaces 2nd source base accelerometer to ICM-42607. > > > > BUG=b:230553688 > > BRANCH=firmware-kukui-12573.B > > TEST=On Burnet. Sensor works. > > > > Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> > > Change-Id: Ia5456f2f87d644821371ac0ffdea16c07a5c3fff > > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3508936 > > Reviewed-by: Eric Yilun Lin <yllin@google.com> > > (cherry picked from commit 2d90081520b78e1124688c914cd03b26aa543d8c) > > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3611264 > > Commit-Queue: Eric Yilun Lin <yllin@google.com> > > Bug: b:230553688 > Change-Id: I0aeb0a5fe9c86029e0e22da1a87123da3b99816f > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3737696 > Tested-by: Devin Lu <devin.lu@quantatw.com> > Reviewed-by: Ting Shen <phoenixshen@chromium.org> > Commit-Queue: Devin Lu <devin.lu@quantatw.com> Bug: b:230553688 Change-Id: I30677851c02f0bd7ef9fa9f44d72aa295381da5e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3811076 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Tested-by: Devin Lu <devin.lu@quantatw.com> Commit-Queue: Devin Lu <devin.lu@quantatw.com>
* burnet: Fix SPI NSS leakage on S5Devin Lu2022-07-041-0/+2
| | | | | | | | | | | | | | | | Pull low the SPI_NSS to prevent leakage on S5. BUG=b:173647487 BRANCH=firmware-kukui-12573.B TEST=On Burnet. No leakage on sensor SPI. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I4f15b019dc16913e98b0cc2a0050dd6c7847afdf (cherry picked from commit 62a09a67ce1ca8f3485d4b2ba68c31ecf5110be9) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3742842 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Tested-by: Devin Lu <devin.lu@quantatw.com> Commit-Queue: Devin Lu <devin.lu@quantatw.com>
* Revert "burnet: Replace 2nd source base accel sensor"Devin Lu2022-06-302-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d2206be4f40f4d8e567b5b3999d3c49b9cf72e69. Reason for revert: deprecate ICM-42607 and resume ICM-40608 Original change's description: > burnet: Replace 2nd source base accel sensor > > This patch replaces 2nd source base accelerometer to ICM-42607. > > BUG=b:230553688 > BRANCH=firmware-kukui-12573.B > TEST=On Burnet. Sensor works. > > Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> > Change-Id: Ia5456f2f87d644821371ac0ffdea16c07a5c3fff > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3508936 > Reviewed-by: Eric Yilun Lin <yllin@google.com> > (cherry picked from commit 2d90081520b78e1124688c914cd03b26aa543d8c) > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3611264 > Commit-Queue: Eric Yilun Lin <yllin@google.com> Bug: b:230553688 Change-Id: I0aeb0a5fe9c86029e0e22da1a87123da3b99816f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3737696 Tested-by: Devin Lu <devin.lu@quantatw.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Devin Lu <devin.lu@quantatw.com>
* bmi260: Fix bmi260 config bin file pathDavid Huang2022-06-291-1/+1
| | | | | | | | | | | | | | Fix bmi260 config bin file path BUG=none BRANCH=kukui TEST=Make buildall -j success when define CONFIG_ACCELGYRO_BMI260. Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com> Change-Id: I39d0ba5f398b154bc451f3a409cb1086e06928e9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3734208 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* Damu: Enable CONFIG_SMART_BATTERY_OPTIONAL_MFG_FUNCMichael5 Chen12022-05-181-0/+3
| | | | | | | | | | | | | | | | | | | | | Enable CONFIG_SMART_BATTERY_OPTIONAL_MFG_FUNC BUG=b:228360450 BRANCH=kukui TEST=make buildall Run command "ectool i2cread 16 2 0x16 0x3c" Run command "ectool i2cread 16 2 0x16 0x3d" Run command "ectool i2cread 16 2 0x16 0x3e" Run command "ectool i2cread 16 2 0x16 0x3f" Run command "ectool i2cxfer 2 0x0b 2 0x70" Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: I1eb489c5202f61094d5b473b57cc0c2496dc6c0e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3595414 Reviewed-by: Eric Yilun Lin <yllin@google.com> (cherry picked from commit 6e19d4d616d301dc82ef96ee50593ff5a22c26f5) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3650294 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* virtual_battery: Support Battery MFG function and manufacture infoMichael5 Chen12022-05-173-0/+27
| | | | | | | | | | | | | | | | | Add Battery MFG function and manufacture info (0x70) BUG=b:228360450 BRANCH=kukui TEST=make BOARD=damu Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: I81c73c468de170dac1ef141514cabbc30bf97536 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3595402 Reviewed-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 7d03da76a7360483a00c499532cac0c3375067c3) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3644394 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* katsu: support AC connect/disconnect wake sourcewen zhang2022-05-172-0/+16
| | | | | | | | | | | | | | | | | | Enable the AC connect/disconnect events to wake up host BUG=b:230778126 BRANCH=kukui TEST=1.manually test pass 2.autotest-power_WakeSources pass Change-Id: I8dc5c67b925c5696a1f20c4dad2fb140dcd76a34 Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3631794 Reviewed-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Xuxin Xiong <xuxinxiong@huaqin.corp-partner.google.com> (cherry picked from commit 6101ae964969d6d6e9b307531c3d6f218aca93d8) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3636626 Reviewed-by: zanxi chen <chenzanxi@huaqin.corp-partner.google.com>
* chgstv2: rework "charge_command_charge_control()"Tommy Chung2022-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Condition of judging whether to enable or disable the battery sustainer should be the mode host commands give, not the current chg_ctl_mode. BUG=b:194219157, b:222620437 BRANCH=none TEST=make sure that the battery sustainer will not be incorrectly enabled when giving "ectool chargecontrol discharge" or "ectool chargecontrol idle" under CHARGE_CONTROL_NORMAL mode. Signed-off-by: Tommy Chung <tommy.chung@quanta.corp-partner.google.com> Change-Id: I8a28970164a7e80805601817f2761d6684b183cf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3070328 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit f60c312dcf183fdaef40d9a32f092193f8ec89db) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3573691 Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Zhuohao Lee <zhuohao@chromium.org> Commit-Queue: Zhuohao Lee <zhuohao@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3631845 Commit-Queue: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Tested-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com>
* chgstv2/sustainer: Stop AC current when dischargingDaisuke Nojiri2022-05-091-6/+12
| | | | | | | | | | | | | | | | | | | | | | | Currently, the battery sustainer discharges the battery using CHARGE_CONTROL_IDLE, which uses the AC current and stops the current from the battery. With this change, when lower < upper, the sustainer discharges using DISCHARGE. When lower == upper, the sustainer discharges using IDLE. BUG=b:188457962 BRANCH=None TEST=run-sbs_charging_v2 Change-Id: I4af31eff488bc9cfa627f84994b685488c3c9061 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3049290 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Derek Basehore <dbasehore@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3631844 Tested-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Commit-Queue: wen zhang <zhangwen6@huaqin.corp-partner.google.com>
* chgstv2: call sustain_battery_soc without checking previous statesTommy Chung2022-05-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | When we enalbe battery sustain after battery returns that it is full, we need to add this condition for sustain_battery_soc(). Also, add this test condition for battery sustainer. BUG=b:188457962 BRANCH=none TEST=make sure the battery sustain works when enabling it after battery returns that it is full. Also, make sure that "make run-sbs_charging_v2" pass. Signed-off-by: Tommy Chung <tommy.chung@quanta.corp-partner.google.com> Change-Id: If10b9fd0264717abfb7cdbb7ddc947b370291895 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3070946 Reviewed-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3631843 Tested-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: wen zhang <zhangwen6@huaqin.corp-partner.google.com>
* Update EC_CMD_CHARGE_CONTROL to version 2Daisuke Nojiri2022-05-094-9/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Version 2 of EC_CMD_CHARGE_CONTROL can control battery sustainer. It allows the host to set the upper and lower thresholds between which the EC tries to keep the battery state of charge. Version 2 of EC_CMD_CHARGE_CONTROL also supports 'GET' request. It allows the host to query the current charge control settings. localhost ~ # ectool chargecontrol Charge mode = NORMAL (0) Battery sustainer = off (-1% ~ -1%) localhost ~ # ectool chargecontrol normal 66 66 Charge state machine is in normal mode with sustainer enabled. localhost ~ # ectool chargecontrol Charge mode = NORMAL (0) Battery sustainer = on (66% ~ 66%) localhost ~ # ectool chargecontrol normal Charge state machine is in normal mode. BUG=b:188457962 BRANCH=none TEST=Atlas. See above. Change-Id: I81ec62172b4f159c46334fc0f940a2adae3f2b8a Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2929340 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3630103 Tested-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Commit-Queue: wen zhang <zhangwen6@huaqin.corp-partner.google.com>
* chgstv2: Add battery sustainerDaisuke Nojiri2022-05-091-3/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the battery sustainer. Given a target SoC by the host, the sustainer will try to keep the SoC stay close within the range near the target. The diagram below shows how the sustainer uses the charge mode to charge or discharge the battery as the SoC moves near the target: T-d% T% ----------|----------------------|----------- charge normally charge normally/slowly (mode=NORMAL) ... ----> +---------------------> | | <----------------------+ <----- ... discharge naturally discharge normally (mode=IDLE) (mode=DISCHARGE) When AC is unplugged, the sustainer is disabled. Currently, the sustainer requires CONFIG_CHARGER_DISCHARGE_ON_AC. > chgstate state_of_charge = 69% chg_ctl_mode = NORMAL manual_voltage = -1 manual_current = -1 Battery sustainer = off (-1% ~ -1%) > chgstate sustain 70 72 state_of_charge = 69% chg_ctl_mode = NORMAL manual_voltage = -1 manual_current = -1 Battery sustainer = on (70% ~ 72%) > battfake 71 > chgstate state_of_charge = 71% chg_ctl_mode = NORMAL > battfake 73 > chgstate state_of_charge = 73% chg_ctl_mode = DISCHARGE manual_voltage = -1 manual_current = -1 > battfake 71 > chgstate state_of_charge = 71% chg_ctl_mode = IDLE manual_voltage = 0 manual_current = 0 Unplug AC and EC keeps running. > chgstate state_of_charge = 73% chg_ctl_mode = DISCHARGE manual_voltage = -1 manual_current = -1 Replug AC. > chgstate state_of_charge = 73% chg_ctl_mode = DISCHARGE manual_voltage = 0 manual_current = 0 BUG=b:188457962 BRANCH=None TEST=Atlas. See the description above. Change-Id: I62b4e8bc9517900a5a32d2f35369c645fa8a60c3 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2929347 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3630102 Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Commit-Queue: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Tested-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com>
* burnet: Add more 44W batteriesDevin Lu2022-05-052-0/+87
| | | | | | | | | | | | | | | | | This patch adds battery parameter as following: 1. DynaPack CosMX 44Wh 2. DynaPack ATL 44Wh 3. Simplo HIGHPOWER 44Wh BUG=b:231377901, b:231378635, b:231378985 BRANCH=firmware-kukui-12573.B TEST=make sure battery charging, battery cutoff works. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: Iffa28caca72a38e6f2fae2470405ac2b439c9885 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3626852 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3627375
* burnet: Replace 2nd source base accel sensorDevin Lu2022-04-282-27/+27
| | | | | | | | | | | | | | | | This patch replaces 2nd source base accelerometer to ICM-42607. BUG=b:230553688 BRANCH=firmware-kukui-12573.B TEST=On Burnet. Sensor works. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: Ia5456f2f87d644821371ac0ffdea16c07a5c3fff Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3508936 Reviewed-by: Eric Yilun Lin <yllin@google.com> (cherry picked from commit 2d90081520b78e1124688c914cd03b26aa543d8c) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3611264 Commit-Queue: Eric Yilun Lin <yllin@google.com>
* virtual battery: Write manufacturer access commandMichael5 Chen12022-04-253-1/+21
| | | | | | | | | | | | | | | | | Add battery command manufacturer data BUG=b:228360450 BRANCH=kukui TEST=make buildall Run command "ectool i2cwrite 16 2 0x16 0x00 0x0001" on damu. Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: Ic560c76cf6ccffecf0f35f4d8d8d7abaa0a6bce2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3595399 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 197da82322401ec38a181b28fb00ff37e647440b) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3601921 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* virtual_battery: Return manufacturer dataMichael5 Chen12022-04-183-0/+27
| | | | | | | | | | | | | | | | | | Add battery command manufacturer data BUG=b:228360450 BRANCH=kukui TEST=make buildall Run command "ectool i2cxfer 2 0x0b 0x05 0x23" on damu Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: Iab93801e28b0d6f32cb257c19573e6dfbdc3c3bb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3583910 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 4efe01202e6c8e5681c953732ebf3ada539c8804) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3590092 Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* kappa: Fix LGC MPPHPPFO021C battery C/DFET reading methodDevin Lu2022-03-291-4/+4
| | | | | | | | | | | | | | | | | | LGC MPPHPPFO021C chagne BMU from TI bq40z551 to Renesas RAJ240045, This patch is the correct method to read C/D FET status. BUG=b:216430224 BRANCH=firmware-kukui-12573.B TEST=On Kappa, LGC battery can be recognized. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: Iac204d59554bdc0532d39504b11b1e201bea0390 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3551998 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 600e4bac22acf5ad40cb984e49bbae6e0df04c13) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3555450 Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* bellis: Initial EC imageSiyu Qin2022-03-038-0/+1141
| | | | | | | | | | | | | | | | | | | | | Create the initial EC image for the bellis variant by copying the munna reference board EC files into a new directory named for the variant. BUG=b:220669923 BRANCH=kukui TEST=1.make BOARD=bellis -j 2.test pass on DUT Change-Id: Ib35d1fbed3cba3b0c13d437efd510c42b312fdb5 Signed-off-by: Siyu Qin <qinsiyu@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3484816 Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit dd9613f99cff45eeaab9605216b91906f5561536) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3499654 Reviewed-by: Kenny Pan <kennypan@google.com> Commit-Queue: Kenny Pan <kennypan@google.com>
* Revert "kukui: Disable uptime host command in RO"Eric Yilun Lin2022-02-221-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88b320028e803e60c97435b0f9b2de6d42a126af. Reason for revert: Fix for b:215463426 Original change's description: > kukui: Disable uptime host command in RO > > Save 512 bytes in RO flash space on Kukui platforms by disabling the > uptime host command and disabling the AP reset log. > > BUG=none > BRANCH=none > TEST=make buildall > > Signed-off-by: Keith Short <keithshort@chromium.org> > Change-Id: Ib967f0c07802ec6c08c611d0f26850072722d7dd > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2546989 > Reviewed-by: Abe Levkoy <alevkoy@chromium.org> > Reviewed-by: Eric Yilun Lin <yllin@chromium.org> > (cherry picked from commit 6539c0e6a3c110ef9313a656a01af903f73628b2) > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2562630 > Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> > Reviewed-by: Eric Yilun Lin <yllin@google.com> > Commit-Queue: Devin Lu <Devin.Lu@quantatw.com> > Tested-by: Devin Lu <Devin.Lu@quantatw.com> Bug: none Change-Id: I397a4a1eff657153b56f723496599af8625d0428 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3478981 Reviewed-by: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* driver/tcs3400: Set timestamp when emulating interruptGwendal Grignou2022-02-161-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Use the same interrupt handler for wire or emulated interrupt, so we are sure to timestamp the samples. BUG=b:218890983,b:129419982 TEST=make -j buildall Check on kukui/krane that tast test hardware.SensorIioserviceHard passes. It would fail previously with error like: "error during validation: too much delta between samples for lid cros-ec-gyro at index 174(1m52.310435376s): got 14.894431ms; want <= 7.5ms" BRANCH=kukui,asurada (cherry picked from commit c09e13ca676a25c64a66f5db2149d8e2197ffbb9) Fixes: commit ae22b703601 ("driver: add an option to emulate irq event in TCS3400") Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: I9f4deaa214abe6e8ac7a2aa6b6071a02565f8825 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3454215 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3463084
* kappa: Add LGC MPPHPPFO021C batteryDevin Lu2022-02-082-0/+29
| | | | | | | | | | | | | | | BUG=b:216430224 BRANCH=none TEST=1. Verify battery is able to charge/discharge. 2. Verify battery cutoff. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I18d0302185cf7db401ce55ee4668599e4e621c37 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3417350 Reviewed-by: Eric Yilun Lin <yllin@google.com> (cherry picked from commit 042764e36a2fcc3c1414e80fcc41e95ed8aa110f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3421909 Commit-Queue: Eric Yilun Lin <yllin@google.com>
* Juniper: pull sensor SPI_NSS to low in S5David Huang2022-01-051-0/+3
| | | | | | | | | | | | | | | | | | There is a leakage after changing the BMI160 to ICM42608 We should pull the sensor SPI_NSS to low in S5 to prevent a leakage BUG=b:175362114 BRANCH=kukui TEST=Check power consumption godd with ICM40608 and BMI160 in S5. Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com> Change-Id: I6b3732bb542cc8098fcd07b1526e057ccf5e95ee Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3337960 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 6270c3db53d72da30e894ce3a2f269928af7bb32) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3343567 Tested-by: Ting Shen <phoenixshen@chromium.org>
* kakadu/katsu: fix bugged bits in chargerTing Shen2021-12-143-5/+34
| | | | | | | | | | | | | | | | | | | | | | | | | The charger on some shipped device can not charge because a hidden bit (BYPASS_MODE) is flipped. Implement a quick fix to reset the reserved bits on these bugged devices. BUG=b:207456334 TEST=make BRANCH=kukui Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I73d7865648162f420181f4bf067502bc0226cbda Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3319466 Tested-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit ad95230a2eaa04377768b7e15bb6bfb4d4a6139b) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3336639 Auto-Submit: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* kukui: Disable uptime host command in ROKeith Short2021-10-211-0/+3
| | | | | | | | | | | | | | | | | | | | | Save 512 bytes in RO flash space on Kukui platforms by disabling the uptime host command and disabling the AP reset log. BUG=none BRANCH=none TEST=make buildall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ib967f0c07802ec6c08c611d0f26850072722d7dd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2546989 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@chromium.org> (cherry picked from commit 6539c0e6a3c110ef9313a656a01af903f73628b2) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2562630 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Devin Lu <Devin.Lu@quantatw.com> Tested-by: Devin Lu <Devin.Lu@quantatw.com>
* krane: Add motion sense config for BMI220Rong Chang2021-10-123-1/+65
| | | | | | | | | | | | | | | | | | | | Add runtime BMI220 detection using CHIP_ID register. Fallback to BMI160 sensor driver. BUG=b:193945779 BRANCH=kukui TEST='ectool motionsense' and verify lid angle. Conflicts: board/kukui/board.h: not support CONFIG_I2C_XFER_LARGE_TRANSFER Signed-off-by: Rong Chang <rongchang@chromium.org> Change-Id: Ia284cdf115e5d60bdd63a36ad82751b23eb438b3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3156315 Reviewed-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 70a4a8505a33b2ced5b9932ea4da15edbe3b396e) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214015
* bmi260: Set i2c transfer size to 128Rong Chang2021-10-121-2/+2
| | | | | | | | | | | | | | | | | | This change only applies to kukui firmware branch. To support i2c transfer with chunk large than 255 bytes, the change 8f8d017fb3 ("i2c_master: extend i2c_xfer_no_retry..") is needed. To minimize the changes needed, this CL modifies BMI260's transfer chunk size to 128. BUG=b:193945779 BRANCH=kukui TEST=emerge-kukui chromeos-ec Signed-off-by: Rong Chang <rongchang@chromium.org> Change-Id: I94e1104a6143783eb211ece3772381ba81926686 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3217480 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* rt946x: remove usb_charger_set_switches from board.hTing Shen2021-10-127-30/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since all rt946x users do not customize usb_charger_set_switches(), move this function into rt946x.c for the upcoming bc12 driver refactor. A board can customize this function using the new bc12_drv if needed. BUG=b:155611686 TEST=make buildall BRANCH=none Conflicts: board/katsu/board.c: katsu board in branch only Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I8724af15c3508b54dc131a7c99004f3f4b2f893f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2187079 Tested-by: Ting Shen <phoenixshen@chromium.org> Auto-Submit: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@chromium.org> (cherry picked from commit 5e0b69a31b5964644693952f52a6339f66c5e260) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214014 Commit-Queue: Rong Chang <rongchang@chromium.org> Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@google.com>
* driver: Add support for BMI220 sensorMike Lee2021-10-1211-16/+832
| | | | | | | | | | | | | | | | | | | | | | | | | Based on BMI260 sensor, add support for BMI220 sensor. BUG=b:188373185,b:193945779 BRANCH=dedede,kukui TEST=run factory test on storo360 Conflicts: driver/accelgyro_bmi_common.c: include/ec_commands.h: util/ectool.c: no BMI3XX/BMA4XX support util/config_allowed.txt: no zephyr support third_party/bmi220/accelgyro_bmi220_config_tbin.h: branch does not have e0bf946ced: rom resident sections Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Signed-off-by: Rong Chang <rongchang@chromium.org> Change-Id: Ifa88c7c58203ba405fde757b85570d53a27221a0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3077595 Reviewed-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> (cherry picked from commit 499d3f70351e7ab11d3b7252f1f9b0ff69aaf902) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214013
* Zephyr: Create public headers for bmi260, bma2x2, and tcs3400Hyungwoo Yang2021-10-1212-139/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | Separate out the public part of sensor headers so it can be included from Zephyr. BUG=b:175434113 BRANCH=none TEST=make buildall -j8 build volteer on zephyr Conflicts: board/volteer/sensors.c: sensors are not enabled in branch driver/accel_bma2x2.h: waddledoo add BMA253 sensor support driver/accelgyro_bmi_common.h: Makefile include path does not include include/driver Signed-off-by: Hyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com> Change-Id: I899e9aea99d6c7d56a1b6735538b280fe0735313 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2637251 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> (cherry picked from commit 6a87ebfedddef0a3d0438bcbb894e45dc16fe1e1) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214012 Commit-Queue: Rong Chang <rongchang@chromium.org> Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org>
* driver: bmi260: Use IS_ENABLED()Gwendal Grignou2021-10-123-43/+32
| | | | | | | | | | | | | | | | | | | | Add IS_ENABLED() instead of #ifdef when possible in bmi260 and bmi_common. BUG=chromium:1140877 BRANCH=none TEST=buildall Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: If8e36ed2a527e8a4ac9582a7b30fe7f7ff589a30 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2489461 Reviewed-by: Ching-Kang Yen <chingkang@chromium.org> (cherry picked from commit 2d900dc16b610703296803e438a8728036c06ea4) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214011 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* bmi260: back out support for compressed config fileKeith Short2021-10-122-175/+6
| | | | | | | | | | | | | | | | | | | | | | Now that the BMI260 config file can be moved to the .init_rom section, the simple compression scheme is no longer needed. BUG=b:160330682 BRANCH=none TEST=make buildall TEST=Verify BMI260 operation on both volteer and volteer_tcpmv1 builds using "ectool motionsense lid_angle". Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I83bbaadcd3dade2d585b771b6b9ebae7e9fdc0cb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2354194 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: caveh jalali <caveh@chromium.org> (cherry picked from commit 863a28e1c874d95853ae50900f3226e11b05cec9) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214010 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* bmi260: move BMI260 init file into .init.rom sectionKeith Short2021-10-123-17/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increases Volteer RO and RW flash spaces by 7088 bytes each. This is the net gain after including the init_rom layer. BUG=b:160330682 BRANCH=none TEST=make buildall TEST=On volteer run "ectool motionsense" and "ectool motionsense lid_angle". Verify both RO and RW images. TEST=Program RO image with predecessor CL:2311268. Program this CL into AP firmware image and verify EC software sync updates to RW image. TEST=Verify BMI260 operation with CONFIG_CHIP_INIT_ROM_REGION disabled using volteer_tcpmv1 board. Conflicts: board/eldrid/board.h: eldrid not in branch. board/volteer/board.h: sensors were not enabled. third_party/bmi260/accelgyro_bmi260_config_tbin.h: branch does not have e0bf946ced: rom resident section. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I6849b6c9e96756266528b39ab5e53268dce2a13c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2311756 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: caveh jalali <caveh@chromium.org> (cherry picked from commit 06f584a8b508e881680c222498702f5148330a3f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214009 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* init_rom: Add init_rom layerKeith Short2021-10-123-1/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | Create a thin init_rom layer for accessing data objects linked into the .init_rom section with the CONFIG_CHIP_INIT_ROM_REGION opton and __init_rom attribute. BUG=b:160330682 BRANCH=none TEST=make buildall TEST=Using the next CL, verify BMI260 config data can be read using both memory mapped and indirect access. Conflicts: include/config.h: CONFIG_CHIP_INIT_ROM_REGION not supported Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I6cd311637e87cd10ac394ff75c4bfc16bbade3b0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2335739 Reviewed-by: caveh jalali <caveh@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org> (cherry picked from commit b95587bb7a412d696f0800236bb8977d392e83b0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214008 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* bmi260: Add support for using compressed configKeith Short2021-10-122-11/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new config option CONFIG_ACCELGYRO_BMI160_COMPRESSED_CONFIG for boards that need to save space. This is intended to be a temporary option until the BMI260 config file can be read from the AP at runtime. This option saves 916 bytes in RW flash space on Volteer. BUG=b:160330682 BRANCH=none TEST=make buildall TEST=boot Volteer, run "ectool motionsense" to verify sensor data is valid. Conflicts: board/volteer/board.h: sensors were not enabled in branch. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I294e5e0c3f919527b51e6f7361e74c7bf4afc543 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2289216 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org> (cherry picked from commit 084be04a979483d93fcb6541b8424a0eecfb74a4) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3213987 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* driver: Replace BMI160 to BMI in board configChing-Kang Yen2021-10-1251-296/+250
| | | | | | | | | | | | | | | | | | | | | | | | | | Replace some macro of BMI160 to BMI version for common function of BMI series. Make board config include the accelgyro_bmi_common.h instead of accel_gyro_bmi160.h. BRANCH=None BUG=b:146144827 TEST=make buildall -j Conflicts: Changed many board.c files, which were diverted from the branch point. Some boards do not exist in this branch. Change-Id: I043ff8a92f15295ead3fa5c1e292319e2b4fa21a Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2156525 Reviewed-by: Gwendal Grignou <gwendal@chromium.org> (cherry picked from commit 557dafbacbc61cd4c5dec9f27ead4ea17b67aac6) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3115727 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* board: sensor: remove identity matricesGwendal Grignou2021-10-125-59/+11
| | | | | | | | | | | | | | | | | | | Use NULL instead of defining an identity matrix. BUG=none BRANCH=none TEST=make buildall Change-Id: I9aad9f2de162cb10a25ae51561ca4949521a1f9b Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1995023 Reviewed-by: Edward Hill <ecgh@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> (cherry picked from commit 1e3197dd934a18a5d6bd7f67f1e9c3a5ffe1b1eb) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193840 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* driver: bmi: Merge list_activities in common codeGwendal Grignou2021-10-124-24/+14
| | | | | | | | | | | | | | | | | | | | | | | | | Put list_activities in common code, as it is used by both BMI160 and BMI260 driver. Fixes cb3771973de ("Coachz: MotionSensor: Avoid redefine gesture function list_activites") Fixes fc298a0ada0 ("driver: bmi260: integrate body detection") BUG=b:195908820 BRANCH=trogdor TEST=buildall Conflicts: driver/accelgyro_bmi_common.c: 851daf728d: motion orientation interface Change-Id: I05591954c825802502328c842b03e8934c497f08 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3150056 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 8b37b17df0b8946763b1da984c64c51418a6b381) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3213986 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* Coachz: MotionSensor: Avoid redefine gesture function list_activitespengjunhao52021-10-122-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is for motion sensor combine(BMI160 & BMI260),Avoid redefine gesture function `list_activites`. BUG=b:195908820 TEST=make -j BOARD=coachz Verify build on SIT board BRANCH=Trogdor Signed-off-by: pengjunhao5 <pengjunhao5@huaqin.corp-partner.google.com> Reviewed-by: tongjian <tongjian@huaqin.corp-partner.google.com> Reviewed-by: yudengwu <yudengwu@huaqin.corp-partner.google.com> Change-Id: If31442d0c00745d124b20188b4e5fad8a9a1d173 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3133188 Reviewed-by: Jian Tong <tongjian@huaqin.corp-partner.google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> (cherry picked from commit cb3771973de86c9af21d9bc349d2db733283df43) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3213985 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* Drallion: Fix Upside/down orientation when portrait modeantony_wang2021-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Fix Matrix to rotate lid sensor into standard reference frame BUG=b:144569069 make BOARD=drallion_ish and copy ec.bin to /lib/firmware/intel/drallion_ish.bin Verify by rotate DUT. Make sure correct direction. Change-Id: I703317aa71c44f24e28cba7eb7714d69513b654a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1923631 Reviewed-by: Selma Bensaid <selma.bensaid@intel.corp-partner.google.com> Reviewed-by: Mathew King <mathewk@chromium.org> Reviewed-by: Antony Wang <antony_wang@compal.corp-partner.google.com> Tested-by: Mathew King <mathewk@chromium.org> Tested-by: Antony Wang <antony_wang@compal.corp-partner.google.com> (cherry picked from commit 33f19f541ddaede5aef57998793cad7e3fcc4bd1) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193839 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Rong Chang <rongchang@chromium.org>
* drallion_ish: correct lid accelerometer rotation matrixJack Rosenthal2021-10-121-2/+2
| | | | | | | | | | | | | | | | | | Z axis was inverted. BUG=b:140311300 BRANCH=none TEST=use ectool to verify sane values at various lid angles Change-Id: I48863fc336474f34e123ee37f495aff35251b111 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1881930 Reviewed-by: Mathew King <mathewk@chromium.org> (cherry picked from commit 0f6d238844a75756e660959a0c2051f397682ae6) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193838 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* board: Set Accelerometer range to 4gGwendal Grignou2021-10-1240-66/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Required by Android CDD - Section 7.3.1 - Paragraph C.1.4 Modified mechanically with: for i in $(grep -lr "\.default_range" board); do sed -i '/.default_range =/s#\(.*\.default_range = \).* /\ \* g.*#\14, /* g, to meet CDD 7.3.1/C-1-4 reqs */#' $i done Manually reworked to only change the accelerometer that matters to android: The lid accelerometer or the base accelerometer if the base also hosts the gyroscope. This is only for future EC, no need to land the change on branches: mems_setup will take care to set accelerometer ranges at 4g on startup. BUG=b:144004449 BRANCH=none TEST=compile Conflicts: boards not in branch Change-Id: If8c14b2e928c9c70c0ce51451adcfcd674a9e73b Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1957375 Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Alexandru M Stan <amstan@chromium.org> (cherry picked from commit 992810a77dd3698e69bcedd84f8259a08a753cb9) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193837 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* board: Set min/max frequency attributesGwendal Grignou2021-10-129-2/+24
| | | | | | | | | | | | | | | | | | | | On some boards, min_/max_frequency attributes were not set, esp. for kx022 acceleometers. BUG=b:145799480 BRANCH=octopus,coral TEST=compile Change-Id: I6d32926541505f02f183539ca3ad9f70c1ae7a6b Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1957374 Reviewed-by: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 6f96b488deffa19f7fc0075ed586410c32f3a379) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193836 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@chromium.org>
* driver: bmi260: integrate body detectionGwendal Grignou2021-10-091-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Body detection is accelerometer agnostics. It was added in BMI260, but not finalized. Add list_activity function to enable/disable body detection. BRANCH=volteer BUG=b:195908820 TEST=Check cros-ec-activity is loaded. Enable proximity event: echo 1 > events/in_proximity_change_either_en Load iio_event_monitor, check we get events when moving device on lap to floor: Event: time: 925239910373, type: proximity, channel: 0, evtype: change, direction: falling Event: time: 945020001791, type: proximity, channel: 0, evtype: change, direction: rising ... Conflicts: driver/accelgyro_bmi260.c: CONFIG_BODY_DETECTION not support Change-Id: I423c7044761d2addac36d435781ea19c1f1b18ed Signed-off-by: Gwendal Grignou <gwendal@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3097151 Tested-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Ching-Kang Yen <chingkang@chromium.org> Commit-Queue: Gwendal Grignou <gwendal@chromium.org> (cherry picked from commit fc298a0ada0350ae9cb2dab21e790efb4d8c4a36) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3143632 Tested-by: Rong Chang <rongchang@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* driver: Add BMI260 basic driver supportChing-Kang Yen2021-10-0213-53/+1721
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add BMI260 accel/gyro driver code. Be able to do initial configuration, start up sensor, config interrupt and fifo, perform calibration, and access the sensor data from AP. BRANCH=None BUG=b:146144827 TEST=make -j4 BOARD=volteer \ && flash_ec --image build/volteer/ec.bin --board volteer Then, check sensor data is available on DUT by "ectool motionsense". TEST=make buildall -j TEST=tast run ${IP} hardware.SensorRing Conflicts: common/build.mk: include/config.h: include/ec_commands.h: ICM-42607 driver support landed earlier Cq-Depend: chromium:2148802 Change-Id: I5124ee8359a74f98cfe8d26da640325f5e00cb15 Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2086534 Reviewed-by: Gwendal Grignou <gwendal@chromium.org> (cherry picked from commit 00b4226613aa84f9734a22e50acd4d7ede960cc1) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3115728 Tested-by: Rong Chang <rongchang@chromium.org> Tested-by: Gwendal Grignou <gwendal@chromium.org> Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
* driver: Add BMI common codeChing-Kang Yen2021-10-0210-976/+1347
| | | | | | | | | | | | | | | | | | | | | | | | | Add accelgyro_bmi_common.(c/h) for the code shared among the BMI. BRANCH=None BUG=b:146144827 TEST=make -j4 BOARD=ampton Then, flash the ec.bin into DUT, check sensor data is available on DUT by "ectool motionsense". TEST=make buildall -j Conflicts: driver/accelgyro_bmi160.h: c3dcd28268 ("Fix ODR to REG ...") include/config.h: Zephyr eSPI virtual wire, TCPMv2 config options Change-Id: Ia56ffb0896943b08640b3d6ca96324ac5e7d93a0 Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2130146 Reviewed-by: Gwendal Grignou <gwendal@chromium.org> (cherry picked from commit 86be30f5c4220112c6303c176f12096151285515) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3115726 Tested-by: Rong Chang <rongchang@chromium.org> Tested-by: Gwendal Grignou <gwendal@chromium.org> Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
* driver: bmi160: Implement temperature readingYuval Peress2021-10-021-0/+6
| | | | | | | | | | | | | | | | | | | BUG=b:138303429,chromium:1023858 BRANCH=None TEST=buildall Change-Id: I1a1fd0f0cf9fd4d4d85d537ecf0e1ace76d3e196 Signed-off-by: Yuval Peress <peress@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1867224 Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> (cherry picked from commit 32412de5fe36815e828302d6d8279d687a3dddf0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3193835 Reviewed-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Yuval Peress <peress@google.com> Tested-by: Rong Chang <rongchang@chromium.org> Tested-by: Gwendal Grignou <gwendal@chromium.org> Commit-Queue: Gwendal Grignou <gwendal@chromium.org>