summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* common: motion: fix races at shutdownfirmware-12573.191.BGwendal 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/+/3960781 Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com>
* stm32/spi: disable DMA TX if it's not needed.Eric Yilun Lin2020-12-311-3/+12
| | | | | | | | | | | | | | | | This CL disable DMA TX when SPI NSS high, which means SPI client stops and won't receive any contents. Also, disable DMA on receiving SPI (spi_init) because there is no TX on SPI NSS just deasserted. BUG=b:156027159, b:173732816 TEST=run reboot test BRANCH=kukui Change-Id: Ia86a8728056f651db4b481eca4717b506f84498e Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2600811 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
* Cerise: Modify DC S3 Batled behaviorMike Lee2020-12-301-2/+2
| | | | | | | | | | | | | | Change DC S3 Batled 1s on/3s off BUG=b:176501689 BRANCH=firmware-kukui-12573.B TEST=test firmware branch, DC S3 batled behavior ok Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I83b99abe3153a603637434d8356470abd21d02b6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2607034 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* hatch_fp/nocturne_fp: Specify RSA_KEY_SIZE in RW and ROTom Hughes2020-12-303-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rsa.h header can be included by any file, regardless of whether CONFIG_RSA is enabled. In that case we still want RSA_KEY_SIZE and CONFIG_RSA_EXPONENT_3 to be correct for the board. The following boards already set CONFIG_RSA_KEY_SIZE outside of RO/RW * kalista * endeavour * fizz * puff BRANCH=none BUG=b:144958737 TEST=make buildall -j TEST=diff build/<hatch_fp,nocturne_fp,hammeri,nucleo-h743zi>/ec.bin with and without the change => same Change-Id: I7e565e25b06b0d36e28ae32934b1f65b382e5b66 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1999606 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2607029 Tested-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* common/vboot: Add rwsig info commandTom Hughes2020-12-306-13/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rwsig info command provides additional details on the verified boot key used to sign the RW firmware. The information about the key can be used by factory tests to validate that the factory is flashing firmware that is signed by the expected key. In addition, we refactor the "rwsig"-related commands into a generic "rwsig" command that takes additional subcommands. This allows adding an "rwsig dump" command that allows displaying individual fields, which is useful in scripts and tests. "rwsigstatus" becomes "rwsig status" "rwsigaction" becomes "rwsig action" The old commands are preserved for backward compatibility. BRANCH=none BUG=b:144958737 TEST=(kohaku) $ ectool --name=cros_fp rwsig info TEST=(kohaku) $ ectool --name=cros_fp rwsig dump key_id TEST=(kohaku) $ ectool --name=cros_fp reboot_ec; sleep 0.5; ectool --name=cros_fp rwsig action abort; sleep 2; ectool --name=cros_fp version | grep "Firmware copy" => Firmware copy: RO TEST=On dragonclaw v0.2 console: rwsiginfo Change-Id: Ib0ee4be33e6636ff702eeaef941cc3abed0594cb Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1999607 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2607028 Tested-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* build_assert: use _Static_assertJett Rink2020-12-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have compiler support for _static_assert, so we should use it. Also allow for an option message in BUILD_ASSERT that will display as a part of the failure. Here is an example of a compile failure with the optional message ... CC RW/chip/npcx/gpio.o CC RW/chip/npcx/header.o In file included from include/common.h:13, from include/adc.h:11, from board/phaser/board.c:8: include/compile_time_macros.h:13:2: error: static assertion failed: "board/phaser/board.c:74: Size mismatch" _Static_assert(cond, file ":" #line ": " msg) ... BRANCH=none BUG=none TEST=verified by manually update BUILD_ASSERTS and viewing output. Change-Id: I6421084868ea81be8b3fa6ad0613730f4e4e149b Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1950820 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2607027 Tested-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* Revert "kukui: do not boot AP if low-battery and no charger"Eric Yilun Lin2020-12-301-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fbf183f3109d07922fcec6e5a59efaf0788e1962. Reason for revert: regression fail on FAFT firmware_ECPowerButton Original change's description: > kukui: do not boot AP if low-battery and no charger > > BUG=b:134101454 > TEST=#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 96; > at batt 93%, no adapter, powerbtn, stay at G3 > at batt 93%, with adapter, powerbtn, boot to S0 > at batt 97^, without adapter, powerbtn, boot to S0 > BRANCH=kukui > > Change-Id: Ib0ee742ccd1f04aaa173a34455c1333853e0ce50 > Signed-off-by: Eric Yilun Lin <yllin@chromium.org> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2597121 Bug: b:134101454 Change-Id: I2c05ccd193d4794100498860f4df33064928e08d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2607030 Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@chromium.org> Tested-by: Eric Yilun Lin <yllin@chromium.org>
* Katsu: Initial EC imagewen zhang2020-12-306-0/+885
| | | | | | | | | | | | | | | | | | The starting point for the Katsu EC image BUG=b:176393211 BRANCH=firmware-kukui-12573.B TEST=make BOARD=katsu Change-Id: Iebb3b8cfbc824d9792a59749ddb69577fda93dec Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2604805 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Shou-Chieh Hsu <shouchieh@chromium.org> (cherry picked from commit 154d1112d228a366d008e25aa78d71a71bab9028) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2606177 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* chip/stm32/usb_hid_keyboard: Implement HID GET_REPORTNicolas Boichat2020-12-242-0/+18
| | | | | | | | | | | | | | | | | | | Implement HID GET_REPORT with INPUT type. BRANCH=nocturne,kukui BUG=b:174539061 TEST=With associated kernel CL: cd /sys/bus/usb/drivers/usbhid echo 1-1.1:1.0 > unbind; echo 1-1.1:1.0 > bind Change-Id: If62c92e55fa5454116816681c2ab46d5e796c4b5 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2578620 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit a3113149a50a82c38316d4813b41e5068ad17362) [kukui branch backport: No Vivaldi feature on kukui branch: resolve conflicts and add macros in usb_hid.h.] Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2600812
* damu: Fix LED behavior under suspend.Michael5 Chen2020-12-231-1/+2
| | | | | | | | | | | | | | | | | Depend on marketing spec. modify LED behavior under suspend. BUG=b:175920421 BRANCH=kukui TEST=check LED behavir Signed-off-by: Michael5 Chen <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: Ife6c8823dd99d96e568d32abee4d630dc901f6f4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2600425 Reviewed-by: Paul2 Huang <paul2_huang@pegatron.corp-partner.google.com> Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org> (cherry picked from commit 63a9c5feb7261839f6f9bd39c2c0f30db9c84c81) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2600806
* kukui: do not boot AP if low-battery and no chargerEric Yilun Lin2020-12-221-0/+19
| | | | | | | | | | | | | BUG=b:134101454 TEST=#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 96; at batt 93%, no adapter, powerbtn, stay at G3 at batt 93%, with adapter, powerbtn, boot to S0 at batt 97^, without adapter, powerbtn, boot to S0 BRANCH=kukui Change-Id: Ib0ee742ccd1f04aaa173a34455c1333853e0ce50 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2597121
* Fennel: Add battery quick charge mode in S3/S5/G3Mike Lee2020-12-221-2/+34
| | | | | | | | | | | | | | Set normal charge mode in S0,and set quick charge mode in S3/S5/G3. BUG=b:172798331 BRANCH=firmware-kukui-12573.B TEST=make build all pass and test the quick charge solution is normal Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I0e094e6a5eb7b49ee44388b941d970347182dad9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2597130 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* stm32/dma: disable TX DMA to clear DMA TX BUFFEREric Yilun Lin2020-12-221-3/+2
| | | | | | | | | | | | | BUG=b:156027159, b:173732816 TEST=run reboot test on devices and pass for over 3000 runs BRANCH=kukui Change-Id: Ifb67d023efeb2f5db2de125fc2f2e90d31e1a99e Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2581135 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Commit-Queue: Hung-Te Lin <hungte@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org>
* Revert "WORKAROUND: kukui: add delay between HC request and response."Eric Yilun Lin2020-12-221-11/+0
| | | | | | | | | | | | This reverts commit 60abd54ab5cb2483626eefcf6071f1721617cc8d. Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Change-Id: I7c9629960cfd5b0edbb896bd84077b1b5a64a8ef Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2599728 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Commit-Queue: Hung-Te Lin <hungte@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org>
* Kakadu: remove initial code for light sensorwen zhang2020-12-172-103/+0
| | | | | | | | | | | | | | | | | | | Kakadu was designed with reference to Krane that has a light sensor But Kakadu does not have a light sensor. So we should remove the initial code for the light sensor. BUG=b:175806247 BRANCH=firmware-kukui-12573.B TEST=1.make -j BOARD=kakadu 2.ectool motionsense does not show light sensors Change-Id: Icde8f0a4e4fdbb7181badd53d03de7ae3a91a404 Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2596573 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 5fbc3bc43f163991174a6833790ccdce511fbf33) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2597119 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* kukui/usb_pd: Store vbus enable status before sysjumpDevin Lu2020-12-171-0/+26
| | | | | | | | | | | | | | | | | Since vbus enable status is not store in EC ram while sysjump. This patch adds tag to store vbus enable status before sysjump. BUG=b:174376610 BRANCH=firmware-kukui-12573.B TEST=With PDtrace. Make sure vbus discharing works correctly on sysjump. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: Ibb96d74a8017f8838c59fefe18c5252a98a637e4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2592531 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit c2b7fbf19ca943d9a182fe92273749a6f24c2a2f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2597117 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Cerise: Enable DC-DC mode ctrlMike Lee2020-12-152-0/+21
| | | | | | | | | | | | | | Enable DC-DC mode ctrl to solve S3 power consumption over spec BUG=b:173343526 BRANCH=firmware-kukui-12573.B TEST=test S3 power consumption meet spec. Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: Ia9df2bbe9b86030243c399b8e2ffc2f9993f5e9b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2592533 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* driver: tcs3400: Report ODR for RGB sensorGwendal Grignou2020-12-081-5/+5
| | | | | | | | | | | | | | | | | | | | To be able to send data to the host, the oversampling ratio must be non-zero. It implies: - the host send a set frequency request for the RGB sensor - the EC use the frequency from the clear sensor to calculate the RGB sensor oversampling ratio BUG=b:172343923 BRANCH=kukui,hatch,volteer TEST=On Volteer, in calibration mode, check we get samples from the RGB sensor. Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: I70eb62287cae983800cdadaee4cfe00b2f22b734 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2570825 Reviewed-by: Nick Vaccaro <nvaccaro@google.com> (cherry picked from commit 4761e94ef6690c47a25351d024705197674720bd) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2579707
* Kakadu: Fix battery charging status for bq27542wen zhang2020-12-081-0/+4
| | | | | | | | | | | | | | | | | | Fix the battery charging status for gauge bq27542. BUG=b:174725434 BRANCH=firmware-kukui-12573.B TEST=1.make -j BOARD=kakadu 2.verified the battery charging status and the result is OK. Change-Id: Ie3a926dd96b967679d2c51856afc3d1c157835f5 Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2576196 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 1c5dbcb07c260ef9437348e31f8377cdf5bea7f4) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2576313
* kukui: allow Vconn swap if battery exists.Eric Yilun Lin2020-12-081-5/+2
| | | | | | | | | | | | BUG=b:174324375 TEST=insert Apple dongle, and HDMI port works. BRANCH=kukui Change-Id: I6ac5c6ce172c6f395a38b0be7dffb4e92f3b9dc4 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567081 Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Tested-by: Mike Lee <mike5@huaqin.corp-partner.google.com>
* Kakadu: Fix battery is_present status for bq27542wen zhang2020-12-041-2/+4
| | | | | | | | | | | | | | | | | Fix the battery is_present status for gauge bq27542. BUG=b:174802149 BRANCH=firmware-kukui-12573.B TEST=1.make -j BOARD=kakadu 2.verified the battery present status and the result is OK. Change-Id: Ic8d9d503bc2f7d9648df56c150018f304aacfb18 Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2571145 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 2c3dd5d148ab7ea3b7c6796e2e4c3069b3347043) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2573666 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* motion: Control on which task sensor setting functions are running onGwendal Grignou2020-12-031-36/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis of motionsense shutdown revealed a race condition, as function that change sensor state can run on parallel tasks, namely CHIPSET and HOOK: motion_sense_shutdown (CHIPSET) ---> (motion_sense_switch_sensor_rate) suspend/resume (HOOK) ----> (motion_sense_switch_sensor_rate) motion_sense_process (MOTIONSENSE) ---> motion_sense_set_data_rate (ACTIVE) \-> motion_sense_set_motion_intervals /----------- motion_sense_init --\ | | motion_sense_switch_sensor_rate ---> motion_sense_set_data_rate (ACTIVE) | \----------- sensor->collection_rate = odr...; (ACTIVE) \------------> sensor->collection_rate = 0; (INACTIVE) \-----------> motion_sense_set_motion_intervals Running motion_sense_switch_sensor_rate() on HOOK task is necessary because on some platform, the power line may be already off, when the device is going to S5. - Always run motion_sense_switch_sensor_rate() on hook. - When changing ODR is needed (sensor active), schedule MOTIONSENSE task. The new sequencing is simplified: suspend/resume/shutdown (HOOK) ----> (motion_sense_switch_sensor_rate) /----------- motion_sense_init --\ | | motion_sense_switch_sensor_rate ---> schedule MOTIONSENSE. \------------> sensor->collection_rate = 0; (INACTIVE) motion_sense_process (MOTIONSENSE) ---> motion_sense_set_data_rate (ACTIVE) \-> motion_sense_set_motion_intervals BUG=b:170703322 BRANCH=kukui TEST=Check on Volteer the sequence at suspend/resume/shutdown. Conflicts: common/motion_sense.c: On/off body not implemented, still use #ifdef, current_range not added. Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2553347 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> (cherry picked from commit 104f5257a6b5527574904ec0bb94061f4790f423) Change-Id: Ic36b62ce48c54b7e3c9f1d34fcf5d6a42195abcd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567457
* Fix: Reland: i2c: add support for i2c bit-bangingGwendal Grignou2020-12-021-5/+0
| | | | | | | | | | | | | | | Code in gpio.inc was duplicated, preventing unit tests to compile. Fixes: 7fed0c290 ("Reland: i2c: add support for i2c bit-banging") https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1969239 BUG=b:138161741,b:138415463 TEST=Ran "make -j runhosttests" Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: I974626c5a82a89ad90d2b8c71aa420815c066589 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567456 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* Revert "motion: Control on which task sensor setting functions are running on"Gwendal Grignou2020-12-021-55/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ad8135e4193b0c249e9db22fb8240663e7ab0f41. Reason for revert: Merge conflicts not resolved. Original change's description: > motion: Control on which task sensor setting functions are running on > > Analysis of motionsense shutdown revealed a race condition, > as function that change sensor state can run on parallel tasks, namely > CHIPSET and HOOK: > > motion_sense_shutdown (CHIPSET) ---> (motion_sense_switch_sensor_rate) > > suspend/resume (HOOK) ----> (motion_sense_switch_sensor_rate) > > motion_sense_process (MOTIONSENSE) ---> motion_sense_set_data_rate (ACTIVE) > \-> motion_sense_set_motion_intervals > > /----------- motion_sense_init --\ > | | > motion_sense_switch_sensor_rate ---> motion_sense_set_data_rate (ACTIVE) > | \----------- sensor->collection_rate = odr...; (ACTIVE) > \------------> sensor->collection_rate = 0; (INACTIVE) > \-----------> motion_sense_set_motion_intervals > > Running motion_sense_switch_sensor_rate() on HOOK task is necessary because > on some platform, the power line may be already off, when the device is going to S5. > > - Always run motion_sense_switch_sensor_rate() on hook. > - When changing ODR is needed (sensor active), schedule MOTIONSENSE task. > > The new sequencing is simplified: > > suspend/resume/shutdown (HOOK) ----> (motion_sense_switch_sensor_rate) > > /----------- motion_sense_init --\ > | | > motion_sense_switch_sensor_rate ---> schedule MOTIONSENSE. > \------------> sensor->collection_rate = 0; (INACTIVE) > > motion_sense_process (MOTIONSENSE) ---> motion_sense_set_data_rate (ACTIVE) > \-> motion_sense_set_motion_intervals > > BUG=b:170703322 > BRANCH=kukui > TEST=Check on Volteer the sequence at suspend/resume/shutdown. > > Signed-off-by: Gwendal Grignou <gwendal@chromium.org> > Change-Id: I0238cae9b4720e487a1e70788296a4db1b1e186b > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2553347 > Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> > (cherry picked from commit 104f5257a6b5527574904ec0bb94061f4790f423) > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2566860 > Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> > Tested-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Bug: b:170703322 Change-Id: Iee487a2b502cd8a80a66fc8be5bb31eb9c9f6d9b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2568973 Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Commit-Queue: Gwendal Grignou <gwendal@chromium.org> Tested-by: Gwendal Grignou <gwendal@chromium.org>
* motion: Control on which task sensor setting functions are running onGwendal Grignou2020-12-021-28/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis of motionsense shutdown revealed a race condition, as function that change sensor state can run on parallel tasks, namely CHIPSET and HOOK: motion_sense_shutdown (CHIPSET) ---> (motion_sense_switch_sensor_rate) suspend/resume (HOOK) ----> (motion_sense_switch_sensor_rate) motion_sense_process (MOTIONSENSE) ---> motion_sense_set_data_rate (ACTIVE) \-> motion_sense_set_motion_intervals /----------- motion_sense_init --\ | | motion_sense_switch_sensor_rate ---> motion_sense_set_data_rate (ACTIVE) | \----------- sensor->collection_rate = odr...; (ACTIVE) \------------> sensor->collection_rate = 0; (INACTIVE) \-----------> motion_sense_set_motion_intervals Running motion_sense_switch_sensor_rate() on HOOK task is necessary because on some platform, the power line may be already off, when the device is going to S5. - Always run motion_sense_switch_sensor_rate() on hook. - When changing ODR is needed (sensor active), schedule MOTIONSENSE task. The new sequencing is simplified: suspend/resume/shutdown (HOOK) ----> (motion_sense_switch_sensor_rate) /----------- motion_sense_init --\ | | motion_sense_switch_sensor_rate ---> schedule MOTIONSENSE. \------------> sensor->collection_rate = 0; (INACTIVE) motion_sense_process (MOTIONSENSE) ---> motion_sense_set_data_rate (ACTIVE) \-> motion_sense_set_motion_intervals BUG=b:170703322 BRANCH=kukui TEST=Check on Volteer the sequence at suspend/resume/shutdown. Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: I0238cae9b4720e487a1e70788296a4db1b1e186b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2553347 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> (cherry picked from commit 104f5257a6b5527574904ec0bb94061f4790f423) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2566860 Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Tested-by: Mike Lee <mike5@huaqin.corp-partner.google.com>
* motion_sense: Stop collection when sensor is powered downGwendal Grignou2020-12-022-8/+33
| | | | | | | | | | | | | | | | Set collection_rate to 0 when sensor is not in initialized state anymore. It will prevent the motion_sense task to be neededlessly scheduled. Export wait_us to be tested. BUG=b:170703322 BRANCH=kukui TEST=unit test Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: I1dc4c7a07ff30fa10997ef87784114c725f100d5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567132 Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Tested-by: Mike Lee <mike5@huaqin.corp-partner.google.com>
* Stern: Remove power_led and EC_SKU_IDMike Lee2020-11-303-93/+3
| | | | | | | | | | | | | | | | Remove power_led and EC_SKU_ID,and use white battery_led to show power state in DC state BUG=b:174282565 BRANCH=firmware-kukui-12573.B TEST=make build all pass test firmware branch ,battery led can work normal Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: Ie046588ef608294836ce0bffccfd2d68e8c77e78 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2562629 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* Fennel: disable keyboard at tablet mode when in S3Mike Lee2020-11-162-0/+14
| | | | | | | | | | | | | | | | | | when in S3 and tablet mode, keyboard scan should be disabled and machine should not be waked up if user press keyboard BUG=b:173155379 BRANCH=firmware-kukui-12573.B TEST=put machine in tablet mode, use 'powerd_dbus_suspend' to let machine enter S3, press any key of keyboard cannot wake up machine Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I5e68d55e2d89aeab9b3920e3be520882c3b0e5bd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2537730 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org> (cherry picked from commit a9e18a31f61999715c0cc16d4a2c8edfdbd16986) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2539259
* willow: add CONFIG_LID_ANGLE_UPDATEDavid Huang2020-11-132-0/+22
| | | | | | | | | | | | | | | | | | Add CONFIG_LID_ABGLE_UPDATE to control the touchpad and keyboard wakeup function. BUG=b:172034762 BRANCH=master TEST=Test the keyboard and touchpad wakeup when lid angle < 180 or lid angle > 180. Change-Id: I1909393222e040b375365d38a7a6f253cb150ea2 Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2531770 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 0005dba3110de2a9c3fd2b41d62539d46020805c) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2536650
* Kakadu: Add new battery support for gauge bq27542wen zhang2020-11-135-5/+306
| | | | | | | | | | | | | | | | | | Configure battery parameter and driver for gauge bq27542 on kakadu. BUG=b:172197008, b:171456201 BRANCH=firmware-kukui-12573.B TEST=1.make -j BOARD=kakadu 2.verified the battery parameter and the result is OK. Change-Id: I4c2cc11df1e13cb7313280afca717a7f1e2461ff Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2531765 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 0b8148c1f2b20cb3883ec7ed2058a53b2f063ff6) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2534436 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* kukui: enlarge task stacksEric Yilun Lin2020-11-1222-42/+2567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds analyzstack.yaml and ensure the stack is enoguh for all the tasks. Also, correct excpetion_frame_size from 224 to 64 and this reduces the stack usage. BUG=b:172182593 TEST=No stack overflow in the test: cat <<"EOF" | bash #!/bin/bash BRDS=$(grep -r BASEBOARD:=kukui $(find . -name "build.mk") | awk -F'/' '{print $3}') BRDS+=" krane juniper" echo $BRDS for BRD in ${BRDS}; do echo Analyzing ${BRD} make BOARD=${BRD} -j 2>&1 > /dev/null && make BOARD=${BRD} analyzestack -j | grep Task | awk -F'[ :,]' '{if ($8>$NF) printf " %-15s %-5s (used) > %-5s (allocated)\n", $3, $8, $NF}' done EOF BRANCH=kukui Change-Id: Ie30ac827df66ea4786598c7b74b1ab4fe1922a08 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2530818
* Kakadu: Update Led Behaviorwen zhang2020-11-111-65/+103
| | | | | | | | | | | | | | | | | According to the requirement of OEM, update the led behavior. BUG=b:172400861 BRANCH=firmware-kukui-12573.B TEST=1.make -j BOARD=kakadu 2.verified LED behavior and result is OK. Change-Id: I9b81e8f4b345eb8e9766a99fee95668affacc853 Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2517417 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org> (cherry picked from commit fca5fa19da53c5cf598c0c6b9500668fc72ace25) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2526848
* Kukui: initial a new models kakadu of ec.wen zhang2020-11-037-212/+203
| | | | | | | | | | | | | | | | | | | Copy from krane, which is a model from Kukui. Modified for building pass. It will need to be revised later. BUG=b:171763111 BRANCH=firmware-kukui-12573.B TEST=make -j BOARD=kakadu Change-Id: I87fcf8c8e3bd4fa669e0bcb7fbb9d125a9926cdb Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2501801 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> (cherry picked from commit 1172759baa40708ed96de90bc2d541cba1ef3438) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2513419 Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* battery: set correct battery cutoff stateKeith Short2020-10-271-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | The battery cutoff state was not updated when using the "at-shutdown" option. This caused the EC to continue charging the battery following cutoff. BUG=none BRANCH=none TEST=make buildall -j TEST=Run "ectool batterycutoff at-shutdown" and then "shutdown -h now". Verify the EC stops charging the battery and the battery voltage is reported as 0. Change-Id: I7aef46a4a4840ea1b17234f4d90ebf7e074a873b Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2042902 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 495146176d87c0f05a326571731e32dfd2602a4d) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2501803 Tested-by: David Huang <david.huang@quanta.corp-partner.google.com> Auto-Submit: David Huang <david.huang@quanta.corp-partner.google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Cerise/Stern: Update Led BehaviorMike Lee2020-10-273-7/+81
| | | | | | | | | | | | | | | | | | | | | | | | 1. According to EC_SKU_ID to distinguish Cerise and Stern to execute different Battery Led behavior 2. Modify Power Led 2s on, 2s off in S3 3. Add Battery low Led behavior BUG=b:170654166 BRANCH=firmware-kukui-12573.B TEST=make buildall verified LED behavior and result is OK Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: Iac86abc1bd86731acba363cd0da3d83a25896a4b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2467597 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 0dc36ee6f6fc647fcd12e0367f1722caca95551a) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2494608 Reviewed-by: Aaron Zhang <zhangjianbo@huaqin.corp-partner.google.com> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* burnet: Disable keyboard with tablet mode on S3Devin Lu2020-10-202-0/+14
| | | | | | | | | | | | | | | BUG=none BRANCH=firmware-kukui-12573.B TEST=On Burnet. Make sure keyboard don't wake up AP from suspend on tablet mode. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I68030c23d27375f320f1b559900ac832752981ad Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2479063 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit e1d70859fa3543c5ae5b4bed820aca2ca277ea17) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2484108 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Cerise: Change g-sensor setting for ceriseMike Lee2020-10-191-3/+3
| | | | | | | | | | | | | | Config g-sensor matrixes. BUG=b:171024223 BRANCH=firmware-kukui-12573.B TEST= make -j BOARD=cerise Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I18e463631f17544044b8128fa26e2ddc0e4f90f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2437577 Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org> Commit-Queue: Chen-Tsung Hsieh <chentsung@chromium.org>
* driver: bma2x2: Limit max frequency to 125HzGwendal Grignou2020-10-181-2/+8
| | | | | | | | | | | | | | | | | | Given BMA2x2 are polled (to save interrupt pin), limit ODR to 125Hz. Even if we read too early (we can be 3ms early), it prevents tast hardware.SensorRing from failing. Lid accelerometer is usually read at 10/12.5Hz. BUG=b:170155773 BRANCH=octupus,kukui,hatch TEST=hardware.SensorRing passes on volteer Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: Ic7e68402afbf1ceacb627ee732dbd609b7cb5d5f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2451421 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit befbf85be57f99dccb9b61ec6481726afc27eea5) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2482174
* juniper: Change default battery to AP16L5JDavid Huang2020-10-161-1/+1
| | | | | | | | | | | | | | | | Set AP16L5J as default battery. BUG=b:168269608 BRANCH=master TEST=make buildall is success. Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com> Change-Id: Ie1a1b655e78cd5ec57cd2eb9e4db389d781fa305 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2419736 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit f260b44a688ebd025a0d556a27df61fc6c017539) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2474984
* Esche: Turn off tablet modeDevin Lu2020-10-131-0/+4
| | | | | | | | | | | | | | | | | | Burnt and Esche has been merged to the same firmware, Burnet have GMR sensor for tablet mode, but Esche not. This patch turns off tablet mode and GMR interrupt on Esche. BUG=none BRANCH=firmware-kukui-12573.B TEST=Make sure keyboard works on Esche. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: Ifa909a3b18560d134077a7f1d605f33c410ced08 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2455827 Reviewed-by: Ting Shen <phoenixshen@chromium.org> (cherry picked from commit 8854567015d6f8f6c6edb8f10a33ebff4366369a) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2467596 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Esche: Override battery LEDs to indicate system suspendDevin Lu2020-09-291-0/+18
| | | | | | | | | | | | | | | | | Esche is non-power LED design, to indicate system suspend, blinking battery white LED (1 sec on/1 sec off) to indicate system suspend without charging. BUG=none BRANCH=firmware-kukui-12573.B TEST=Make sure LED blinking on suspend without charging. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I7a2fb73434efec7da3bf5bcd68d658db20418f99 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2432227 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2438069 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Esche: Delete boardDevin Lu2020-09-297-938/+0
| | | | | | | | | | | | | | | Share with same firmware with Burnet base on SKUID. BUG=b:161767717 BRANCH=firmware-kukui-12573.B TEST=make buildall Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I5b7e3b69d8af821aea5646ee40e510a6dc45d271 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2431311 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2437588 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Burnet/Esche: Disable IMU sensors base on SKUIDDevin Lu2020-09-292-29/+53
| | | | | | | | | | | | | | | | | Burnet is 360 SKU and Esche is clamshell SKUID. Disable Esche IMU sensors base on SKUID. BUG=none BRANCH=firmware-kukui-12573.B TEST=On Burnet, check sensor initial passed. TEST=On Esche, check no sensor initial. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I1839fb7c1366c8ccde6db00f0fba9f1eb9f6d3a8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2387681 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2437587 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* kukui/baseboard: enable CONFIG_HOSTCMD_AP_SET_SKUIDDevin Lu2020-09-291-0/+1
| | | | | | | | | | | | | | | | CL:2321689 already sent SKUID to EC. This patch enable AP set SKUID to EC to distinguish platform factor. BUG=b:161767717 BRANCH=firmware-kukui-12573.B TEST=make buildall -j and boots to Burnet Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I5f92c293a26c0612b3a61bf009961217e17e8f3d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2386691 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2437586 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Burnet: unmux pins away from emmc once we want to talk to sensorsDevin Lu2020-09-292-13/+19
| | | | | | | | | | | | | | | | Apply CL:2043151 to burnet. BUG=b:169259387 BRANCH=firmware-kukui-12573.B TEST=Boot Burnet, no sensor init fail. TEST=emmc still works. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: Ic4bde54ab3bf2b1482230335fe5d2b71dc72faa6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2430908 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2437585 Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Fennel: Change Led setting for fennelAaron Zhang2020-09-293-38/+72
| | | | | | | | | | | | | | Follow Google and customer spec to change led setting. BUG=b:163100496 BRANCH=firmware-kukui-12573.B TEST=make -j BOARD=fennel Change-Id: Ifb5b94cb12f4309b94b0ba917336933d9f06ce85 Signed-off-by: Aaron Zhang <zhangjianbo@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2423664 Reviewed-by: Zhuohao Lee <zhuohao@chromium.org> Commit-Queue: Zhuohao Lee <zhuohao@chromium.org>
* fennel: add host command for the ioexpander pwmZhuohao Lee2020-09-282-0/+58
| | | | | | | | | | | | | | | | | | | In order to support the kernel driver to use the ioexpander pwm driver, we add two host command EC_CMD_PWM_SET_DUTY and EC_CMD_PWM_GET_DUTY to the board layer to support it. Besides, to avoid the RO rom size overflow, we remove the ioexpander pwm function and keyboard backlight function from the RO rom. BUG=b:162902808 BRANCH=firmware-kukui-12573.B TEST=build pass Change-Id: Ibbd66164c19cd792a865f471c0c32ecb595f75e7 Signed-off-by: Zhuohao Lee <zhuohao@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2434594 Reviewed-by: Aaron Zhang <zhangjianbo@huaqin.corp-partner.google.com> Tested-by: Aaron Zhang <zhangjianbo@huaqin.corp-partner.google.com>
* it8801: fix the it8801_pwm_(set|get)_dutyZhuohao Lee2020-09-281-3/+3
| | | | | | | | | | | | | | | | The value in PWMDCRi register is used to control the clock of the PWM. We only need to set the clock value to the register after normalized to the 255. BUG=b:162902808 BRANCH=firmware-kukui-12573.B TEST=`kblight <percentage>` is working correctly Change-Id: I6a0c012a06789eb8bbca6209a00b06ef34ee9c86 Signed-off-by: Zhuohao Lee <zhuohao@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2434593 Reviewed-by: Aaron Zhang <zhangjianbo@huaqin.corp-partner.google.com> Tested-by: Aaron Zhang <zhangjianbo@huaqin.corp-partner.google.com>
* Fennel: Modify it8801 keyboard backlight driver and Enable keyboard backlightMike Lee2020-09-285-9/+98
| | | | | | | | | | | | | | | | | 1.Modify it8801 keyboard backlight driver code 2.Enable keyboard backlight setting with it8801 keyboard backlight driver BUG=b:162902808 BRANCH=firmware-kukui-12573.B TEST=Manual. Build and flash BIOS&EC on fennel board. Verify the keyboard backlight function. Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I73dd7ffc7b6ee80ed7ca39ac4d05afe65f666181 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2425988 Reviewed-by: Zhuohao Lee <zhuohao@chromium.org> Commit-Queue: Zhuohao Lee <zhuohao@chromium.org>
* Fennel: Change g-sensor setting for fennelAaron Zhang2020-09-242-12/+20
| | | | | | | | | | | | | | Modify lid accel to LIS2DWL & config g-sensor matrixes. BUG=b:163109924 BRANCH=firmware-kukui-12573.B TEST=make -j BOARD=fennel Change-Id: I2e3143daf41ea848f0c32778f3d066aa7b0878d6 Signed-off-by: Aaron Zhang <zhangjianbo@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2423670 Reviewed-by: Zhuohao Lee <zhuohao@chromium.org> Commit-Queue: Zhuohao Lee <zhuohao@chromium.org>