summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Clear OWNERS for factory/firmware branchfirmware-octopus-11297.83.BBrian Norris2021-09-102-10/+1
| | | | | | | | | | | | BUG=none TEST=none Change-Id: I0f03f432ada1064ffba9595be78ca7ab4d25ecd1 Signed-off-by: Brian Norris <briannorris@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3155217 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Owners-Override: Jora Jacobi <jora@google.com> Tested-by: Jack Rosenthal <jrosenth@chromium.org>
* stm32: Fix manual interrupt clearing functionCraig Hesling2020-03-171-1/+3
| | | | | | | | | | | | | | | | | | | | | This fixes a bug in gpio_clear_pending_interrupt, where all pending interrupts are unintentionally cleared. This is not in the code path for normal gpio interrupt handlers, since the normal interrupt clearing occurs in gpio_interrupt (right below this function). BRANCH=none BUG=chromium:1059520 TEST=none Signed-off-by: Craig Hesling <hesling@chromium.org> Change-Id: I4d6fe7947f4d76cf3b57dfbf3bb926e41851c80c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2101208 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit c2c2c083fef813e3e3c70f8c13a1418717ba682d) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2107289
* meep: add convertible SKU IDDevin Lu2019-09-121-5/+10
| | | | | | | | | | | | | | | | This patch adds a convertible SKUID for with Stylus but no rear camera SKU. BUG=b:140360096 BRANCH=octopus TEST=make buildall -j Change-Id: Ied51a2385504088b27c06f41263c746aa84c9243 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1795722 Reviewed-by: Marco Chen <marcochen@chromium.org> (cherry picked from commit 17c82537eaec047c33281eb2f4fb74e3c5d68a55) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1798074
* Dorp: add simplo HIGHPOWER 996QA168H batteryDevin Lu2019-09-062-0/+30
| | | | | | | | | | | | | | | | BUG=b:138089473 BRANCH=octopus TEST=Test on charging/discharging/battery cut off pass. Change-Id: Ib26447af6944c2d21b6603e391f2e2f76c12bb52 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1782397 Reviewed-by: Marco Chen <marcochen@chromium.org> (cherry picked from commit cc6db929b7e2b2b840528574ba77aa8b15363775) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1789943 Tested-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org>
* blooglet: add simplo HIGHPOWER 996QA168H batteryDevin Lu2019-09-052-0/+30
| | | | | | | | | | | | | | | BUG=b:138089473 BRANCH=octopus TEST=Test on charging/discharging/battery cut off pass. Change-Id: I4b345c5738e80f7e32ef7a4fc0bfa84444665e37 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1786877 Tested-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 7c16f9c666f20daf9c360678f92fcc7145665315) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1786890
* garg: remove AR camera supportDevin Lu2019-09-022-38/+1
| | | | | | | | | | | | | | | | | Garg doesn't support AR camera, remove unused code. BUG=b:134854577 BRANCH=octopus TEST=make buildall -j Change-Id: I593cc5ef856e5708449e28ad84ced8fa21b1ffa3 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1771098 Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Nigel Sale <nsale@google.com> (cherry picked from commit 03e1aecae1cdc4f92e80957fbf8555740956cb1c) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1780964
* blooglet: override battery LEDs to indicate system suspendDevin Lu2019-08-301-0/+23
| | | | | | | | | | | | | | | | | As meep, careena and snappy we have some SKUs are non-power LED design, blinking both two side battery white LEDs (1 sec on/1 sec off) to indicate system suspend with non-charging state. BUG=none BRANCH=octopus TEST=make sure both two side LEDs are blinking white after system suspend. Change-Id: I2839309acb91e365b98b5aac024bb7d7ebf287eb Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1771099 Reviewed-by: Marco Chen <marcochen@chromium.org> (cherry picked from commit 2c49a96a9215d29d14e41dcc0554c6aa33e46d3a) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1773028
* garg360: add covertible SKU IDDevin Lu2019-08-261-2/+5
| | | | | | | | | | | | | | | | BUG=b:134854577 BRANCH=octopus TEST=make buildall -j Change-Id: I27785f240da97141dd62ee011cfe1e942f803c5b Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1768495 Reviewed-by: Marco Chen <marcochen@chromium.org> (cherry picked from commit 8064c30fe43d1336cbd3ce302792e27c68ae5125) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1770328 Tested-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org>
* vortininja: Re-assign sku numberWisley Chen2019-08-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | Re-assign sku number for vortininja from (4,5,6,7) to (49,50,51,52) BUG=b:138177049 BRANCH=octopus TEST=make buildall -j Change-Id: I1a982a0fa9503bff0a59710bb36311b1799c0ee9 Signed-off-by: Wisley Chen <wisley.chen@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1768479 Reviewed-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-by: Marco Chen <marcochen@chromium.org> Tested-by: Devin Lu <Devin.Lu@quantatw.com> Tested-by: Marco Chen <marcochen@chromium.org> Commit-Queue: Marco Chen <marcochen@chromium.org> (cherry picked from commit 7f9543f3bb9019deec8c70d4c8d1d84cb7538c27) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1768482 Reviewed-by: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org>
* vortininja: Add vortininja in convertible listWisley Chen2019-08-221-3/+4
| | | | | | | | | | | | | | | | | | | | | | | Vortininja is convertible SKU, so add Vortininja SKU id in convertible list BUG=b:138177049 BRANCH=octopus TEST=make buildall -j Change-Id: Id1040797e11320c7d67be87136d34327ceab09f4 Signed-off-by: Wisley Chen <wisley.chen@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1763889 Reviewed-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Marco Chen <marcochen@chromium.org> Tested-by: Devin Lu <Devin.Lu@quantatw.com> Tested-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 50ca8d5e647b7002650eda35dbc829c42f978bb6) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1763894 Reviewed-by: Devin Lu <devin.lu@quanta.corp-partner.google.com> Tested-by: Devin Lu <devin.lu@quanta.corp-partner.google.com> Tested-by: Tony Huang <tony-huang@quanta.corp-partner.google.com> Commit-Queue: Tony Huang <tony-huang@quanta.corp-partner.google.com>
* blooglet: remove kbbacklight support with non-kbbacklight SKU.Devin Lu2019-08-221-1/+2
| | | | | | | | | | | | | | | | | BUG=b:138180187 BRANCH=octopus TEST=make sure ectool inventory doesn't show keyboard backlight support with non-kbbacklight SKU. Change-Id: Iac1c9b19e139641b88a0407189608dcc2bbfc360 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1760659 Reviewed-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 47a5e51e4a9d0a560da7040b05e3997746629753) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1763892 Reviewed-by: Marco Chen <marcochen@chromium.org> Commit-Queue: Tony Huang <tony-huang@quanta.corp-partner.google.com> Tested-by: Tony Huang <tony-huang@quanta.corp-partner.google.com>
* Fleex: add grabbiter EMR SKU ID(grob360s)Samsp_Liu2019-08-161-1/+2
| | | | | | | | | | | | | | | | | | | Add grabbiter EMR model with appropriate sku id value. BRANCH=octopus BUG=b:137628651 TEST=build and check can be recognize the sku id by ectools CBI and motionsensor can be worked. Change-Id: I1e2452db452e8ef0eaaf92d82b6f308dc045ea90 Signed-off-by: Samsp_Liu <Samsp_Liu@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1753567 Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Marco Chen <marcochen@chromium.org> Tested-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Commit-Queue: Marco Chen <marcochen@chromium.org> (cherry picked from commit 4fb167b9b8ac72959e0e16ca2b45eb7186416e2a) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1757585
* tablet-mode: Fix header file guard and API definitionsDaisuke Nojiri2019-08-131-4/+13
| | | | | | | | | | | | | | | | | | | | | | This patch adds a usual inclusion guard (#ifdef __CROS_EC_*_H) and fixes API descriptions. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: I96149cfe76cff7ab85be4785252a600b565e4a92 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1696913 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1752715 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org>
* cleanup: change initializer for storm_trackerJett Rink2019-08-131-1/+1
| | | | | | | | | | | | | | The octopus firmware branch cannot build with the { 0 } format, but it can build with {}. Since they mean the same thing, use {} everywhere. BRANCH=octopus BUG=none TEST=build on ToT and octopus branch Change-Id: I621dd89c40b8c7297db72a3093631f9aba8dd9b6 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749550 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* octopus: reduce USB-C source current to 1.5Alu.zhang2019-08-131-1/+0
| | | | | | | | | | | | | | | | octopus hardware does not support sourcing 3A over USB-C and 1.5A over USB-A at the same time for any daughter board. Reduce what we advertise to 1.5A. BRANCH=none BUG=b:139110010,b:139201733 TEST=connect a sink device with a pd analyzer to see if source capabilities is 5V/1.5A Change-Id: Idad7a11b28cefda1aabbca540864a6248d826a47 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749947 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* ppc: initialize vbus current limit on initJett Rink2019-08-131-0/+9
| | | | | | | | | | | | | | The nx20p348 should also set the initial current limit during its initialization. BRANCH=octopus BUG=b:139110010,b:139201733 TEST=with CL stack, phaser limits both ports to 1.5A Change-Id: I876b32434bd37bf410d546a3d27f0f7ba949d3ea Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749946 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* PoC: tablet-mode: Disable tablet mode in recovery bootDaisuke Nojiri2019-08-123-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In recovery boot, keyboard could be unintentionally disabled due to unstable accels, which are not calibrated. This patch disables tablet mode in recovery boot. We get the same effect if motion sensors or a motion sense task are disabled in RO. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=chromium:984086,b/137251616 BRANCH=none TEST=buildall Change-Id: Idcf53ad119edbd8ff9362523ec7a72f438ae4401 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1696914 Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit d4a07be7e2638d79ab13c8ad60f68070e36d7310) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1746364 Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org>
* casta & bluebird : make charge state to ST_DISCHARGEYongBeum Ha2019-08-011-1/+2
| | | | | | | | | | | | | | | | | | | | | charge_profile_override() changes charge state from ST_DISCHARGE to ST_IDLE on overtemperature condition. This makes led color to green when there is no adapter. This CL skip changing charge state when charge state is ST_DISCHARGE. BUG=b:138268383 BRANCH=None TEST=None Change-Id: I581a42641cf6632657b8e19ab41b532805024d9e Signed-off-by: YongBeum Ha <ybha@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1715952 Reviewed-by: Furquan Shaikh <furquan@chromium.org> (cherry picked from commit f911ddd9d425c2159d21758ba9eb05051180969a) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1730370 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* dorp: add support keyboard backlightDevin Lu2019-07-302-3/+4
| | | | | | | | | | | | | | | | | | | | | Currently Dorp use the same firmware with Meep, enable keyboard backlight support from Meep. BUG=b:138177049, b:138413969 BRANCH=octopus TEST=make buildall -j, make sure ec console kblight can adjust keyboard backlight brightness. Change-Id: Id624e31a85c296468199e4532b758fd4777e70d2 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1716681 Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit b0bac9211ef3bd10115114dd7bac4a7fe643fe55) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725370 Commit-Queue: Justin TerAvest <teravest@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org>
* dorp: enable ec_feature kbbacklit by SKUIDDevin Lu2019-07-302-0/+22
| | | | | | | | | | | | | | | | | | | | Consider Dorp use the same firmware with Meep and only Dorp has kbbacklight SKU. so we're only reporting Dorp kbbacklit SKU on ec_feature. BUG=b:138177049, b:138413969 BRANCH=octopus TEST=make sure ectool inventory has show keyboard backlight support with Dorp kbbacklit SKU. Change-Id: I952b48128669790d7018017e3fb550c73f256d28 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1723890 Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 2d50d3d5cb5c4c891e5281e9c48a87ff4361ada5) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725372 Commit-Queue: Justin TerAvest <teravest@chromium.org>
* garg: add simplo BYD 916Q2294H batteryDevin Lu2019-07-252-4/+34
| | | | | | | | | | | | | BUG=b:135986521,b:136786005 BRANCH=octopus TEST=Test on charging/discharging/battery cut off pass. Change-Id: Idda1c4bc027b44980e047dc89ccae3c26e23cfbe Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1710208 Reviewed-by: Marco Chen <marcochen@chromium.org> (cherry picked from commit db49bc03b9b816e8c902a48478a18b9abe52b9a7) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1715955
* drivers/tcpm/ps8xxx: Return hardcoded vendor and product idKarthikeyan Ramasubramanian2019-07-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | When the requester does not expect the chip information from the live target, return the hardcoded vendor and product id. BUG=b:128820536,b:119046668 BRANCH=None TEST=Boot to ChromeOS Change-Id: I74affb00951411a3483258a8db165038e7eb683f Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1617894 Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Auto-Submit: Karthikeyan Ramasubramanian <kramasub@chromium.org> (cherry picked from commit c3aa5d72a4a74245589c749d97cb1cca39e6380d) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1713107 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> (cherry picked from commit 3bae3b6558228aafb67b664ab13c96dff06ddf13) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1713109
* ec_commands: Rename 'renew' to 'live' in EC_CMD_USB_PD_CHIP_INFOKarthikeyan Ramasubramanian2019-07-2211-24/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | Semantics of renew field in EC_CMD_USB_PD_CHIP_INFO is changing as follows: 0 -> Return hard-coded info for Vendor ID/Product ID and cached info for the Firmware Version 1 -> Return the live chip info for Vendor ID/Product ID/Firmware Version Also rename the 'renew' field to 'live' to match the new semantics. BUG=b:128820536,b:119046668 BRANCH=None TEST=make -j buildall; Boot to ChromeOS. Change-Id: Ie3dd022336b0be5c9728bb0ebabef32b7a6b5d57 Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1617893 Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Auto-Submit: Karthikeyan Ramasubramanian <kramasub@chromium.org> (cherry picked from commit 5936367096413abf294aa4584df53ec80bf8ef4c) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1713105 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> (cherry picked from commit 8b3577c2e46150d9ee9b3a2166c9e0ba0a5c15fe) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1713108
* Bobba: Add new LGC batteryben.chen2@quanta.corp-partner.google.com2019-07-162-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | new battery: LGC AP19A8K BUG=b:135496272 BRANCH=octopus TEST=Make sure battery can cutoff by console "cutoff" or "ectool cutoff" and resume by plug in adapter. Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com> Change-Id: I11a00c0ee88a668dcfd995b46f4b6dd43fec318b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1657076 Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-by: David Huang <David.Huang@quantatw.com> Tested-by: David Huang <David.Huang@quantatw.com> (cherry picked from commit a19c530a97049b2ae12bc2b465a02519cfb67f09) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1703727 Reviewed-by: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 4936bb0bfeb48b7b141399f36ec44798542f0e50) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1704162 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* Fleex: Set minimum battery level for Try.SRC and resetsDiana Z2019-07-081-0/+10
| | | | | | | | | | | | | | | | | | | | | Some battery and fuel gague combinations for fleex are unable to withstand the loss of a charger's Vbus signal when they are reporting 1% charge. This change increases the Try.SRC battery required, and also prevents the PD state machine from starting reset timers until the battery is at 2%. BUG=b:128935567 BRANCH=octopus TEST=verified hard resets don't occur on grabbiter when system is locked and coming back from battery cutoff with low battery, verified soft followed by hard reset later occurs when battery passes config level Change-Id: Ia0eca111daaf6b63f71c397231de4cfa30e34b8c Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1606742 Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 6b83e8b1cfbd7a9fd4b7e4e69113348c51efea4f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1691111
* USB PD: Refrain from resets if battery is lowDiana Z2019-07-083-11/+112
| | | | | | | | | | | | | | | | | | | | | | | | This change introduces a new clause to the SNK_DISCOVERY state to prevent reset timers from starting when a battery is reporting below a configured level, which indicates the point at which the battery is capable of withstanding the potential loss of Vbus. Once the battery has charged enough, a timer for soft reset will begin to trigger PD negotiation to start over if it hasn't been able to complete. BUG=b:128935567 BRANCH=octopus TEST=verified hard reset doesn't occur on grabbiter when system is locked and coming back from battery cutoff without enough battery, verified soft followed by hard resets after the battery had charged Change-Id: Ib885d2b55acacad7ef1375572b0e6d243e639bdf Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1565147 Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 4c7d52d7e308ef17011318b7217def69025ecbc9) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1691110
* USB PD: disable port if TCPC interrupt storm detectedJett Rink2019-07-081-2/+41
| | | | | | | | | | | | | | | | | | | | | If we get too many interrupts too fast, then we will starve the rest of the EC. Disable an overactive port for 5 seconds. BRANCH=none BUG=b:134702480,b:128701054 TEST=7-magic hub no longer watch dog resets phaser port 0, HDMI dongle plugged into port 1 still able to function while port 0 is periodically suspending Change-Id: Ic2d13ecc64990994ffc8e3fb68537aa909657745 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1650484 Tested-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org> (cherry picked from commit f8220b934619517a5034ccbf7829df13578fb4d9) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1687602 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org>
* common: Add EC_CMD_LOCATE_CHIPfirmware-octopus-11297.81.BDaisuke Nojiri2019-06-116-61/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces EC_CMD_I2C_LOOKUP with EC_CMD_LOCATE_CHIP. This is a more generic command which locates a peripheral chip in i2c or other bus types. Additionally, it includes the following changes: - Change chip (device) type # of CBI_EEPROM (from 1 to 0). - Support TCPCs. localhost ~ # ectool locatechip 0 0 BUS: I2C; Port: 0; Address: 0x50 (7-bit format) localhost ~ # ectool locatechip 1 0 BUS: I2C; Port: 0; Address: 0x0b (7-bit format) localhost ~ # ectool locatechip 1 1 BUS: I2C; Port: 1; Address: 0x29 (7-bit format) localhost ~ # ectool locatechip 1 2 EC result 11 (OVERFLOW) Index too large localhost ~ # ectool locatechip 2 Usage: locatechip <type> <index> <type> is one of: 0: CBI_EEPROM 1: TCPCs <index> instance # of <type> Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=Verified ectool locatechip work on Nami. Change-Id: I1a773ced65b1c5ce3656f03eff04a6eadd4bc5ff Reviewed-on: https://chromium-review.googlesource.com/1614582 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 1cb4329139b988153f8c20e69c23ba8214257c79) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1652284 Tested-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org>
* Casta: Adjust power button init timeout for no battery bootsDiana Z2019-06-071-1/+11
| | | | | | | | | | | | | | | | | | | | Bluebird units may need some additional time to complete PD negotiation when booting without a battery, so allow an extra second during power button init. This additional time is due to the fact that they do not have a TCPC on port 1, so the PD1 task will take longer to attempt to communicate with the TCPC before suspending. BRANCH=octopus BUG=b:134462099 TEST=removed battery on bluebird unit and verified it could reliably automatically power-on when AC was inserted Change-Id: I769e10db7bbf223a5d174bae3ec1b7a4b9f542c4 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1646992 Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 1cd577fa390d15919cee520c8655b2e08251a88d) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1650038
* usb/mux: Do not connect MUX when PD disconnectedRuibin Chang2019-06-061-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When chipset power up to S5->S3 state set PD_EVENT_POWER_STATE_CHANGE, pd task set mux usb mode whether c-port is attached or not. If c-port is nothing attached at the setting moment, then mux detects nothing and goes to low power state. Plug-in type-c usb device, after debounce pass, we set mux usb mode and mux responds i2C NAK (due to in low power mode). This CL changes that do not connect MUX when PD disconnected. For example ps8751 is used for mux case. When power up(S5->S3), we should set mux none mode whether c-port is attached or not. Once type-c usb device plug-in, after cc debounce pass, we will set mux usb mode in X_DEBOUNCE_DISCONNECT state. BRANCH=None BUG=b:133196882 TEST=After console cmd reboot and reboot hard, type-c usb device plug-in on ampton and get type-c port status by "ectool usbpdmuxinfo". Change-Id: Ia538af48c450e12af1438a6aa9a6e4e426e2f616 Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/1609262 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 30258567e5e4cdb50f4a9238b27f6ad1b064bd65) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1645638 Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* USB PD: Only maintain contracts over sysjump when sinkingDiana Z2019-06-051-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | Currently, the pd_task will attempt to maintain both source and sink contracts after an unlocked sysjump or unlocked EC reset. However, the pd_task will disable Vbus to any partners it was sourcing, causing the soft reset process to lead to a hard reset and disconnection. Since the port partner will be without Vbus and unable to respond, treat the contract as terminated and the port as the default state. BUG=b:132110509 BRANCH=octopus TEST=unlocked sysjumps with a display port dongle and hoho to ensure they were treated as disconnected, unlocked sysjumps with charger to ensure it was soft reset Change-Id: Ie477f393ea828a4e880c8e8ccbe72539e8be721a Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1639212 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> (cherry picked from commit 03fdd40624e42fd9e156f76693f72d64bc509518) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1645381
* USB PD: Disable Vconn as well as Vbus on initDiana Z2019-06-051-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Currently, the pd_task will call a power supply reset during init which cuts Vbus to the port partner. However, on a sysjump we may still be sourcing Vconn to a partner which will leave it in an inconsistent state of having Vconn but no Vbus. Depending on the port partner's power topology, they may even feedback some amount of voltage on Vbus, causing them to be detected as a charger. After disabling Vbus to the port partner, disable Vconn as well. BUG=b:132110509 BRANCH=octopus TEST=unlocked EC resets and sysjumps with a display port dongle and hoho, ensuring neither was detected as a low power charger after Change-Id: Ica9b72167bc981faeaebac18bac476ca9b7bfe7f Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1639211 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> (cherry picked from commit 81255185ec4847ada2f09230f2c152809676a719) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1645380
* garg: add simplo 916Q2286H batteryDevin Lu2019-05-312-2/+30
| | | | | | | | | | | | | | | | | | | Garg is using the same battery as blacktip(CL:807967). BUG=b:133125112 BRANCH=octopus TEST=make buildall -j Change-Id: I1624517ee5e2f9eb9ffec204d2c39b85728fc8de Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/1634630 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit 6b2899a38dd5848f63e2380d2718ce5f43f16fb7) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1635332 Commit-Queue: Jett Rink <jettrink@chromium.org>
* common/i2c_master: Add a subcommand to protect all TCPC portsKarthikeyan Ramasubramanian2019-05-314-39/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the I2C tunnels of all TCPC ports are protected implicitly when the system jump is disabled. Depthcharge issues that command after the EC jumps to RW and before the TCPC firmware update is applied. This leads to failure while updating the TCPC firmware and hence a reboot loop. Fix this behavior by adding a sub-command to protect all the I2C tunnels so that depthcharge can issue that command after both EC SW Sync and TCPC Firmware update are done. BUG=b:129545729 BRANCH=None TEST=make -j buildall; Boot to ChromeOS. Force a TCPC FW update and ensure that the reboot loop does not happen. Change-Id: I5dd2314cf82dcfff520dc32ce3ced232326ab3d5 Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/1605260 Commit-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1638481 Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* USB-PD: Consolidate tcpc_config declarations in usb_pd_tcpm.hDaisuke Nojiri2019-05-313-2/+6
| | | | | | | | | | | | | | | | | | | | | | Currently, tcpc_config is declared in two places. This patch consolidates declarations in usb_pd_tcpm.h. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: I4f30d06b1eaeb6a83b664de76116d85d65a9fc97 Reviewed-on: https://chromium-review.googlesource.com/1616007 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1638480 Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* Prevent power on with disconnected batteryDiana Z2019-05-301-0/+4
| | | | | | | | | | | | | | | | | | | | Currently, if a battery is disconnected but reporting a charge percentage over CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON_WITH_AC, a system will be allowed to boot despite the battery not providing power yet. This change verifies that the battery is connected, as well as having a high enough charge percentage before allowing boot. BUG=b:133724948 BRANCH=octopus TEST=verified casta can power on once CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON_WITH_AC is passed and battery is connected Change-Id: Ide9fe041a328bbeaeee8b9e7f9788b5731ac80ea Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1637296
* ec/common: Introduce IS_ENABLED to check config optionsRaul E Rangel2019-05-301-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is copied from coreboot with added support for empty defines. We should favor using this macro instead of using #ifdef. The macro will evaluate to 0 if the option is not defined. This allows all the code to be compiled and then the optimizer will remove the sections of code that won't ever run. This way we don't end up with #ifdef sections with invalid syntax because no one ever tests that specific permutation. e.g., if (IS_ENABLED(CONFIG_USBC_SS_MUX)) { ... } There are currently spots where #ifdefs are nested 3 levels deep. This makes it very hard to follow the code. BUG=none TEST=Added some code that uses the macro and verified it executes when the config value is defined, and doesn't when it's not. Change-Id: I796b899f7cbbd3067ea3a4d52527d980c68935c9 Signed-off-by: Raul E Rangel <rrangel@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1553573 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 46e28e28c2973db09dd9a7a2c14db3cd2609905a) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1634799 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* garg: add flash_ec supportDevin Lu2019-05-301-0/+4
| | | | | | | | | | | | | | BUG=b:132668378 BRANCH=octopus TEST=manually ran flash_ec with servo_v2. $ ./util/flash_ec --board=garg --image ${IMG} Change-Id: I8c40f2f13afd1034fb1502c5556d6ca6b7832534 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1635132 Tested-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org>
* common: add __maybe_unused attributeJack Rosenthal2019-05-291-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | Functions which might go unused under a particular set of CONFIG_ options have historically been wrapped in an ifdef to clear up compiler warnings about unused functions. Since we are trying to reduce conditional compilation in favor of macros like IS_ENABLED, the Linux kernel style guide suggests using __maybe_unused for these functions. This adds the __maybe_unused macro. BUG=none BRANCH=none TEST=make buildall -j Change-Id: Ia8239ad566b5aa518c258eaab0e4dceada790da4 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1602489 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit f1a16a6688f52e3de9809402564b26af67f265a6) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1634800 Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* motion: Define macros for custom eventsGwendal Grignou2019-05-2829-48/+106
| | | | | | | | | | | | | | | | | | | Define macros to define custom events used by sensor interrupt handlers. Remove CONFIG_ for activity events. BUG=none BRANCH=none TEST=compile, sensors work on eve. Change-Id: I08ef6ed2a004466ebc5f7650d6952a150b9de713 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1272189 Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 4b9a3c0cc9cee9ed85ba18dd2f9c23e90ca051fc) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1631305 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* common: Add BIT macroGwendal Grignou2019-05-284-758/+768
| | | | | | | | | | | | | | | | | | | | As requested for integration in kernel mfd subsystem, use BIT(...) instead of (1 << ... ). Add the macros, apply just to ec_commands.h for now. BUG=None BRANCH=None TEST=Compile Change-Id: I8509f1e8dc966799c3c4f0269b15f1ccc4138c07 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1518658 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 8c6e95303832f7d445b415f1a1c0b0e34487ab2f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1631301 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* casta : Blink red led to indicate low batteryYongBeum Ha2019-05-281-2/+3
| | | | | | | | | | | | | | | | | When low battery(under 1%) is connected to system and ac is connected, the system waits till RSOC becomes 1%. We need to notify user that battery is charging to get enough power to power on. BUG=b:133459206 BRANCH=octopus TEST=flash EC, connect PD adapter and check if red led blinks on low battery(under 1%) Change-Id: Ie5f23e0dfe170ea4317103682733f88c203c2339 Signed-off-by: YongBeum Ha <ybha@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1631248 Reviewed-by: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org>
* usb_port_power_smart: support a new usb_charge_mode - USB_CHARGE_MODE_DEFAULT.Marco Chen2019-05-273-34/+30
| | | | | | | | | | | | | | | | | | | | | | | OS can leverage `ectool usbchargemode` to control the usb_charge_mode in the EC. In this case, we might want to set mode back to the default one defined in the config of board level therefore the new usb_charge_mode is added for this purpose. BUG=b:130767435 BRANCH=octopus TEST=1. make -j buildall 2. ectool usbchargemode 0 0x5 0 3. usb charging mode is set to CDP in Octopus board Change-Id: Ib7397993fc49e6c744dc55b9adace95dd6b8bd3a Signed-off-by: Marco Chen <marcochen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1621452 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 65e137d416970043463d00905f96f7590e847fbe) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1630329
* usb_port_power_smart: data of USB_SYSJUMP_TAG is a struct not uint8_t.Marco Chen2019-05-271-5/+8
| | | | | | | | | | | | | | | | | | | | BUG=b:130767435 BRANCH=octopus TEST=1. `make buildall -j4` 2. execute `ectool usbchargemode 0 2 1` in EC RO stage. 3. jump to EC RW stage. 4. check whether charge_mode in RW is restored well in usb_charge_init() Change-Id: I57346d3d92fa58a4d07b7509846123fc8f0c93fc Signed-off-by: Marco Chen <marcochen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1626890 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> (cherry picked from commit 583f6db2d7c22c402c260531c1834c9db39d974a) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1630328
* bobba: add blorb and droid into the support of controlling USB Type-A power.Marco Chen2019-05-271-0/+34
| | | | | | | | | | | | | | | | | | | | | | | Blorb and droid are first projects we are tyring to enable the control of USB Type-A power in the run time. This CL set inhibit_charging_in_suspend to USB_DISALLOW_SUSPEND_CHARGE in default and relies on OS to change this flag based on the status of USB device on the USB Type-A port. BUG=b:130767435 BRANCH=octopus TEST=1. `make BOARD=bobba -j4` 2. check power of USB Type-A port is disabled when OS gets into S0iX and no any USB device is ever connected to DUT. Change-Id: I19ff69df89a857cd3feb594641b6562f20356879 Signed-off-by: Marco Chen <marcochen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1621451 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit 3462b178484efa2e643b89291b3961e6aafca655) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1630327
* garg: initial EC imageDevin Lu2019-05-247-0/+782
| | | | | | | | | | | | | | | | | This image is based on bobba PVT from ToT and SKUID is TBD. BUG=b:132668378 BRANCH=octopus TEST=make buildall -j Change-Id: I6471b4ec2cf49d682483782384114594f62f916d Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/1616892 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit 931b4bd0bf604bb41438680b9eb58101863021ec) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1628427 Commit-Queue: Diana Z <dzigterman@chromium.org>
* pd_protocol: Add ready_state_holdoff_timer.Aseda Aboagye2019-05-241-17/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently a sink holdoff timer was added to the PD stack which allowed the state machine to prevent initiating any messages for 200ms after entering the SNK_READY state. This was to give time for some chatty sources to send messages to avoid a collision. Apparently, the same thing can happen when we are a source (collision with chatty sink). This commit reuses the holdoff timer for resolution as a source as well, which starts after an explicit contract is established. In order to prevent any potential new collisions, some jitter based off of the system timestamp is added to the holdoff timer. BUG=b:132202148, chromium:925618 BRANCH=firmware-atlas-11827.B TEST=Flash atlas, plug in a fully featured C-C cable between atlas and the LG 27UK850-W, verify that no conflict occurs and external display always works. TEST=Verify that no messages are initiated by the source within 200ms of sending PS_RDY. TEST=Flash nocturne, verify Dell U3818DW still works over C-C cable. TEST=Flash nocturne, verify CableMatters MST DP hub still works with charge through. TEST=Verify with Twinkie that messages are sent at varied timestamps between 200-300ms in the SNK/SRC_READY state. Change-Id: I195199de271950ae09c2b26194ddc5f271b296a0 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/1600510 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit 7495960f1f6f780fa63a57b9caaddbb82bdd2a32) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1626035 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* casta:Do not override charge on dead batteryYongBeum Ha2019-05-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | charger_profile_override() change charging voltage & current as battery temperature. The flag for bad temperature is set when battery is not responsive then the current is set to 0. Charge doesnot charge dead battery and the battery can't wake. Then the system can't power on with dead battery. BUG=b:131126731 BRANCH=octopus TEST=flash EC and check if dead battery is charged. Change-Id: I3a46442344f89d129c4b90b0b7ceb9ffc863fbf3 Signed-off-by: YongBeum Ha <ybha@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/1605298 Tested-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> (cherry picked from commit bd7bcb8a50da51032b73ca6b3990fc36955980e7) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1626313 Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* Casta: Adjust charger configs for low battery bootingDiana Z2019-05-231-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | When a locked system boots up with a very low or non-communicating battery, the DUT should refrain from booting S0 in order to avoid hard reset brown outs after the system jumps to RW and begins attempting PD negotiation. BUG=b:131126731 BRANCH=octopus TEST=loaded onto locked casta with low battery, verified that the system didn't boot to S0 until the battery had passed the min battery percent configuration Change-Id: I64736eb1d39883cd95a5e317b1f964354e6f8e41 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1595272 Tested-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> (cherry picked from commit 8eb7121070c4e573fd66cbaabab6f0111bcffcb0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1626891 Reviewed-by: YongBeum Ha <ybha@samsung.com> Tested-by: YongBeum Ha <ybha@samsung.com>
* Casta: Increase board_hibernate() wait to avoid hard resetsDiana Z2019-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When hibernating with AC plugged in, casta will try negotiating down to 5V. This negotiation may sometimes take longer than the currently allocated sleep, causing the port partner to go into error recovery (re-sending PS_RDY, followed by soft resets, followed by a hard reset). This hard reset will wake the system back up from hibernation. Increasing this sleep to 300 ms appears to give enough time for a GoodCRC to be send to the PS_RDY message from the charger, avoiding the hard reset. Note that hibernating on AC is not a customer or factory requirement, as the typical EC hibernate scenario is when there is no external power and the battery needs to be conserved. BRANCH=octopus BUG=b:130687403 TEST=flashed to casta EVT, ran hibernate key sequence several times with AC plugged in and verified system hibernated Change-Id: Ia40ee63f3cf9a244ba35b4cc700e2b41eea1dde5 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1584768 Tested-by: YongBeum Ha <ybha@samsung.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: YongBeum Ha <ybha@samsung.com> (cherry picked from commit d3f26175e58a1686def18af02239b4693674bc8f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1626312