summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Common: move for loop initial declarationDiana Z2019-04-181-2/+6
| | | | | | | | | | | | | While builds on cros/master allow variables to be initially declared in for loop statements, builds on firmware branches (ex. octopus) may not. BUG=None BRANCH=octopus TEST=builds on master, builds picked to octopus branch Change-Id: I450d8c564b508a5f51a7784ce67b0664ab97d8ba Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1572150
* USB PD: Suspend ports when resetting TCPCs during cold rebootDiana Z2019-04-161-1/+9
| | | | | | | | | | | | | | | | | | | | | Currently, when EC cold reboots run, they reset the board's TCPC chips, but do not communicate this fact to the PD tasks. This may lead to the PD tasks reading register values with are incorrect or not yet initialized. Before resetting the TCPCs, put each port into suspend to prevent this. BUG=b:129092057 BRANCH=octopus TEST=Ran several EC resets as well as EC cold reboots with source and sink partners, verified we successfully maintained connection with the port partner without hitting contract disagreements Change-Id: I6d509c4c6b22400b6250e2740e7927be92373802 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1538751 Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 28d6be82e967db846cbd2329a9dff48e55770cb6) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1568597
* TCPC: Set charger vbus during initDiana Z2019-04-161-0/+7
| | | | | | | | | | | | | | | | | | | | | | For some chargers and TCPCs (specifically in this case, BC1.2 charger and ANX7447 combination), the TCPC will not supply a power status changed interrupt after waking from low power mode with the charger plugged in. In this case, we can use the Vbus presence during init in order to alert the charger task. BUG=b:130249342 BRANCH=octopus TEST=checked PD and BC1.2 chargers worked on both ports of phaser, verified they also worked over resets and sysjumps, both locked and unlocked Change-Id: Ie9c581a7b5a21c093a10d3e8d57cf27ac48fa138 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1565170 Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 7b01a7716c33c4c01907acc88adba7cc1c15199e) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1568885 Tested-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com>
* octopus: correct GPIO - KB_BL_PWR_EN to UNIMPLEMENTEDMarco Chen2019-04-164-8/+8
| | | | | | | | | | | | | | | | | | First wave projects don't have any board with keyboard backlight so the GPIO - KB_BL_PWR_EN should be configured by macro of UNIMPLEMENTED instead of output direction. BRANCH=octopus BUG=b:130329644 TEST=buildall Change-Id: I5c37b4b5ec3eb3f629c6d494064a6a27a3a1417c Signed-off-by: Marco Chen <marcochen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1564493 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit ebb1a8ebc4efac1a7bb4a74f25f6ef433adcee99) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1568888
* casta:Turn on green led when charge state is idleYongBeum Ha2019-04-111-1/+1
| | | | | | | | | | | | | | | Battery led is green when charging is stopped, AC is connected and system is S5. BUG=b:130334341 TEST=Build & flash EC then check battery led. Change-Id: Ib31a94ba5ad9a7e78cc87a3bf1980638ae9599c3 Signed-off-by: YongBeum Ha <ybha@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1564379 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org>
* anx7447.c: change VBUS present detection interfaceXin Ji2019-03-291-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ANX PD has two way to get VBUS present info, 1:ADC, 2:Comparator the ADC has been reset at chip reset stage, the comparator(0x1e:bit2) is analog part, it is not been reset by chip reset. there is a corner case which EC TCPM detect VBUS present info at chip reset stage(at system rebooting stage, EC TCPM issue TEST_R signal, this will trigger chip hardware reset). the original VBUS present function checks the VBUS from ADC, the ADC register value became to 0 while at chip reset stage, so at this moment, EC TCPM need check 0x1e:bit2 to get real VBUS present info. BRANCH=None BUG=b:129092057 TEST=Tested on Phaser, reboot stress test. Change-Id: I1e847c88b22684bc9b17243628179bad534801b2 Signed-off-by: Xin Ji <xji@analogixsemi.com> Reviewed-on: https://chromium-review.googlesource.com/1535085 Commit-Ready: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit 9c7428ea97fb6606979607457a86a1ebf8ec9b19) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1545610 Tested-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> Commit-Queue: Justin TerAvest <teravest@chromium.org>
* bloog: add batteries configurationDevin Lu2019-03-262-2/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add batteries configuration as following: bloog: 1. LGC MPPHPPMD021C 2. Coslight B00C368598D0001 bloogaurd: 1. DynaPack DAK126150-W0P0703HT 2. DynaPack DAK126150-W020703HT 3. DynaPack DAK126150-W0G0703HT 4. Simplo 996QA149H 5. Simplo 996QA150H 6. SDI P21GGH-03-N02 BUG=b:128371185 BRANCH=none TEST=make buildall -j Change-Id: If68a4dd6f34e314ee1fd24d5ef5f896af69bd0d3 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/1525590 Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit dc4167822126a4cb3412e3e6c1255b014924b7d5) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1538109 Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org>
* bloog: Remove support for board version 0Devin Lu2019-03-201-15/+0
| | | | | | | | | | | | | | | | | | bloog is meep follower, synchronize CL:1525064. BUG=none BRANCH=octopus TEST=make buildall -j Change-Id: I774ff552db381949e28ba46583a9b5fb23d32c7e Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/1525901 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit f5e3d45ffc068ef5dcb2d5c265d292b60aab9514) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1532849 Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* Phaser: Remove support for early board versionsDiana Z2019-03-201-15/+0
| | | | | | | | | | | | | | | | | | At this point, support for the early board versions can be removed. This leaves the board code cleaner, and provides a better starting point for any follower projects. BUG=b:128413812 BRANCH=octopus TEST=builds Change-Id: I0eda3ecc5b33bfe0721a0fa9d59f7884a0d3732e Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1525066 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 1d95cefbce43059d2ff74f8ad3ad01ff7c06b50f) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1532848
* Fleex: Remove support for board version 0Diana Z2019-03-202-35/+1
| | | | | | | | | | | | | | | | | | At this point, support can be removed for board version 0. This leaves the board code cleaner and provides a better starting point for any follower projects. BUG=b:128413812 BRANCH=octopus TEST=builds Change-Id: Ibdf9cdea5ef930ae3ff566679e5ecff9c9c78959 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1525065 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 6e4fcc3c4f840df5ec295656737752d8c66253e6) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1532847
* Meep: Remove support for board version 0Diana Z2019-03-201-15/+0
| | | | | | | | | | | | | | | | | | At this point, support for board version 0 can be pulled from the code. This leaves the board file cleaner to read, and also creates a better starting point reference for followers. BUG=b:128413812 BRANCH=octopus TEST=builds Change-Id: I331383d21fda9b4e6ca37df47c0025f00e54698d Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1525064 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 1638f1643fc91632581f53342cd5667da529c439) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1532846
* bloog: add flash_ec supportDevin Lu2019-03-191-0/+4
| | | | | | | | | | | | | | | BUG=b:127732205 BRANCH=octopus TEST=manually ran flash_ec with servo_v2. $ ./util/flash_ec --board=bloog --image ${IMG} Change-Id: I38c021ce149e9303c752cd6190f2bb64d8650665 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1530310 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* casta : Turn on blue led when system is onYongBeum Ha2019-03-181-1/+5
| | | | | | | | | | | | | | | | | | When system turns on violet led is shown for a while. So EC makes green and red led turn off when blue led is turned on. BUG=b:128009540 BRANCH=octopus TEST=builds, flash and check led color when system turns on Change-Id: I1b31c372d0878c02f63c562d7daf37f05a2eb329 Signed-off-by: YongBeum Ha <ybha@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/1517060 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit f965ca05e6130c4a00e7091d23ec8aa0c67abcb1) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1522573
* bloog: initial EC imageDevin Lu2019-03-147-0/+825
| | | | | | | | | | | | | | | | | | This image is based on meep PVT from ToT and SKUID is TBD. BUG=b:127732205 BRANCH=octopus TEST=make buildall -j Change-Id: Ifbc5ea6e0001a22bd3224fa5afcd81c62e274283 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/1514438 Reviewed-by: Marco Chen <marcochen@chromium.org> (cherry picked from commit f2a30e172790538db7327e25b7f2e9122f3cc6d0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1523108 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* PD: Set Rp consistently on initial connection, increasing laterDiana Z2019-03-112-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This change ensures that the charge_manager always selects CONFIG_USB_PD_PULLUP on inactive ports. This should prevent us from presenting Rp 3.0A on an initial source connection, which can trigger CCD mode detection. This change also sets the correct Rp to represent our current capabilities after Vconn is sourced, when we should be able to set Rp 3.0A without triggering CCD. BRANCH=octopus BUG=b:123063171, b:124531988 TEST=on orbatrix with an HDMI dongle, added debug prints into the tcpci set_role_ctrl function to ensure that any Rp values set before the partner was attached were to 1.5 A and Rp was set to 3.0 A after the connection was stable, regardless of whether the dongle had been plugged into port 1 previously Change-Id: Iba38f9c07d85c1eb03ae1b8b3e476197a9841121 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1487116 Tested-by: Matt Wang <matt_wang@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 4524f0cd70fb5a96d2618a2f4a2bb43ecc6f36e7) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1515818
* USB-PD: Disable Vconn on SRC_DISCONNECTDaisuke Nojiri2019-03-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, source only devices do not turn off Vconn when a partner is disconnected. This causes the polarity detection to be disabled. This patch turns off Vconn on SRC_DISCONNECT for !CONFIG_USB_PD_DUAL_ROLE boards. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/122861749 BRANCH=Kalista TEST=Plug in an ethernet dongle via a USB-C-to-A adapter. Replug it upside down and verify Ethernet is turned on on both sides. Change-Id: I4ac303f2121d9e4114ce7097db304e4f65f27ae0 Reviewed-on: https://chromium-review.googlesource.com/1412228 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Zhuohao Lee <zhuohao@chromium.org> (cherry picked from commit e72e82db71624a1ef02725d384ae06a138585a01) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1515817 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* common/usb_pd_protocol: Set port in LPM at the start of initKarthikeyan Ramasubramanian2019-03-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | During initialization, PD ports are not marked as in Low Power Mode. This causes other tasks not to wait before the TCPC is initialized leading to invalid state information. Set the ports as in Low Power Mode at the start of initialization, so that other tasks wait until the TCPC is initialized and ready. BUG=chromium:934332, b:124131293 BRANCH=octopus TEST=Ensure that the system boots to ChromeOS. Ensure that the device detects the USB stick attached to servo v4 at recovery mode with or without the power pass through and boots from it. Change-Id: Id4963fc0540ab092bb5be20cada64fe34a9272de Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/1492531 Commit-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit aef2f9d7910ce9309340993be1b22331bedc4bd8) Reviewed-on: https://chromium-review.googlesource.com/c/1497913 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* Fleex: Implement new polymer battery parametermatt_wang2019-03-012-0/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | Fleex support BYD/LGC/SIMPLO/SWD new polymer battery This patch makes EC configure battery parameters differently based on manufacturer name. BUG=b:122944526 BRANCH=octopus TEST=Verify BYD/LGC/SIMPLO/SWD polymer battery can charge/discharge and can do battery-cutoff via ectool "batterycutoff" and can wake up from drain battery/battery-cutoff Change-Id: Id5db1653cb4d2c36143b45abfa2472fe20c1edfb Signed-off-by: matt_wang <matt_wang@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/1490797 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Matt Wang <matt_wang@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Matt Wang <matt_wang@compal.corp-partner.google.com> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 90349be2d089d6b85559ee31e744ee864df4b9ed) Reviewed-on: https://chromium-review.googlesource.com/c/1496769 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* Ampton: Correct HPD GPIOsDiana Z2019-03-011-2/+2
| | | | | | | | | | | | | | | | | | | | Since ampton is using parade as its USB mux on both ports, both HPD lines are inputs. This misconfiguration didn't cause any issues with the EC driving the GPIOs high because they were set as open drain, but does make it impossible to read the HPD level with "gpioget". BRANCH=octopus BUG=None TEST=on apel, verified that gpioget now returns correct level for HPD pins when displays are plugged and unplugged Change-Id: I0ef628cf7ea68884f97a080ba825d780f7feee41 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1492853 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit e56fb445930f50ab46d263c0459ce1612eaf9e9e) Reviewed-on: https://chromium-review.googlesource.com/c/1496768
* Ampton: tune the gyro axis and directionJames_Chao2019-02-271-1/+7
| | | | | | | | | | | | | | | | | BUG=b:126135808 BRANCH=octopus TEST=run the CTS verifier, check the axis and direction is correct Change-Id: I2b6e598e07a5245b452aff8f46c425b72f30b841 Signed-off-by: James_Chao <james_chao@asus.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/1490833 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> (cherry picked from commit 0289c0050a8e8993263769fd6bb5ccf2f5c3e3ae) Reviewed-on: https://chromium-review.googlesource.com/c/1493271 Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* Battery: add support battery-cutoff SMBus block write functionmatt_wang2019-02-274-11/+94
| | | | | | | | | | | | | | | | | | | | | | | | Implements battery-cutoff SMBus write block function BUG=b:122944526 BRANCH=None TEST=Verify battery cuff on fleex via SMBus block write. Change-Id: Ib52146cd3042c4a6d2dbafadd430591936230891 Signed-off-by: matt_wang <matt_wang@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/1470462 Commit-Ready: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Tested-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com> (cherry picked from commit c2c2776e3a5ee68a1d2a2bab09635692418db998) Reviewed-on: https://chromium-review.googlesource.com/c/1492131 Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Trybot-Ready: Jett Rink <jettrink@chromium.org>
* temp_sensor: Guard thermistor readings by their power rail enable gpioScott Collyer2019-02-261-6/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a temperature reading is taken using a thermistor circuit when the power rail for that circuit is not powered, then the resultiing reading will convert to a very high temperature which will then lead to a false thermal shutdown event. This CL utilizes an existing config option CONFIG_TEMP_SENSOR_POWER_GPIO to allow for the thermistor driver functions to know which gpio to check to see if a power rail is enabled or not. If the rail is not enabled, the function returns EC_ERROR_UNKNOWN so the reading will be ignored by the calling function. Since this change to the thermistor driver is dependent on the config option, it does not affect in existing boards, but can be used for boards that have this requirement. BRANCH=none BUG=b:123900860 TEST=Verified that the the EC console message 'thermal SHUTDOWN' no longer appears following an EC reboot as the ADC readings are now ignored if the GPIO controlling the power rail is not enabled. Change-Id: I92b010ab7e801f4897edb3a6d0325d9d7fc74f21 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1448816 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit af64914692f5469782882157b633368b25b2e3a8) Reviewed-on: https://chromium-review.googlesource.com/c/1489068 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* Ampton: correct thermistor reading functionDiana Z2019-02-142-8/+2
| | | | | | | | | | | | | | | | | | | | | The charger thermistor on ampton is tied to the PP3300_A rail, rather than the PP6000_LDO_OUT rail which bip used. As such, the charger reading does not depend on AC being present, but does depend on the A rail being enabled. BUG=None BRANCH=octopus TEST=loaded onto apel and confirmed "ectool temps all" now returns charger temperature with AC unplugged, in G3 "temps" will show the ambient and charger sensors as not powered Change-Id: I2ae03899fba8a436e34452bbc644f5e872afd408 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1457076 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 5ea22dcbf4c467d3610eeb7dfdddec5f8c286d4f) Reviewed-on: https://chromium-review.googlesource.com/c/1473513
* Casta: Tune USB mux registersDiana Z2019-02-141-0/+10
| | | | | | | | | | | | | | | | | | | | Casta is currently having issues with its Rx measurement on port 0. With this change, the mux registers on the PS8751 for port 0 should be tuned every time the TCPC comes out of low power mode. BUG=b:122987819 BRANCH=octopus TEST=builds, loaded onto casta and confirmed register 0xE7 read 0x40 from the ec console Change-Id: Ieb884eeaddc418f97ace69b9db0041d50fe2b5d9 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1430953 Commit-Ready: YongBeum Ha <ybha@samsung.com> Tested-by: YongBeum Ha <ybha@samsung.com> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 7c20200967b367a8996866f51868feec483f1429) Reviewed-on: https://chromium-review.googlesource.com/c/1473510
* driver/lsm6dsm: Fix issue while setting Magnetometer ODRKarthikeyan Ramasubramanian2019-02-131-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | While setting magnetometer ODR, accel ODR is restored through recursive means. This causes the FIFO to be enabled as part of setting the accel ODR while the magnetometer ODR is still to be configured. Fix the issue by restoring the accel ODR in fifo_enable function instead of recursively setting the accel ODR. BUG=b:115587004 BRANCH=octopus TEST=Boot to ChromeOS. Read the magnetometer samples using ectool. Change-Id: I1c7b679b62c95277725c894242fa0e403d8cd37f Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/1464380 Commit-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@google.com> Reviewed-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 7a4e638e358dcdf232e306e405cff51a6bb4f6ae) Reviewed-on: https://chromium-review.googlesource.com/c/1470611 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Trybot-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* Meep: remove magnetometerDiana Z2019-02-132-31/+0
| | | | | | | | | | | | | | | | | | | | | | The magnetometer will no longer be stuffed on higher board revisions. In order to allow lower board revisions to run sensor test suites, the magnetometer configuration is removed for them as well. BUG=b:115587004,b:124085261 BRANCH=octopus TEST=meep passed previously failing CTS sensor test cases Change-Id: I49996c53c63258631ef65155f86db4c6f7346e59 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1467146 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit dfd532f540720dbf6bcd0a63b2ef82a57b9a4f86) Reviewed-on: https://chromium-review.googlesource.com/c/1469754 Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* driver: bmi160: for reference, add for lis2mdl supportGwendal Grignou2019-02-111-0/+5
| | | | | | | | | | | | | | | | BUG=b:110143516,b:115587004 BRANCH=none TEST=compile Change-Id: I72953d1c279f739e15e5d14dab2d016e0900a532 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1444094 Reviewed-by: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 7e372ca8f104d07d648ebf30afb6f806c21c866d) Reviewed-on: https://chromium-review.googlesource.com/c/1463722 Commit-Queue: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* driver: lsm6dsm: Integrate LIS2MDL behind LSM6DSMGwendal Grignou2019-02-1113-255/+375
| | | | | | | | | | | | | | | | | | | | | | | | - Cros set_rate and normalize between LIS2MDL and LSM6DSM - Remove unused sensor hub function. - Remove parent field, use macro instead (magnetometer is just after the gyroscope). BUG=b:110143516,b:115587004 BRANCH=none TEST=On meep, check the magnetometer is returning data with shell/python script. Check calibration quick in. Check with AIDA64, compass and sensor app the magnetometer is seen. Change-Id: I2efef99eda095e33b6a0555b1cbc4ac8fdbfab5d Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1361992 Reviewed-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 30dd007291e625fe42897d2f2f2f5bd3d2569900) Reviewed-on: https://chromium-review.googlesource.com/c/1462636 Commit-Queue: Justin TerAvest <teravest@chromium.org>
* driver: lsm6dsm: Clean register definitionGwendal Grignou2019-02-111-53/+83
| | | | | | | | | | | | | | | | | | | Remove duplicates and order registers by address. BUG=b:115587004 BRANCH=none TEST=Buildall Change-Id: I31a1c5f18314a67c6ec0de64fa69bd5723c60a05 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1361988 Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org> (cherry picked from commit c4cb23106ce9af745e517c0993c80eace906b960) Reviewed-on: https://chromium-review.googlesource.com/c/1460285
* board: indent sensor_motion arraysGwendal Grignou2019-02-114-264/+264
| | | | | | | | | | | | | | | | | | | | | BUG=none TEST=compile, check with git diff -w there is no changes. Check sensors still works on meep. BRANCH=none Change-Id: Id3176e21a8e7ba19a0525e00b141c3fdc50c4660 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1361991 Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> (cherry picked from commit 6776b585f17b1112b80086f8623eeb37d303747f) Reviewed-on: https://chromium-review.googlesource.com/c/1460284 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* common: sensor: Honor roundup flag for rangeGwendal Grignou2019-02-112-1/+3
| | | | | | | | | | | | | | | | | | | | | | Look for ROUND_UP_FLAG in default_range when setting the default range. BUG=b:115587004 BRANCH=octopus TEST=On meep check range is set at ~1145dps, not 572dps after reboot. Change-Id: Ic13fb65b5cfabbebf70b2a5d75abf8faf4b50321 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1448811 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> (cherry picked from commit b716f1c9d90e4f6f2249698819a21441eb58df7e) Reviewed-on: https://chromium-review.googlesource.com/c/1460283 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* ec_commands: Add missing definition for LIS2MDLGwendal Grignou2019-02-112-0/+4
| | | | | | | | | | | | | | | | | | | BUG=b:110143516,b:115587004 BRANCH=none TEST=Check ectool display the proper chip in ectool motionsense info 3. Change-Id: I236bd7f50d6edadbc5b2f238eb6882bd6fffc82d Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1361990 Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> (cherry picked from commit e84e5b983370cc5349dbd18d3380b09ff8fa3f31) Reviewed-on: https://chromium-review.googlesource.com/c/1460282 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* config: Add magnetometer definitionsGwendal Grignou2019-02-117-15/+69
| | | | | | | | | | | | | | | | | | | | | | | | Add all possible supported or soon-to-be supported configuration of magnetometer behind accelerometers. Use a more generic variable to indicate the i2c address of the secondary device. BUG=b:110143516,b:115587004 BRANCH=none TEST=compile Change-Id: Ic00c413f2ec5fa0e6bf1c98861daa02f00769a65 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1361989 Commit-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit ab7fad125320bb719c7bfae952ffa9b8589113ee) Reviewed-on: https://chromium-review.googlesource.com/c/1460281 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
* ps8xxx: put the PS8751's power role to sink stateJames_Chao2019-02-011-1/+17
| | | | | | | | | | | | BUG=b:123607435 BRANCH=octopus TEST=check the external monitor can work Change-Id: Ibe334576b907774df62865817af6ba5eb3e9d96f Reviewed-on: https://chromium-review.googlesource.com/c/1448192 Commit-Queue: James Chao <james_chao@asus.corp-partner.google.com> Tested-by: James Chao <james_chao@asus.corp-partner.google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* casta : charger overrideYongBeum Ha2019-01-281-0/+1
| | | | | | | | | | | | | | | | | | | Enable charger override. BUG=b:122868858 BRANCH=None TEST=flash EC & check charger current and voltage Change-Id: I338b45d6a2a3aa4a6e47f23136fd329b41bdd6bb Signed-off-by: YongBeum Ha <ybha@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/1436715 Commit-Ready: Diana Z <dzigterman@chromium.org> Reviewed-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit cee795736f2c0e241f2e50066cfd4150443a097d) Reviewed-on: https://chromium-review.googlesource.com/c/1441032 Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* Fleex: Add new LED state for fully charged in S5Diana Z2019-01-283-3/+25
| | | | | | | | | | | | | | | | | | | | | This change adds another battery LED state to represent a fully charged system in S5, so that fleex systems can have their LED off when this occurs. This state will be optional, and the state machine will fall back to using the previously defined FULL_CHARGE state if this new state is not defined. BUG=b:122636016 BRANCH=octopus TEST=flashed orbatrix and ensured LED went off in S5 after EC reported it was charged, flashed another octopus board to ensure it didn't regress Change-Id: I0265b268818e7f1ec20339afe5cf3544c882926b Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1419477 Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 2223f8723d0bb25e9637802b22232664e0d974af) Reviewed-on: https://chromium-review.googlesource.com/c/1441015
* casta:enable pull-up of usb mux0 interruptYongBeum Ha2019-01-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | Pull up resistor is not stuffed on USB_MUX0 interrupt. This is schemetic bug on revision 0. The pull up resistor will be stuffed on next revision. BUG=b:118856396 BRANCH=master TEST=build, flash ec and check PD port 0. Change-Id: Ib278af4e0cff5d1db40c7dbd5536570e0fc620a7 Signed-off-by: YongBeum Ha <ybha@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/1426297 Commit-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> (cherry picked from commit 03500453df38e1c7c56ec8451b85401256a509dd) Reviewed-on: https://chromium-review.googlesource.com/c/1436643 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* driver: lsm6dsm: add reboot at init timeDevin Lu2019-01-252-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch, the pass-through mode will get stuck after sysjump. Force a reboot of the lsm6dsm accelerometer side at init() to allow magnetometer initialization to complete. BUG=b:115587004 BRANCH=octopus TEST=execute "sysjump RW" then make sure magnetometer initial passed and no errors as below: [855.944737 Base Accel: MS Done Init type:0x0 range:2] [855.947773 Base Accel ODR: 13000 - roundup 1 from config 1 [AP 0]] [855.949904 Base Gyro: MS Done Init type:0x1 range:1000] [855.952509 Base Gyro ODR: 0 - roundup 0 from config 0 [AP 0]] sensorhub_check_and_rst: Base Accel type:0x0 WAIR error ret: 1 sensorhub_check_and_rst: Base Accel type:0x0 WAIR error ret: 1 sensorhub_check_and_rst: Base Accel type:0x0 WAIR error ret: 1 [855.993153 Base Mag: 3: init failed: 1] Change-Id: I7870acb674457dfcf247a3fa231e82a7123303bf Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/1389994 Reviewed-by: Justin TerAvest <teravest@chromium.org> (cherry picked from commit 435d1de8ea5b969b36fac5f2c77c5eeed071a17f) Reviewed-on: https://chromium-review.googlesource.com/c/1437314 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Trybot-Ready: Jett Rink <jettrink@chromium.org>
* Ampton: Set the PS8751 to source mode before enter low power modeJames_Chao2019-01-246-4/+21
| | | | | | | | | | | | | | BUG=b:113830171 BRANCH=octopus TEST=check the power consumption is lower Change-Id: I527cdc5d1e4dd5de137ab0927e66c171696758ce Signed-off-by: James_Chao <james_chao@asus.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/1434674 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Trybot-Ready: Jett Rink <jettrink@chromium.org>
* casta : implement ledYongBeum Ha2019-01-244-4/+132
| | | | | | | | | | | | | | | BUG=b:122489253 BRANCH=master TEST=build, flash ec and check led. Change-Id: I9eaa6f2763c08eaae10fba65fab18548f703e669 Signed-off-by: YongBeum Ha <ybha@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/1428499 Reviewed-by: Diana Z <dzigterman@chromium.org> (cherry picked from commit 97c2e2ef6375aadac795982ecfc6fdc31fe86b3b) Reviewed-on: https://chromium-review.googlesource.com/c/1435475 Commit-Queue: Diana Z <dzigterman@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org>
* casta : Add battery informationYongBeum Ha2019-01-243-3/+167
| | | | | | | | | | | | | | | | | | | | | Casta uses same battery as nautilus. BUG=b:122868858 BRANCH=octopus TEST=make -j buildall; flash EC & check battery information Change-Id: I53f08e729643d7f372538904f1adc9882f3c1139 Signed-off-by: YongBeum Ha <ybha@samsung.com> Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/1385764 Reviewed-by: Philip Chen <philipchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1430740 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1434258 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Trybot-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* octopus/ampton: disable espi pad when system goes into G3Dino Li2019-01-231-0/+20
| | | | | | | | | | | | | | | | | | | | On Ampton, the EC's power consumption is about 5.5mA on battery mode in G3 state. This is because EC unable to go into low power mode properly in idle task when eSPI CS# pin is low. So we disable eSPI pad when system goes into G3 state to reduce power number. BUG=b:121105042 BRANCH=none TEST=On Ampton, EC power rail drops to about 1.1mA in G3. Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Change-Id: I1c85bd0e909936e7f143b15b5e9b7c1884d5cc62 Reviewed-on: https://chromium-review.googlesource.com/c/1432312 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Trybot-Ready: Jett Rink <jettrink@chromium.org>
* Revert "casta : add battery information"Karthikeyan Ramasubramanian2019-01-233-168/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3f21cfa6e7800de7a9a0a3247fecd84e0114655c. Reason for revert: The change needs to be uploaded first to master. Also it has lots of style errors that needs some manual cleanup. Reverting this change to do the cleanup, upload it to master, get it merged in that branch and then cherry-pick it back to this branch. Original change's description: > casta : add battery information > > casta uses same battery with nautilus. > > BUG=b:122868858 > BRANCH=None > TEST=flash EC & check battery information > > Change-Id: I55894821744d242958c2dcf31da355b315d9ac8f > Signed-off-by: YongBeum Ha <ybha@samsung.com> > Reviewed-on: https://chromium-review.googlesource.com/c/1385764 > Reviewed-by: Philip Chen <philipchen@chromium.org> Bug: b:122868858 Change-Id: Ia80091841837084093bcc342eb4583a7e2b4820b Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/1430952 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Trybot-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* it83xx: add enable/disable espi pad functionDino Li2019-01-233-4/+18
| | | | | | | | | | | | | | | | | | We can call this function to enable/disable espi pad if needed. BUG=b:121105042 BRANCH=none TEST=buildall Change-Id: I61561b1a4657947e27053de3e8b2ef053651d949 Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/1426303 Commit-Ready: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit 35f64509fc74a99c147249fd06392d9c3abdc807) Reviewed-on: https://chromium-review.googlesource.com/c/1429882 Reviewed-by: Justin TerAvest <teravest@chromium.org>
* charge_ramp: Allow USB-C power to be ramped by hardwareDaisuke Nojiri2019-01-221-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, hardware ramping (= voltage regulation) is automatically disabled for USB-C power supplier (HARGE_SUPPLIER_PD & _TYPEC). This patch allows USB-C suppliers to get voltage regulation. It prevents the input voltage of weak suppliers from drooping. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/80163913,b/120238339 BRANCH=none TEST=Verify Vayne get charged by PD and Type-C adapters. TEST=Verify on Vayne input current limit is set to adapters' limit. Change-Id: Ideecac911822ffca33be1755846febfcb822f734 Reviewed-on: https://chromium-review.googlesource.com/1377564 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> (cherry picked from commit db32f244a7dbae24ae83633cad1d5b4deb92c5e0) Reviewed-on: https://chromium-review.googlesource.com/c/1426308 Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Trybot-Ready: Jett Rink <jettrink@chromium.org>
* tcpm/it83xx.c: don't reload cc parameter settings for DxRuibin Chang2019-01-222-0/+4
| | | | | | | | | | | | | | | | | | The USB-PD PHY trimming value is reloaded wrongly after software reset. BUG=b:123173731 BRANCH=none TEST=cc parameters are the same, after ec software reset and hardware reset on Bx and Dx. Change-Id: I0c7144afbb648680bb60cc128c8212abb43ccd68 Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/1426151 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Trybot-Ready: Jett Rink <jettrink@chromium.org>
* driver/ppc/nx20p348.c: Handle overcurrent eventKarthikeyan Ramasubramanian2019-01-221-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the overcurrent event is logged but not handled. Report the overcurrent event to the USB PD framework which in turn will handle the overcurrent event further. BUG=b:115475862 BRANCH=octopus TEST=Boot to ChromeOS in grabbiter. No overcurrent events reported when the sink is drawing <= 3.20 A. Overcurrent events are reported when the sink is drawing > 3.25 A. After 3 reports, the port is latched off and power delivery is stopped. The port is re-enabled only after the sink is disconnected. Also when the sink is drawing current at 3.24 A, there is one report of overcurrent. The port gets disabled in response to that event. But the port is re-enabled after 1 second since overcurrent event is reported only once. After the port is re-enabled, the sink is able to draw the set current. When the overcurrent event is reported, I can see in the kernel logs that the overcurrent condition is detected by the kernel. EC Logs: [3391.984462 C1: PPC detected Vbus overcurrent!] [3391.984953 C1: overcurrent!] [3392.044935 C1: PPC detected Vbus overcurrent!] [3392.045425 C1: overcurrent!] [3392.061404 C1: PPC detected Vbus overcurrent!] [3392.061894 C1: overcurrent!] [3392.062142 C1: OC event limit reached! Source path disabled until physical disconnect.] [3392.077226 C1: PPC detected Vbus overcurrent!] [3392.077532 C1: overcurrent!] [3392.077891 C1: OC event limit reached! Source path disabled until physical disconnect.] [3392.092660 C1: PPC detected Vbus overcurrent!] [3392.092966 C1: overcurrent!] [3392.093213 C1: OC event limit reached! Source path disabled until physical disconnect.] Kernel Logs: [ 3356.560456] usb usb2-port1: over-current condition [ 3356.768434] usb usb2-port2: over-current condition [ 3356.976446] usb usb2-port4: over-current condition [ 3357.184441] usb usb2-port5: over-current condition [ 3357.392445] usb usb2-port6: over-current condition Change-Id: I0af69a132fdd1dd5bab4d530c3b060b2a5aea501 Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/1412448 Commit-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1426150 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Trybot-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* board/octopus: Notify SoC about USB overcurrentKarthikeyan Ramasubramanian2019-01-226-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add board_overcurrent_event function to notify SoC about USB-C overcurrent events. BUG=b:115475862 BRANCH=octopus TEST=Boot to ChromeOS in grabbiter. No overcurrent events reported when the sink is drawing <= 3.20 A. Overcurrent events are reported when the sink is drawing > 3.25 A. After 3 reports, the port is latched off and power delivery is stopped. The port is re-enabled only after the sink is disconnected. Also when the sink is drawing current at 3.24 A, there is one report of overcurrent. The port gets disabled in response to that event. But the port is re-enabled after 1 second since overcurrent event is reported only once. After the port is re-enabled, the sink is able to draw the set current. When the overcurrent event is reported, I can see in the kernel logs that the overcurrent condition is detected by the kernel. EC Logs: [3391.984462 C1: PPC detected Vbus overcurrent!] [3391.984953 C1: overcurrent!] [3392.044935 C1: PPC detected Vbus overcurrent!] [3392.045425 C1: overcurrent!] [3392.061404 C1: PPC detected Vbus overcurrent!] [3392.061894 C1: overcurrent!] [3392.062142 C1: OC event limit reached! Source path disabled until physical disconnect.] [3392.077226 C1: PPC detected Vbus overcurrent!] [3392.077532 C1: overcurrent!] [3392.077891 C1: OC event limit reached! Source path disabled until physical disconnect.] [3392.092660 C1: PPC detected Vbus overcurrent!] [3392.092966 C1: overcurrent!] [3392.093213 C1: OC event limit reached! Source path disabled until physical disconnect.] Kernel Logs: [ 3356.560456] usb usb2-port1: over-current condition [ 3356.768434] usb usb2-port2: over-current condition [ 3356.976446] usb usb2-port4: over-current condition [ 3357.184441] usb usb2-port5: over-current condition [ 3357.392445] usb usb2-port6: over-current condition Change-Id: I69fdc473a3489922517dc91fc1ea149aabca01cb Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/1410142 Commit-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1426149 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Trybot-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* USB PD: PPC: Add overcurrent handling.Aseda Aboagye2019-01-2214-38/+307
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Type-C Power Path Controllers provide overcurrent protection. This commit adds support into the USB PD task for overcurrent events while we are in source role. The USB PD 3.0 spec recommends that ports issue a hard reset when an overcurrent condition occurs on a port. Additionally, we'll allow a source port to overcurrent 3 times before latching off VBUS from the port entirely. The source path will be re-enabled after ~1s after each overcurrent event. BUG=b:69935262,b:114680657 BRANCH=None TEST=Boot to ChromeOS in grabbiter. No overcurrent events reported when the sink is drawing <= 3.20 A. Overcurrent events are reported when the sink is drawing > 3.25 A. After 3 reports, the port is latched off and power delivery is stopped. The port is re-enabled only after the sink is disconnected. Also when the sink is drawing current at 3.24 A, there is one report of overcurrent. The port gets disabled in response to that event. But the port is re-enabled after 1 second since overcurrent event is reported only once. After the port is re-enabled, the sink is able to draw the set current. When the overcurrent event is reported, I can see in the kernel logs that the overcurrent condition is detected by the kernel. EC Logs: [3391.984462 C1: PPC detected Vbus overcurrent!] [3391.984953 C1: overcurrent!] [3392.044935 C1: PPC detected Vbus overcurrent!] [3392.045425 C1: overcurrent!] [3392.061404 C1: PPC detected Vbus overcurrent!] [3392.061894 C1: overcurrent!] [3392.062142 C1: OC event limit reached! Source path disabled until physical disconnect.] [3392.077226 C1: PPC detected Vbus overcurrent!] [3392.077532 C1: overcurrent!] [3392.077891 C1: OC event limit reached! Source path disabled until physical disconnect.] [3392.092660 C1: PPC detected Vbus overcurrent!] [3392.092966 C1: overcurrent!] [3392.093213 C1: OC event limit reached! Source path disabled until physical disconnect.] Kernel Logs: [ 3356.560456] usb usb2-port1: over-current condition [ 3356.768434] usb usb2-port2: over-current condition [ 3356.976446] usb usb2-port4: over-current condition [ 3357.184441] usb usb2-port5: over-current condition [ 3357.392445] usb usb2-port6: over-current condition Change-Id: Ib070f261e98264cd88725ebce7d10e0798267e3b Signed-off-by: Aseda Aboagye <aaboagye@google.com> Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/1286300 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/807633 Commit-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1426148 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Trybot-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* cheza: Add the interrupt of port-1 overcurrentWai-Hong Tam2019-01-222-4/+20
| | | | | | | | | | | | | | | | | | | | | Add the interrupt of port-1 overcurrent. It just calls the common board-specific overcurrent event handler. The implementation of the handler is still a TODO. BRANCH=none BUG=b:120231371 TEST=Checked the interrupt triggered on over-current. Change-Id: I5cfc3b57bedb9e80711eb75a5039e01e6e83799b Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/1361682 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1426147 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Trybot-Ready: Karthikeyan Ramasubramanian <kramasub@chromium.org>