summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ccd doc: add more to information about using ccdMary Ruthven2019-05-101-12/+25
| | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: I5776c16032863a2a0f8d5c82f148c80822379dec Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1599681 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* cr50: rebuild board image if essential make variables changeVadim Bendebury2019-05-104-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When building Cr50 board image, some make variables get converted into compilation flags, which affect image composition. Changes of these variables go unnoticed as they do not directly affect make dependencies. Let's define the set of essential variables in ENV_VARS, and save the state of these variables at build time in a generated .h file, updating it only if any of the variables' values changed since the previous make run. The generated .h file is included in board.h, which guarantees that files dependent on board.h are recompiled if the generated .h file changes. BRANCH=cr50 BUG=none TEST=verified that changing of CR50_DEV and/or H1_RED_BOARD or CR50_SQA values triggers full rebuild of the Cr50 image. Verified that 'emerge-atlas ec-utils' also succeeds. Change-Id: Id0589a3b6a66fe4da90a9aea894bc83eb6337c8c Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/707915 Reviewed-by: Keith Short <keithshort@chromium.org>
* cleanup: fix cros_sh to cros_ish typoJett Rink2019-05-101-1/+1
| | | | | | | | | | | | | Update command line usage help string for ectool to specify cros_ish instead of cros_sh. BRANCH=none BUG=none TEST=see usage string update Change-Id: I52f36b88598af980788eec8a1ed15160ba0f1175 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1605219
* octopus: Support keypad function on BobbaSue Chen2019-05-103-0/+29
| | | | | | | | | | | | | | | | | 1. Using CONFIG_KEYBOARD_KEYPAD to choose actual_key_mask w or w/o keypad. 2. Enable keypad function on Bobba. 3. Disable scan KSO13 & 14 and modify actual_key_mask for SKU w/o keypad on Bobba. BUG=b:131095327 BRANCH=octopus TEST=make buildall Change-Id: I33ea85ec3966b4bba64b2a5aa11f186b5b92c52b Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1600944 Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* tcs3400: rename tcs3400_drv_data_t to als_drv_data_tNick Vaccaro2019-05-094-37/+46
| | | | | | | | | | | | | | | | | | | - rename tsc3400_drv_data_t to als_drv_data_t - change tcs3400 driver to use common als_drv_data_t - change flapjack config to use common als_drv_data_t - rename TSC3400_SCALE() macro to ALS_CHANNEL_SCALE() - create and use new I2C_PORT_ALS definition - fix a couple nits BUG=b:124512628 BRANCH=master TEST=build and flash to flapjack, verify ALS and RGB still work. Change-Id: I9a45d255ff77794ef34026406c9b702a04e09c11 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://chromium-review.googlesource.com/1601052 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* board: atlas: Remove BMI160 supportGwendal Grignou2019-05-093-50/+1
| | | | | | | | | | | | | | | | | | | Atlas may ship without IMU. hardware_features.xml indicates no IMU support (CL:*1168651 and CL:*1138132) Prevent EC to report IMU even if present. BUG=b:129078548 TEST=Compile BRANCH=atlas Change-Id: I600ef7268d7cea50164bf2e9fe7dd54d00329437 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1582609 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Caveh Jalali <caveh@google.com> Reviewed-by: Bob Moragues <moragues@chromium.org> Reviewed-by: Caveh Jalali <caveh@google.com>
* Flapjack: Enable full model of MAX17055YH Lin2019-05-092-4/+53
| | | | | | | | | | | | | | | | | This patch enables full model of MAX17055. BUG=b:130804959 BRANCH=none TEST=The simple test steps which we used are as follows: 1. using DCP charger to complete two charge cycles. 2. Connect the serial cable to machaine, and collecting data of the ec-command "battery 20000 10000" 3. Convert #2 battery log to excel form, and analyze test results Change-Id: If07d7919142b4fcfb1f69972de70efc3d213bae3 Signed-off-by: YH Lin <yueherngl@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1575558 Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
* bloog: add SKU IDsDevin Lu2019-05-091-5/+6
| | | | | | | | | | | | BUG=b:132037233 BRANCH=octopus TEST=make buildall -j Change-Id: Ifd2d9fdc8c9e9a8a003564d4fb0fa561d3668c5c Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/1598388 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Marco Chen <marcochen@chromium.org>
* ccd doc: link cr50 doc in main ccd docMary Ruthven2019-05-091-3/+4
| | | | | | | | | | | | | BUG=none BRANCH=none TEST=verify link works Change-Id: I774a0dc1c0965f3655c46b09ff9bdd3e12f21200 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1599680 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Kevin Shelton <kmshelton@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* ish: combine watchdog expiration and panic handlerJack Rosenthal2019-05-093-37/+30
| | | | | | | | | | | | | | | | | | watchdog_warning implements similar functionality to exception_panic, but worse, as the value it prints for EIP is wrong, and it does not have the no-double-panic logic of the panic handler. This commit removes watchdog_warning and integrates the relevant functionality into exception_panic. BUG=b:129983997 BRANCH=none TEST=observed watchdog reset with 'waitms 10500' Change-Id: I78375337aa85be5424850e29a8204c409384d019 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1599732 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Jett Rink <jettrink@chromium.org>
* ish/ish5: remove watchdog disable during D0ixHu, Hebo2019-05-093-26/+3
| | | | | | | | | | | | | | | | | | | | | | ECOS will reload watchdog in hook task for every HOOK_TICK_INTERVAL time, and this will make HPET timer 1 wakeup ish. Therefore, we do not need to disable watchdog during D0ix. D3 and reset prep flow still need disable watchdog. BUG=b:132112137 BRANCH=none TEST='waitms 10500' console command can trigger watchdog timeout and ish reboot Change-Id: I11aad5ece0ce96bc53738512290c1e42bf175479 Signed-off-by: Hu, Hebo <hebo.hu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/1598713 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Hebo Hu <hebo.hu@intel.corp-partner.google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* hatch: Enable CONFIG_CMD_CHARGER_DUMPScott Collyer2019-05-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL enables CONFIG_CMD_CHARGER_DUMP which enables the EC console command 'charger_dump'. BUG=b:130209125 BRANCH=none TEST=manual >charger_dump 2019-04-30 17:47:16 25710 REG 12: e70e 2019-04-30 17:47:16 25710 REG 14: dc0 2019-04-30 17:47:16 25710 REG 15: 2260 2019-04-30 17:47:16 25710 REG 20: 8400 2019-04-30 17:47:16 25710 REG 21: a804 2019-04-30 17:47:16 25710 REG 22: 3b00 2019-04-30 17:47:16 25710 REG 23: b700 2019-04-30 17:47:16 25710 REG 24: 0 2019-04-30 17:47:16 25710 REG 25: 0 2019-04-30 17:47:16 25710 REG 26: 0 2019-04-30 17:47:16 25710 REG 30: 210 2019-04-30 17:47:16 25710 REG 31: 40b7 2019-04-30 17:47:16 25710 REG 32: 30 2019-04-30 17:47:16 25710 REG 33: 265 2019-04-30 17:47:16 25710 REG 34: 8124 2019-04-30 17:47:16 25710 REG 35: 40 2019-04-30 17:47:16 25710 REG 3b: 0 2019-04-30 17:47:16 25710 REG 3c: 0 2019-04-30 17:47:16 25710 REG 3d: 1c0 2019-04-30 17:47:16 25710 REG 3e: 1800 2019-04-30 17:47:16 25710 REG 3f: 3b00 2019-04-30 17:47:16 25710 REG fe: 40 2019-04-30 17:47:16 25710 REG ff: 89 Change-Id: I614f5afd78f2d8a3c4e6e28d0cc186616a3e5540 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1580183 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* bq25710: Add support for charger_dump commandFurquan Shaikh2019-05-091-0/+48
| | | | | | | | | | | | | | | | This change adds a debug command to dump all readable charger registers on bq25710. BUG=None BRANCH=None TEST=Verified that charger_dump command works on EC console. Change-Id: Ide4a39c6bb2a9410a3beb913aa6ebcb44919f844 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://chromium-review.googlesource.com/1566667 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* kohaku: Correct SYS_RESET_L pin # in gpio.incPaul Fagerburg2019-05-081-1/+1
| | | | | | | | | | | | | | | SYS_RESET_L# is routed to GPIOC5 and not GPIO02 Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> BUG=b:132148525 BRANCH=none TEST=cd ~/trunk/src/platform/ec; make BOARD=kohaku -j Change-Id: I125ebbd521c57fd616151766fba0ea5e9eda2a9a Reviewed-on: https://chromium-review.googlesource.com/1600299 Commit-Ready: Paul Fagerburg <pfagerburg@chromium.org> Tested-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* MAX17055: Add the full model driverYH Lin2019-05-083-19/+214
| | | | | | | | | | | | | | | | | This patch adds the full model driver for MAX17055. The full model of MAX17055 provides more accurate soc estimation than the short model or ez model. BUG=b:130979269 BRANCH=none TEST=Do a full charge test Change-Id: I4cf249cf0c47fd30f75f4e38b74c7995285603e6 Signed-off-by: YH Lin <yueherngl@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1577387 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* power: Manipulate wake mask during s0ix timeoutsEvan Green2019-05-083-12/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | When S0ix failure detection is enabled and a timeout occurs such that the SLP_S0 line never actually toggles, then s0ix_transition_timeout() sets the HANG_DETECT event bit. This doesn't quite work in this scenario, since the wake mask is only enabled when the power state transitions to S0ix, which happens when the SLP_S0 line toggles. So the AP never sees the event, since it's not in the wake mask and so never causes the EC->AP interrupt line to change. Detect this situation in the timeout function, and explicitly move the wake mask to its S0ix value so that when the event bit is set, (if it is in the wake mask), the system will wake up. Doing this forcefully gets the wake mask out of sync with the power state. So upon resume, explicitly restore the wake mask to its S0 state. BUG=b:131434497 BRANCH=none TEST=suspend_stress_test -c1 --suspend_min=60 with a firmware where S0ix fails. Change-Id: Id2e67c6933a7895fba85ccfdff9b336629eabf24 Signed-off-by: Evan Green <evgreen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1592469 Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* makefile: don't build ro if EC_INCLUDE_RO not setTing Shen2019-05-082-2/+5
| | | | | | | | | | | | | | BUG=b:121406695 TEST=make BRANCH=None Change-Id: Ib678678330837fefffd12a7ac445038661639e8c Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/1595929 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* hatch/kohaku: Account for TCPC reset polarity in ALERT handlerScott Collyer2019-05-084-6/+13
| | | | | | | | | | | | | | | | | | | | | | Reset polarity was added to tcpc_config so that the reset function could be common across different boards which have different TCPC selections. This was applied to pd_reset_mcu(), however, that CL did not take into account the reset polarity in the tcpc_get_alert_status function. This CL fixes that oversight. In addition, this CL fixes the name for kohaku's port 0 TCPC reset line to match the schematic. BUG=b:130194031 BRANCH=none TEST=verified on Hatch that both ports 0/1 function correctly. Change-Id: I0d75d3655c799d4c74f4a6fb1805c06c1fe99c06 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1582964 Commit-Ready: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* board: arcarda_ish: Fix gyro matrixGwendal Grignou2019-05-081-1/+1
| | | | | | | | | | | | | | IMU Accel and Gyro matrices should be identical. BUG=b:132110508 TEST=testing "CTS verifier Gyroscope Measurement Test" Test was still failing when done manually, but the deltas were due to user error not invalid axis. BRANCH=master Change-Id: I29f790385d4203f326bceb9a5320b0c833de7b65 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1597965
* flash_ec: fix in restoring "fw_up" controlNamyoon Woo2019-05-081-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | crrev.com/c/1593817 falsely restored "fw_up" at exit. It was supposed to restore "fw_up" as "off" unconditionally , but it restored with the initial value at the beginning of flash_ec. Fixed it by specifying the recovery value in the function servo_save_add(). BUG=b:132097230 BRANCH=None TEST=manually ran flash_ec on atlas via servo_v2. ./util/flash_ec --board atlas --image /Downloads/atlas/ec.bin --verbose INFO: Using servo_v2. INFO: Using ec image : /Downloads/atlas/ec.bin dut-control --port=9999 i2c_mux_en:on dut-control --port=9999 i2c_mux:remote_adc INFO: Flashing chip npcx_int_spi. dut-control --port=9999 cold_reset:on dut-control --port=9999 fw_up:on dut-control --port=9999 cold_reset:off dut-control --port=9999 spi1_vref:pp3300 spi1_buf_en:on dut-control --port=9999 spi1_buf_on_flex_en:on ... Erasing and writing flash chip... Verifying flash... VERIFIED. SUCCESS INFO: Restoring servo settings... dut-control --port=9999 cold_reset:off dut-control --port=9999 i2c_mux_en:on dut-control --port=9999 i2c_mux:remote_adc dut-control --port=9999 fw_up:off <--- It is recovered as 'off'. dut-control --port=9999 spi1_vref:off dut-control --port=9999 spi1_buf_en:off dut-control --port=9999 spi1_buf_on_flex_en:off dut-control --port=9999 cold_reset:on dut-control --port=9999 cold_reset:off Change-Id: I423b921fd54f59a5e3538d1fbdd0fb6b09632625 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1597798 Reviewed-by: Matthew Blecker <matthewb@chromium.org>
* USB-PD: Add hook for PD connect eventDaisuke Nojiri2019-05-089-6/+37
| | | | | | | | | | | | | | | | This patch adds a hook for USB PD connect event. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/127228934 BRANCH=none TEST=buildall. Verify a hook is called on BC12 charger connection. Change-Id: I88fcd65d1afce07b6275398c5d0b902ecd7a44a3 Reviewed-on: https://chromium-review.googlesource.com/1597794 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* octopus: set KB_BL_PWR_EN to GPIO62 for Droid/BlorbDavid Huang2019-05-081-2/+2
| | | | | | | | | | | | | | | Droid/Blorb use GPIO62 as KB_BL_PWR_EN to control keyboard backlight power. BRANCH=octopus BUG=b:130330141 TEST=Check keyboard backlight power status in S0/S3/S5. Change-Id: I54c269676a6542175b7402b670342af6f744c55a Signed-off-by: David Huang <David.Huang@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/1584495 Commit-Ready: Marco Chen <marcochen@chromium.org> Reviewed-by: Marco Chen <marcochen@chromium.org>
* cortex-m/ec.lds.S: Workaround for ld not complaining LMA overlapping.Yilun Lin2019-05-071-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ld won't complain .data LMA overlapping if using a computed LMA address. This CL workaround this by assigning a load memory region. Related discussion: https://github.com/rust-embedded/cortex-m-rt/issues/86 TEST=make buildall -j TEST=cherry-pick https://crrev.com/c/1592972 make BOARD=kukui_scp -j and see it ld reports failure for LMA overlapping: build/kukui_scp/RW/ec.RW.elf section `.data' will not fit in region `IROM' region `IROM' overflowed by 3784 bytes TEST=w/o this CL; make buildall -j; cp -r build build.old w/ this CL; comment out EC version rules #.PHONY: $(out)/ec_version.h make buildall -j compares the .flat files by: for f in $(ls build/*/*/ec.*.flat | sed -e 's|build/||'); do echo "###### diff ${f}" diff <(xxd build/${f}) <(xxd build.old/${f}) done and see that all the .flat are the same, except that some boards(aquila, arcadia, cr5*, granite, haven_dev, hg_*, hotelgolf, hslt_*, indus, proto2, red, starcard, tk-x001) using g-chip have different content at addr 0x0~0x360 (related to regen key?), and this change is not likely to touch that address. BUG=b:131641213 BRANCH=None Change-Id: I54c697669ef3836c93027bce90f507c33283c6f3 Signed-off-by: Yilun Lin <yllin@google.com> Reviewed-on: https://chromium-review.googlesource.com/1588297 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Yilun Lin <yllin@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* ampton: tune the dp mux to improve external monitor compatibilityJames_Chao2019-05-072-0/+17
| | | | | | | | | | | | | | | | | | When the ampton connected to external monitor Viewsonic VX2880, it can't display normally. We need to tune the mux: 1. modulate DP equalization setting : 12.8dB > 3.6dB 2. modulate Vswing: 15% BUG=b:131113883 BRANCH=octopus TEST=Check the monitor VX2880 can display normally. Change-Id: Id8d32b41b4fdde4799a54e0081b5ddadf3534fba Reviewed-on: https://chromium-review.googlesource.com/1575886 Commit-Ready: Diana Z <dzigterman@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* usb_pd_protocol.c: exiting from try.src to attach.srcRuibin Chang2019-05-072-10/+42
| | | | | | | | | | | | | | | | | | | | The port shall transition to Attached.SRC when the SRC.Rd state is detected on exactly "one of the CC1 or CC2 pins" for at least tTryCCDebounce. See TypeC v1.4 spec 4.5.2.2.10.2 Exiting from Try.SRC State. BRANCH=None BUG=b:130615676 TEST=1.Ampton with apple type-c adapter 2.Ellisys USB-PD test Change-Id: I461c53e2b8d9189f290956964754ae5b1a11a950 Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/1564499 Commit-Ready: Diana Z <dzigterman@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* flapjack: add tcs3400 sensorNick Vaccaro2019-05-073-28/+75
| | | | | | | | | | | | | | | | | | | - configure flapjack to use the tcs3400 ALS and RGB drivers - configure signal connections for the tcs3400 - remove opt3001 ALS sensor BUG=b:124512628 BRANCH=master CQ-DEPEND=CL:1541955,CL:1551748 TEST=Cherry-pick CLs to add the tcs3400 RGB driver and the tcs3400 ALS driver, build and flash to flapjack board with tcs3400 int line wired to PA14, and verify chip is interrupting and packaging up data. Change-Id: I98aaa6bf4985b45cede497a08625b37b0620b0aa Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://chromium-review.googlesource.com/1561904 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
* driver: add tcs3400 RGB channel sensor driverNick Vaccaro2019-05-073-6/+201
| | | | | | | | | | | | | | | | | | | Implements a MOTIONSENSE_TYPE_LIGHT_RGB sensor using the tcs3400. BUG=b:129419982 BRANCH=master CQ-DEPEND=CL:1541955 TEST=cherry-pick CLs to enable tcs3400 for flapjack and to add alslog, build and flash to flapjack; boot flapjack, from ec console, execute 'sysjump rw', then execute "alslog" to enable logging of als data. Verify als data is generated and logged to ec console. Change-Id: Ia8000d27ff4f9683ceb4c9522bc7f0fed20c2045 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://chromium-review.googlesource.com/1551748 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* cr50: prepare to release 0.4.17Vadim Bendebury2019-05-071-1/+1
| | | | | | | | | | | BRANCH=cr50 BUG=none TEST=none Change-Id: I25c87502d3e38b42430c85a4426e43a2f5f6a7f3 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1595157 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* ish: remove erroneous REG32 in ish_fwsts.hJack Rosenthal2019-05-071-1/+1
| | | | | | | | | | | | | | I'm a screw-up and forgot this in CL:1578435. Since ish_fwst_is_hup_set is not used (yet), this did not cause any issues. BUG=b:130573158,b:132060059 BRANCH=none TEST=make buildall -j Change-Id: I38a25a648b2235bade143fd20acb50a1318da992 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1596312 Reviewed-by: Jett Rink <jettrink@chromium.org>
* driver: add tcs3400 ALS sensor chip driverNick Vaccaro2019-05-065-0/+426
| | | | | | | | | | | | | | | | | | | Implements a MOTIONSENSE_TYPE_LIGHT sensor using the clear channel of the tcs3400. BUG=b:124512628 BRANCH=master TEST=cherry-pick CLs to enable tcs3400 for flapjack and to add alslog, build and flash to flapjack; boot flapjack, from ec console, execute 'sysjump rw', then execute "alslog" to enable logging of als data. Verify als data is generated and logged to ec console. Change-Id: I918cbf5513fb5eba20a27705c47545d3c0b3ca91 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://chromium-review.googlesource.com/1541955 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* flash_ec: collect dut-control values to restore before they changeNamyoon Woo2019-05-041-73/+57
| | | | | | | | | | | | | | | | | | | | | | | | This CL enables add dut-control values to restore during execution. This helps flash_ec store necessary values only. Also this CL fixes the problem that flash_ec failure leaves spi1_buf_en:on, not restoring to off. Cq-Depend:chromium:1591590 BUG=None BRANCH=None TEST=manually ran flash_ec on duts. soraka with servo_v2, ccd_cr50 scarlet with servo_v2, ccd_cr50 dragontalon with servo_v2, servo_micro coral with servo_v2, servo_micro, ccd_cr50 grunt(liara) with servo_v2, servo_micro, ccd_cr50 fleex with servo_v2, servo_micro, ccd_cr50 ampton with servo_v2, servo_v4, ccd_cr50 Change-Id: Iefb8c85125841040ab408551ab254f8151080a54 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1593817 Reviewed-by: Matthew Blecker <matthewb@chromium.org>
* stm32f0: Set ADC sampling rate before every readDaisuke Nojiri2019-05-043-24/+39
| | | | | | | | | | | | | | | | | | | | | | | Currently, the sampling rate is set only once in adc_init. This patch makes EC set the sampling rate every time ADC is sampled. This patch also adds STM32_ADC_SMPR_DEFAULT so that zero can be used to specify the default sampling rate. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/131579158 BRANCH=none TEST=Verified ADC readings match with externally measured voltage for LCM_ID, BATT_ID, and USBC_THERM. TEST=buildall Change-Id: I73a1352dec907c2a8724e2f3f3d0258a706910a7 Reviewed-on: https://chromium-review.googlesource.com/1589253 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: YH Lin <yueherngl@chromium.org> Reviewed-by: Nick Sanders <nsanders@chromium.org>
* arcada_ish: hook up lid open gpio interruptJett Rink2019-05-042-1/+2
| | | | | | | | | | | | | | | | | Hook up lid open interrupt correctly for arcada. This also ensures that we ignore lid angle when the lid is closed because lid angle can report 360 degrees and falsely enter tablet mode. BRANCH=none BUG=b:131785573 TEST=lid open/closed is reported correctly on console with this change. This also improves the tablet mode calculation, i.e. we do not go into tablet mode when the lid is closed. Change-Id: Idece81f3b03575941a22ab09485de7c3e7f85a8f Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1594110 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* pd_protocol: Don't clear PD flags while debouncing.Aseda Aboagye2019-05-041-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PD_FLAGS_TRY_SRC flag was being cleared every time we entered the *_DISCONNECTED state. However, this would lead to a case where if the state machine was debouncing the CC lines and decided to re-enter the SRC_DISCONNECTED state, the Try.Src flag would be cleared and the state machine would not transition to the TryWait.SNK state after timing out. We shouldn't clear any flags when transitioning back to the disconnected state from the debounce state as the two states here are really the same states in the state diagram. This commit simply only clears the PD flags when we're transitioning to the disconnected state but not from a debounce state. This also keeps the Try.Src flag set if the previous state was a debounce as it means the state machine decided it didn't meet the condition to exit and should continue waiting before transitioning to TryWait.SNK. BUG=b:115452695 BRANCH=master TEST=Flash nocturne; boot to S0, plug in Apple 87W USB-C charger with eMarked cable, verify we form an explicit 45W contract. Change-Id: I6d8f5d69b8bd0d25ac7af008bbbe91f2658cdfe2 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/1286299 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> (cherry picked from commit 1f30c7483fa5621e9d67c5977709dce73f31a66d) Reviewed-on: https://chromium-review.googlesource.com/1591483 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org>
* Flapjack: Clean up charger_profile_overrideDaisuke Nojiri2019-05-041-30/+12
| | | | | | | | | | | | | | | | | This patch cleans up charger_profile_override to improve readability. There is no functionality change. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=make BOARD=flapjack Change-Id: Ifa5d216026a480da1da66dbb0204dfac8f1efff1 Reviewed-on: https://chromium-review.googlesource.com/1593751 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: YH Lin <yueherngl@chromium.org>
* Flapjack: Add Sunwoda batteriesDaisuke Nojiri2019-05-042-2/+102
| | | | | | | | | | | | | | | | This patch adds Sunwoda batteries. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:130804959 BRANCH=none TEST=make BOARD=flapjack Change-Id: Iada9b3248b34315c687ab64b3331ca596f0ef956 Reviewed-on: https://chromium-review.googlesource.com/1593750 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: YH Lin <yueherngl@chromium.org>
* common: add MOTIONSENSE_CHIP_TCS3400Nick Vaccaro2019-05-042-0/+4
| | | | | | | | | | | | | | Add new chip definition for AMS TCS3400 light sensor. BUG=b:129419982 BRANCH=master TEST=none Change-Id: Ic66a0922f3c48775f2eaeff0c5ac37a09624a5d6 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://chromium-review.googlesource.com/1541954 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* common: add new MOTIONSENSE_TYPE_LIGHT_RGB sensor typeNick Vaccaro2019-05-042-0/+4
| | | | | | | | | | | | | | Add a new light sensor type for color light sensors. BUG=b:129419982 BRANCH=master TEST=none Change-Id: I30cec56761b1f7f90544dda52a90415d39ded337 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://chromium-review.googlesource.com/1541953 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* ish: preserve panic data across resetJack Rosenthal2019-05-045-19/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit stores panic data across reset by storing panic data in the last 256 bytes of AON memory (before AON ROM). > crash divzero ========== PANIC ========== Reason: Divide By Zero Error Code = 0xFF00B60C EIP = 0xFF010008 CS = 0x00010202 EFLAGS = 0x00103085 EAX = 0x00000001 EBX = 0xFF01B118 ECX = 0x00000000 EDX = 0x00000000 ESI = 0x00000000 EDI = 0xFF017E0E Resetting system... =========================== ... ISH reset ... > panicinfo Saved panic data: (NEW) Reason: Divide By Zero Error Code = 0xFF00B60C EIP = 0xFF010008 CS = 0x00010202 EFLAGS = 0x00103085 EAX = 0x00000001 EBX = 0xFF01B118 ECX = 0x00000000 EDX = 0x00000000 ESI = 0x00000000 EDI = 0xFF017E0E BUG=b:129425206 BRANCH=none TEST=see console output above (on arcada_ish) Change-Id: I5c9e458b53076eafe7fa50ba851f2c6e863f2247 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1593418 Reviewed-by: Jett Rink <jettrink@chromium.org>
* ish: ensure all CONFIGs are undef'ed in include/config.hJack Rosenthal2019-05-046-64/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some people have been bypassing the pre-submit checks: confs=($(grep -Eor "\bCONFIG_[A-Z_]*" chip/ish/config_chip.h | sort | uniq)) for opt in "${confs[@]}"; do grep "$opt" include/config.h >/dev/null || echo "$opt is not defined in include/config.h!" done >>> CONFIG_ISH_AON_SRAM_BASE_END is not defined in include/config.h! CONFIG_ISH_AON_SRAM_BASE_START is not defined in include/config.h! CONFIG_ISH_AON_SRAM_ROM_SIZE is not defined in include/config.h! CONFIG_ISH_AON_SRAM_ROM_START is not defined in include/config.h! CONFIG_ISH_AON_SRAM_SIZE is not defined in include/config.h! CONFIG_ISH_SRAM_BANKS is not defined in include/config.h! CONFIG_ISH_SRAM_BANK_SIZE is not defined in include/config.h! CONFIG_ISH_SRAM_BASE_END is not defined in include/config.h! CONFIG_ISH_SRAM_BASE_START is not defined in include/config.h! CONFIG_ISH_SRAM_SIZE is not defined in include/config.h! This is not good! This commit renames each of these to an existing option defined in include/config.h, or undefs the relevant option in include/config.h. BUG=b:131749055 BRANCH=none TEST=make buildall -j TEST=script above reports no options which weren't defined TEST=arcada_ish, (specifically power management, which was greatly affected by this commit) functions as normal Change-Id: Idfbd1105880174b5e160c47c4ec1d88c352d6bc6 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1592420 Reviewed-by: Jett Rink <jettrink@chromium.org>
* ish/heci: print protocol for discarded msgsJett Rink2019-05-031-1/+1
| | | | | | | | | | | | Print the protocol id of discarded messages on console BRANCH=none BUG=none TEST=verified that protocol is being printed correctly Change-Id: I089ad0c55b89a321edcbf24f25ec13e13fda60b3 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1594109
* kukui: remove console commands from ROTing Shen2019-05-031-0/+9
| | | | | | | | | | | | | | | | | | | RO size before and after: 121544 Apr 11 18:14 build/kukui/RO/ec.RO.flat 119880 Apr 11 18:46 build/kukui/RO/ec.RO.flat This saves us ~1.5k BUG=b:120588396 TEST=make buildall -j BRANCH=None Change-Id: Ia63477235e23d3c9f340a5e73c4724b986396f63 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/1564491 Commit-Ready: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org>
* 7-seg display: Add config to display port80 msg and power statesAyushee2019-05-033-0/+19
| | | | | | | | | | | | | | | | | Adding this CL to display port80 message and power states of EC & SOC on the 7-segment display. BRANCH=None BUG=b:130738086 TEST=Manually tested on intelrvp, able to verify the power states and port80 message displayed on the 7 segment display Change-Id: I4437cfcd60662c8637e406e425f98fad1a4ba7ed Signed-off-by: Ayushee <ayushee.shah@intel.com> Reviewed-on: https://chromium-review.googlesource.com/1575433 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Ayushee Shah <ayushee.shah@intel.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* ish: make sure last_deadline always validHyungwoo Yang2019-05-031-0/+9
| | | | | | | | | | | | | | | | If there's no timer event with current clksrc_high then last_deadline should have the maximum value(0xFFFFFFFF) within the clksrc_high since we always get timer event at every new clk_high. BRANCH=none BUG=none TEST=Tested in Arcada platform Change-Id: Iebea955b1aefc7d986b493a8be84b8fd25812441 Signed-off-by: Hyungwoo Yang <hyungwoo.yang@intel.com> Reviewed-on: https://chromium-review.googlesource.com/1593092 Commit-Ready: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* cr50: add buffer_units_mask member into struct queueNamyoon Woo2019-05-022-9/+11
| | | | | | | | | | | | | | "q->buffer_units - 1" is performed many times to wrap head and/or tail. It should be calculated once. BUG=None BRANCH=cr50 TEST=None Change-Id: I9714147d5a97afd7aaba00d31a8b10bad50d0942 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1572444 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* ec-devutils: Fix fdpexpect importDaniel Kurtz2019-05-021-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | As of pexpect 3.0, the fdexpect module was moved into the pexpect package. Prior to 4.0, a wrapper module was installed along with pexpect, so "import fdexpect" continued to work. In 4.0 this wrapper was removed. Importing fdexpect from pexpect works for our current pexpect 3.3, and will continue to work when we update pexpect to 4.0+. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> BRANCH=none BUG=chromium:958677 TEST=(0) with pexpect 3.3, (1) sudo servod --board=grunt TEST=(0) Uprev pexpect to 4.2.1, (1) sudo servod --board=grunt => servod works in both cases Change-Id: I9d21042713d0cc1826cf55da4af7a16f44b746bb Reviewed-on: https://chromium-review.googlesource.com/1593419 Commit-Ready: Daniel Kurtz <djkurtz@chromium.org> Tested-by: Daniel Kurtz <djkurtz@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Chris McDonald <cjmcdonald@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* flapjack: Customize EOC according to battery specificationLeo Zhou2019-05-021-0/+14
| | | | | | | | | | | | | | | | The EOC should be set according to the battery specifications of different projects. BUG=b:128891165 BRANCH=none TEST=Do a full charge test Change-Id: I073a246e7694f277929f3159bb4d8692ac772b58 Reviewed-on: https://chromium-review.googlesource.com/1559096 Commit-Ready: YH Lin <yueherngl@chromium.org> Tested-by: YH Lin <yueherngl@chromium.org> Reviewed-by: YH Lin <yueherngl@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* core/minute-ia: link libgcc for 64bit divisionYangzhong Ge2019-05-021-0/+3
| | | | | | | | | | | | | | | | | | | | | libgcc provides 64bit division operation functions for 32bit arch, such as '__udivdi3', link libgcc for general 64bit division on ish. please note for critical performance required case, do not use these functions from libgcc. examples: scale_us2ticks() in chip/ish/hwtimer.c BRANCH=none BUG=b:131590864 TEST=tested on arcada platform Change-Id: I554e4c79f017e098ab83972928376f82fe7b92d1 Signed-off-by: Hu, Hebo <hebo.hu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/1587396 Commit-Ready: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* usb: add inline helper method for CC linesJett Rink2019-05-025-49/+59
| | | | | | | | | | | | | | | | Expressing logic for CC lines can get very verbose. Add helper inline methods that logical describe the condition we are testing to clean up call sites. BRANCH=none BUG=none TEST=Builds, no functional change. Change-Id: I48c117437bc14f3c55473df7f7c778b55af2706d Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1589906 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Sam Hurst <shurst@google.com>
* ish/ish5: fix some HPET issues.Hu, Hebo2019-05-022-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1: extra timer 0 and timer 1 interrupt issue no wait settling before write HPET generical interrupt status register, may cause clear irq failed since value may write failed. this can cause extra timer interrupt issue. 2: new comparator value update for timer 1 may failed need wait settling before update timer 1 comparator value in __hw_clock_event_set() 3: need check main counter value's validity after exit TCG low power mode in low power TCG mode, the main counter value will become invalid, after exit TCG mode, HW will restore it, but FW need to wait check if it's valid. BRANCH=none BUG=b:131515624 TEST=tested on arcada platform Change-Id: I84586285ddb150cbae453f24dd172d238ec5b324 Signed-off-by: Hu, Hebo <hebo.hu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/1583664 Commit-Ready: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Hyungwoo Yang <hyungwoo.yang@intel.com> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Hebo Hu <hebo.hu@intel.corp-partner.google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>