summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Trogdor: Fix the base g-sensor's matrix configurationWai-Hong Tam2020-04-252-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The g-sensor placement is like: +------------------+ | | | | | | | | | | +------------------+ / +----+ / / / / / / / O/ / O is the pin 1 marker, which faces down. / +----+ / +------------------+ The sensor's coordinate system is: +-----> x /| / | v v y z The standard reference frame is: z y ^ ^ | / |/ +-----> x So the matrix contributing to the standard reference frame should be: { { 1, 0, 0}, { 0, -1, 0}, { 0, 0, -1} } Lazor and Trogdor use the same sensor placement. BRANCH=None BUG=b:154782446 TEST=Used 'accelinfo on' command to check the g-sensor's values. Change-Id: I2039db3ad98af314c8d27a738153520c0b542906 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2166486 Reviewed-by: Alexandru M Stan <amstan@chromium.org> Reviewed-by: Philip Chen <philipchen@chromium.org> Commit-Queue: Alexandru M Stan <amstan@chromium.org>
* Gingerbread: Initial skeleton EC image.Udaya Kiran Ammu2020-04-255-0/+139
| | | | | | | | | | | | | This CL contains a skelton image. It is a derivative of honeybuns. BUG=b:154667178 BRANCH=none TEST=make BOARD=Gingerbread and verify that image builds successfully Signed-off-by: Udaya Kiran Ammu <udaykiran@google.com> Change-Id: I63a0e07956ed4cf430c09b94c9cd221fae3c4dd4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2161461 Reviewed-by: Scott Collyer <scollyer@chromium.org>
* Volteer: enable battery optionsKeith Short2020-04-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | Volteer design provides an EC input to check the battery presence. Enable the required configuration options for hardware battery presence. Battery revive disconnect is also enabled so the EC verifies the disconnect status on the first power on after a battery cut-off. BUG=b:153717444 BRANCH=none TEST=make buildall TEST=Verify Volteer boots with and without battery. Verify "chgstate" command shows correct battery status. TEST=Run 'ectool batterycutoff', verify battery disconnects and Volteer boots successfully after connecting charger. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Iab58a176c89a5d7a062e6f513c2c09d91ac7f939 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2166142 Tested-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* SYV682: Update PPC initialization for no battery conditionKeith Short2020-04-252-38/+104
| | | | | | | | | | | | | | | | | | | | Perform a more targeted reset action for the SYV682 PPC during initialization. This prevents a brownout of the EC when operating without a battery and also prevents over voltage trips following an EC reset when there was an existing PD contract. BUG=b:153523568 BRANCH=none TEST=make buildall TEST=On Volteer, connect PD charger to C1 port without battery. Verify board boots after issuing cold reset from servo. Test=On Volteer, verify SNK and SRC operation. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ibf4e816ce468792e90d5f9337bc4262b07c831a9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2159083 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Eric Herrmann <eherrmann@chromium.org>
* TCPMv2: Cleanup: Ensure PD_FLAGS_* are not used.Edward Hill2020-04-254-52/+61
| | | | | | | | | | | | | | | PD_FLAGS_* are TCPMv1 only, so make sure they are not used with TCPMv2. BUG=none BRANCH=none TEST=none Signed-off-by: Edward Hill <ecgh@chromium.org> Change-Id: I7a119c9745b0004b6067862205f185557f704cb5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2161923 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* TCPMv2 PRL: only get/set revision for SOP* typesEdward Hill2020-04-251-10/+24
| | | | | | | | | | | | | | | | | Since we only store revisions for SOP* types, add assert for this in prl_set_rev() and prl_get_rev(). Fix some checks for PD_REV30 to also check xmit_type before calling prl_get_rev() to avoid out-of-bounds read when sending hard reset. BRANCH=none BUG=chromium:1070094 TEST=host-usb_tcpm_v2_fuzz Signed-off-by: Edward Hill <ecgh@chromium.org> Change-Id: Ic429dbc81e4672abe880859c4d0ea7c8d74e87b2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2161918 Reviewed-by: Jett Rink <jettrink@chromium.org>
* USB4: Allow entering USB4 mode for devices and cables without SVIDAyushee2020-04-251-44/+68
| | | | | | | | | | | | | | | | | | USB4 devices and Passive cables with USB4 speed that do not support Intel SVID should enter USB4 mode with cable speed to TBT Gen2 passive cable or board's max TBT speed, whichever is lower. Ref:USB Type-C cable and connector specification 2.0 Figure 5-1 USB4 Discovery and Entry Flow model BUG=b:154308721 BRANCH=None TEST=Able to enter USB4 mode with Passive Gen2 cables Signed-off-by: Ayushee <ayushee.shah@intel.com> Change-Id: Ib6e4463f2ed0682cee14a84e5d1d9560e286bd37 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2159938 Reviewed-by: Keith Short <keithshort@chromium.org> Tested-by: Ayushee Shah <ayushee.shah@intel.corp-partner.google.com>
* Mushu : Modify GPU slave address and Cmd protocol.loganliao2020-04-241-18/+21
| | | | | | | | | | | | | | | | | | | The proto address config and protocol that can't read GPU temperature. This patch correct the GPU address and Cmd protocol. Make the EC read GPU with I2C successfully. BUG=b:148968367 BRANCH=none TEST=read temperature success in Mushu Pre-build machine. Change-Id: I39b8c3f55d0b4fea06736545ff76bf8e44abfece Signed-off-by: loganliao <Logan_Liao@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2142846 Reviewed-by: Logan Liao <logan_liao@compal.corp-partner.google.com> Reviewed-by: Bob Moragues <moragues@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org> Tested-by: Logan Liao <logan_liao@compal.corp-partner.google.com> Commit-Queue: Logan Liao <logan_liao@compal.corp-partner.google.com>
* jinlon: update thermal table for board version 3Devin Lu2020-04-242-48/+46
| | | | | | | | | | | BUG=b:154564062 BRANCH=firmware-hatch-12672.B TEST=thermal team verified thermal policy is expected. Change-Id: I8455facfe534208ac41bd4a25f803c83e40dad8e Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2157343 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
* volteer: Add board config for BMI260Ching-Kang Yen2020-04-244-0/+69
| | | | | | | | | | | | | | | | | | | | Add board config of volteer for supportting BMI260. BRANCH=None BUG=b:146144827 TEST=make -j4 BOARD=volteer \ && flash_ec --image build/volteer/ec.bin --board volteer Then, check sensor data is available on DUT by ectool motionsense. TEST=make buildall -j TEST=tast run ${IP} hardware.SensorRing Change-Id: Iff5ea63d9c22ec63adc27f293e2f338a5aca5480 Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2097805 Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Tested-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* Liara: adjust Sunwoda and SMP precharge_currentEdward Hill2020-04-241-2/+2
| | | | | | | | | | | BUG=b:151877162 BRANCH=grunt TEST=none Signed-off-by: Edward Hill <ecgh@chromium.org> Change-Id: Icc7c1349db9ecfbb0fa71ab2305a3094dd1ecdac Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2128891 Reviewed-by: Diana Z <dzigterman@chromium.org>
* TCPMv2: Cleanup: remove TC_FLAGS_AUTO_TOGGLE_SUPPORTEDEdward Hill2020-04-241-19/+5
| | | | | | | | | | | | | | | Calling tcpm_auto_toggle_supported() directly is simpler and avoids bugs like crrev.com/c/2144482 BUG=none BRANCH=none TEST=none Signed-off-by: Edward Hill <ecgh@chromium.org> Change-Id: I93c4c616e19756bd596bfbf0097f7eff2fb2d15d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2160995 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* Waddledee: Limit voltage requests to 5VDiana Z2020-04-231-0/+3
| | | | | | | | | | | | | | | | | | While diagnosing some problems with the motherboard charger chips becoming non-responsive on waddledee, input voltage will be limited to 5V for now. BRANCH=None BUG=b:154723735 TEST=on waddledee, with an inline type-c meter, confirmed 45W charger stayed at 15W Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ide4970c0a81c48fd8d05ee1559339381a2e55c76 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2163565 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org>
* driver: Add BMI260 basic driver supportChing-Kang Yen2020-04-2312-52/+1720
| | | | | | | | | | | | | | | | | | | | Add BMI260 accel/gyro driver code. Be able to do initial configuration, start up sensor, config interrupt and fifo, perform calibration, and access the sensor data from AP. BRANCH=None BUG=b:146144827 TEST=make -j4 BOARD=volteer \ && flash_ec --image build/volteer/ec.bin --board volteer Then, check sensor data is available on DUT by "ectool motionsense". TEST=make buildall -j TEST=tast run ${IP} hardware.SensorRing Cq-Depend: chromium:2148802 Change-Id: I5124ee8359a74f98cfe8d26da640325f5e00cb15 Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2086534 Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* driver: Replace BMI160 to BMI in board configChing-Kang Yen2020-04-2356-309/+265
| | | | | | | | | | | | | | | | | Replace some macro of BMI160 to BMI version for common function of BMI series. Make board config include the accelgyro_bmi_common.h instead of accel_gyro_bmi160.h. BRANCH=None BUG=b:146144827 TEST=make buildall -j Change-Id: I043ff8a92f15295ead3fa5c1e292319e2b4fa21a Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2156525 Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* driver: Add BMI common codeChing-Kang Yen2020-04-2310-976/+1346
| | | | | | | | | | | | | | | | Add accelgyro_bmi_common.(c/h) for the code shared among the BMI. BRANCH=None BUG=b:146144827 TEST=make -j4 BOARD=ampton Then, flash the ec.bin into DUT, check sensor data is available on DUT by "ectool motionsense". TEST=make buildall -j Change-Id: Ia56ffb0896943b08640b3d6ca96324ac5e7d93a0 Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2130146 Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* Halvor: Add 3rd USB-C GPIO and interrupt functionJosh Tsai2020-04-233-8/+44
| | | | | | | | | | | | | | | Because Halvor is support three USB-C So add the 3rd USB-C GPIO and interrupt function BUG=none BRANCH=none TEST=make BOARD=halvor Change-Id: Ia4d4aa13f0a43f15f24d6d8321fd7a111fdb3ea5 Signed-off-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2148982 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* Jinlon: Initialize keyboardRajat Jain2020-04-231-0/+61
| | | | | | | | | | | | | Initialize the Jinlon keyboard configuration. BUG=b:146501925 TEST=TEst the top row on Jinlon BRANCH=firmware-hatch-12672.B Signed-off-by: Rajat Jain <rajatja@google.com> Change-Id: Ib8ffdbd783126aa097c097dfc968c9d226ac042b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2135567 Reviewed-by: Jett Rink <jettrink@chromium.org>
* dedede: Add board_vbus_presence_change()Aseda Aboagye2020-04-231-0/+24
| | | | | | | | | | | | | | | | | | | Dedede doesn't have a dedicated interrupt for ACOK, however we can use the charger or TCPC to inform us when AC is OK through other means. This commit uses the board_vbus_presence_change() trigger to trigger the HOOK_AC_CHANGE hook. BUG=b:154113446,b:154113465 BRANCH=None TEST=Build and flash waddledoo, plug in AC, verify that "AC on" prints are seen. Unplug AC, verify that "AC off" prints are seen. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I1621135499bb65d13aef4f7fec76bd366def3bdc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2159942 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* tcpci: Add trigger for VBUS presence changesAseda Aboagye2020-04-233-0/+11
| | | | | | | | | | | | | | | | | | | | | | Some boards don't have a direct interrupt indicating ACOK, but the TCPC can provide this notification via the POWER_STATUS register. This commit adds a lightweight trigger which calls board_vbus_presence_change() whenever the TCPC gets a POWER_STATUS alert. The default implementation does nothing, but a board may override it to make it useful. BUG=b:154113446,b:154113465 BRANCH=None TEST=Add override for waddledoo. Build and flash waddledoo, plug in AC, verify that "AC on" prints are seen. Unplug AC, verify that "AC off" prints are seen. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I6ab1a2649c12a0525502eac6baab2e1b31168212 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2159941 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* flash_ec: reduce C2D2 i2c bus speed from 1Mhz to 400kHzJett Rink2020-04-231-2/+2
| | | | | | | | | | | | | | | Based on the resistors on Dedede (and most likely other future platforms), reduce the i2c bus speed to ensure that our i2c waveform stays within time spec. BRANCH=none BUG=b:153475851 TEST=none Signed-off-by: Jett Rink <jettrink@chromium.org> Change-Id: Icc8de0ea0d2af7d75efce696e96b2c0db67c0fee Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2161447 Reviewed-by: Matthew Blecker <matthewb@chromium.org>
* asurada: enable pull down on uartTing Shen2020-04-221-2/+2
| | | | | | | | | | | | | | | H1 can't enable EC uart if UART_H1_TX_EC_RX is always pulled up. BUG=b:154279402 TEST=flash over ccd works BRANCH=None Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: Idac8355d5653f9a97e9083f5d23b1c46b2426578 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2159939 Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* asurada: enable keyboardEric Yilun Lin2020-04-223-30/+7
| | | | | | | | | | | | | BUG=b:150341271 TEST=`ksstate on`, verify key press shows on ec console BRANCH=none Change-Id: Iea6102caa085ba65498fc32f80d7a0c3cd51d17d Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2148987 Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* malefor: fix rotation matrix of lid sensorxiong.huang2020-04-221-4/+4
| | | | | | | | | | | | | | | | Adjust the rotation matrix of base and lid sensor to get expected XYZ data. BUG=b:152434719 BRANCH=none TEST=Base & lid accel sensor XYZ data are expected with command 'ectool motionsense'in VT2. Signed-off-by: xiong.huang <xiong.huang@bitland.corp-partner.google.com> Change-Id: Ia234e0df7150543133afef15e21877dc87bb70e2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2156687 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* Malefor: Add battery informationxiong.huang2020-04-222-18/+75
| | | | | | | | | | | | | | | | | Malefor supports three batteries: - LGC: L19L4PG2 - SUNWODA: L19D4PG2 - SMP: L19M4PG2 BUG=b:154155827 BRANCH=none TEST=boot malefor board with battery, charging/discharging/cutoff work as expected. Signed-off-by: xiong.huang <xiong.huang@bitland.corp-partner.google.com> Change-Id: I5c639e00bb13f11d0ad11e78d2ede5085c33ca0d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2152027 Reviewed-by: Keith Short <keithshort@chromium.org>
* tcpmv2: transition from non-toggle to auto_toggle needs DRPDenis Brockus2020-04-221-1/+10
| | | | | | | | | | | | | | | | | set_connection enables the TCPC DRP bit which is required for a new connection to be detected when we are in auto toggle. BUG=b:154590730 BRANCH=none TEST=see bug for repro instructions Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I8621a8abf075c6255f3dbc22df9d5d58c26b0dd2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2159852 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org>
* TCPMv2: Fix sender response timeout in VCS_Send_SwapDiana Z2020-04-221-4/+14
| | | | | | | | | | | | | | | Move the sender response timeout outside the code for when a control message is received to ensure it executes. BRANCH=None BUG=b:154344562 TEST=on kindred with TCPMv2, Blackcat vconn swap attempt times out and returns to SNK_Ready Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I10a7de7c222468ff2604de1fe3e73738107adf50 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2158467 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* TCPMv2: Mark discovery as failed with no responseDiana Z2020-04-221-0/+25
| | | | | | | | | | | | | | | PD 2.0 DFPs and UFPs may ignore structured VDM commands, so mark discovery as failed when the SOP partner fails to respond. BRANCH=None BUG=b:154344562,b:154517016 TEST=on kindred with TCPMv2 with a SOP partner which does not reply to DiscoverIdentity, verify discovery doesn't retry Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ib14e0e1d1521769450676d6937148b4edd04fdcf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2158466 Reviewed-by: Edward Hill <ecgh@chromium.org>
* Trogdor: Add a delay to ensure the power-off sequence completeWai-Hong Tam2020-04-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | The existing power-off sequence waits for one of the rails (L10A) drop and then turns off the switchcap. The L10A rail is in the middle of the power-off sequence. The entire sequence may not complete yet. This CL adds a delay to ensure the sequence complete. Qualcomm measured the entire POFF duration is around 70ms. Setting this delay to 70ms is more than enough. BRANCH=None BUG=b:154537026, b:148478165 TEST=Triggered power off and on multiple time. TEST=Toggled warm_reset multiple time. Change-Id: I10bce33ba39c8ed6269c040f934e7b7dd2422d7e Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2159925 Reviewed-by: Alexandru M Stan <amstan@chromium.org> Commit-Queue: Alexandru M Stan <amstan@chromium.org>
* Trogdor: Increase the delay between power-on the system and power-on the PMICWai-Hong Tam2020-04-221-2/+6
| | | | | | | | | | | | | | | | | | This is about the delay between power-on the system (switchcap) and power-on the PMIC. Some latest PMIC firmware needs this delay longer, when doing a cold reboot. Did an experiment; it should be 100ms+. BRANCH=None BUG=b:152936484, b:148478165 TEST=Did quick power off and on for 100 iterations, S0->S5->S0, like: $ dut-control ec_uart_cmd:'power off' sleep:0.1 ec_uart_cmd:'power on' TEST=Toggled warm_reset for 100 iterations, like: $ dut-control warm_reset:on sleep:0.2 warm_reset:off Change-Id: I0e7287011620a2e065655a46d6358f0cc1d5e03a Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2159625 Reviewed-by: Alexandru M Stan <amstan@chromium.org>
* raa489000: Have newer ICs start ADC sampling prior to initAseda Aboagye2020-04-211-2/+27
| | | | | | | | | | | | | | | | | | | For the new versions of the RAA489000, the TCPM must set the TCPC Power Control bit after a power-on reset prior to performing the common TCPCI initialization. Otherwise, the TCPC initialization status bit will not clear causing the init to fail. BUG=b:154191301 BRANCH=None TEST=Build and flash on waddledoo, verify that the TCPC initializes correctly on the newer revision of the chip. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I11f5f1c91e3a026457ab863adefb908b585b70e1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2157953 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* common/vivaldi: Make the "Alt+VolUp+r" work on vivaldi keyboardsRajat Jain2020-04-215-7/+27
| | | | | | | | | | | | | | | Since the VolUp button location can vary now, take that into account. Signed-off-by: Rajat Jain <rajatja@google.com> BUG=b:146501925,b:154167876 TEST=TEst Alt + VolUp + r on Jinlon BRANCH=firmware-hatch-12672.B Change-Id: I4dbc8692f6418fd786e5d33053e8c368cc5529ac Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2151854 Commit-Queue: Rajat Jain <rajatja@google.com> Tested-by: Rajat Jain <rajatja@google.com> Reviewed-by: Jett Rink <jettrink@chromium.org>
* common/keyboard_vivaldi: New keyboard framework for custom layoutRajat Jain2020-04-218-1/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Vivaldi is a new keyboard that allows individual boards to have additional or different top row keys and/or to reorder those keys. The primary agenda of vivaldi is to allow customization of the top row keys. However, as a secondary objective, it also allows coreboot to send a keymap to the kernel, for only the keys that are actually present on the keyboard. As part of enabling vivaldi, another feature that get enabled is to start sending action codes instead of function codes for the top row of the keyboard. go/vivaldi-prd go/vivaldi-design go/vivaldi-fw-design With this patch, things remain unchanged for any boards that do not provide board_set_vivaldi_keybd_config(). For boards that do provide it: * EC begins to send action scancodes instead of function scancodes for the top row when top row keys are pressed. * EC responds to an EC command from the coreboot, that asks for the layout for the keyboard. Coreboot uses this to expose corresponding keycodes to the kernel. BUG=b:146501925 TEST=Check on Jinlon the (new) expected scancodes are output from EC. BRANCH=firmware-hatch-12672.B Signed-off-by: Rajat Jain <rajatja@google.com> Change-Id: I1f45ce6eee138a984f8d4caef1ec76c9538dd30b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2135566
* common: Make scancode table always mutableRajat Jain2020-04-219-48/+111
| | | | | | | | | | | | | | | | Since the vivaldi requires the scancode to be mutable, and vivaldi shall be enabled by default for all boards, thus make the scancode table to be always mutable and get rid of the config option it hides behind. BUG=b:146501925 TEST=Build BRANCH=firmware-hatch-12672.B Signed-off-by: Rajat Jain <rajatja@google.com> Change-Id: Iaedcd6d84caf31c91a61854f96414bcea38f5c2a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2133825 Reviewed-by: Jett Rink <jettrink@chromium.org>
* Dedede: Move waddledee chips out of baseboardDiana Z2020-04-216-265/+280
| | | | | | | | | | | | | | Moves chip specifics (ex. charger, TCPC) from baseboard out to the waddledee board files in anticipation of Wheelie. BRANCH=None BUG=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I99bf33d683cc89e6508fbbe305cd0b4c05a53090 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2157949 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* raa489000: Add hibernate functionAseda Aboagye2020-04-212-0/+102
| | | | | | | | | | | | | | | | | | The RAA489000 supports a battery ship mode in which the charger IC consumes the least amount of power. This commit adds that functionality. BUG=b:150236134 BRANCH=None TEST=Call function on waddledoo, build and flash, verify that device still wakes up from hibernate via AC insertion. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I5fd35adb4c0e737c438d766676e3f6038fc0d397 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2153808 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* waddledoo/waddledee: Deassert ALL_SYS_PGOOD quicklyAseda Aboagye2020-04-214-6/+23
| | | | | | | | | | | | | | | | | | | | | | | According to tPLT17 in the PDG, the time from SLP_S3_L assertion to VCCIN_EN de-assertion should be less than 200us, but this was not occurring on waddledoo. This commit adds a special interrupt handler in order to meet that timing requirement by immediately deasserting ALL_SYS_PGOOD once SLP_S3_L is asserted. BUG=b:152552074 BRANCH=None TEST=Build and flash waddledoo, boot and shut AP down, verify that the time between SLP_S3_L asserting and ALL_SYS_PGOOD deasserting is less than 200us. TEST=`make -j buildall` Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Ib34016d5bdfa956f410dde3e3b3074bd306a18f9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2142744 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org>
* TCPMv2: Handle Not Supported message in DR swapDiana Z2020-04-211-13/+2
| | | | | | | | | | | | | | | | | Port partners may reply to DR swaps with a Not_supported message, so handle that case in pe_drs_send_swap_run. Also remove duplicate check of the SenderResponseTimer. BRANCH=None BUG=b:154344562 TEST=on kindred with TCPMv2, DR swap which is not supported returns to snk_ready state before timeout Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ia9f9f5e103c2cdb1dbe877beb0e489b997ab38cd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2155265 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* Mushu : Modify GPU fan rpm.loganliao2020-04-211-5/+5
| | | | | | | | | | | | | | | | The parameter of GPU fan follows the data that thermal team provide. BUG=none BRANCH=none TEST=make BOARD=mushu Change-Id: I4dd815344352113432a8cbd481c13771f4634a1e Signed-off-by: loganliao <Logan_Liao@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2156696 Reviewed-by: Logan Liao <logan_liao@compal.corp-partner.google.com> Reviewed-by: Scott Collyer <scollyer@chromium.org> Commit-Queue: Logan Liao <logan_liao@compal.corp-partner.google.com> Tested-by: Logan Liao <logan_liao@compal.corp-partner.google.com>
* asurada: enable battery / chargerTing Shen2020-04-213-16/+32
| | | | | | | | | | | | | BUG=b:150341271 TEST=boot on asurada, verify `chgstate` and `battery` looks good BRANCH=none Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: Icf1bda085307280ffb4bd96d22ed5e6e760a5336 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2148852 Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
* asurada: setup gpio alt functions and interruptsTing Shen2020-04-213-32/+62
| | | | | | | | | | | | | | | | Implemented alt functions and interrupts except usb / power seq / sensor related things. BUG=b:150341271 TEST=make BRANCH=none Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I5ccc96c26369e75fdeb20d5a7f0e565a28605346 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2107116 Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
* npcx: add chip family codeCHLin2020-04-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | If a hardware feature is supported across two or more chip families but not supported in the older chip family, using the chip family code can simplify the guard of the new feature. For example, we can use: #if (NPCX_FAMILY_VERSION >= NPCX_FAMILY_NPCX7) Implementation of the new feature #endif instead of: #if defined(CHIP_FAMILY_NPCX7) | defined(CHIP_FAMILY_NPCX8) .... Implementation of the new feature #endif BUG=none BRANCH=none TEST=No error for "make buildall" Signed-off-by: CHLin <CHLIN56@nuvoton.com> Change-Id: I09614428034f64f16ed446b73bf0797ee81538c9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2142834 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: CH Lin <chlin56@nuvoton.com> Tested-by: CH Lin <chlin56@nuvoton.com>
* TCPMv2: Remove storage for SOP'' discoveryDiana Z2020-04-211-1/+1
| | | | | | | | | | | | | | SOP'' cable plugs aren't required to respond to Discover Identity, so removing storage for the SOP'' response. BUG=b:152417977 BRANCH=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ic51e3ed647d5bca45848fb878698673b27591cd1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2155123 Reviewed-by: Jett Rink <jettrink@chromium.org>
* PD: Store cable identity in pd_discovery structureDiana Z2020-04-212-21/+40
| | | | | | | | | | | | | | Stores SOP' cable response in pd_discovery identity array. BRANCH=None BUG=b:152417977 TEST=on kindred with TCPMv2, ensure "pe" command shows correct information for cable and port partner Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ia1186e25b92d9ae4f34e8c039b2ad1d1abbff9eb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2148426 Reviewed-by: Jett Rink <jettrink@chromium.org>
* SM5803: Add new init parametersDiana Z2020-04-212-2/+82
| | | | | | | | | | | | | | | Add parameters for initialization needed for 3S batteries on this revision of silicon. BRANCH=None BUG=b:153922818 TEST=on waddledee, battery is able to charge through motherboard without noticeable noise Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I1f74d7929fa273cdd8ab0e195e6dca8c6cfa2c91 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2145075 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* USB/PD: Skip pd_prepare_sysjump for EFS2 boardsDaisuke Nojiri2020-04-212-6/+10
| | | | | | | | | | | | | | | | | | | | | | Since in EFS2, USB/PD won't be enabled in RO or if it's enabled in RO, EC won't jump to RW, pd_prepare_sysjump is not needed. Even if PD is enabled because the device is not write protected, EFS2 jumps to RW before PD tasks start. So, there is no states to clean up. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=chromium:1072743, b:137493121, b:154440914 BRANCH=none TEST=Boot Puff successfully. Change-Id: Ie598105779d2a605cb63842cb6c8428f0e2c5367 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2157728 Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Kangheui Won <khwon@chromium.org> Commit-Queue: Kangheui Won <khwon@chromium.org> Tested-by: Kangheui Won <khwon@chromium.org>
* kakadu: update LED behaviorScott Chao2020-04-211-19/+8
| | | | | | | | | | | | | | | We don't support blue LED, so remove it. And change LED brightness to 255. BUG=b:152719659 BRANCH=kukui TEST=make -j BOARD=kakadu TEST=make buildall Signed-off-by: Scott Chao <scott.chao@bitland.corp-partner.google.com> Change-Id: I34e48fe9ea2475a0a07720606e38981b03612533 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2152033 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* jacuzzi: introduce VARIANT_KUKUI_JACUZZITing Shen2020-04-214-45/+21
| | | | | | | | | | | | | | | move common configs from jacuzzi derivatives into baseboard BUG=None TEST=make BRANCH=kukui Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I5baf8c5bbb6520c324be4d30824b642141eeb331 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2147824 Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* jacuzzi: enable 3A sourcingTing Shen2020-04-214-0/+14
| | | | | | | | | | | | | | | | | | | According to the hw requirement, Jacuzzi should be able to provide 5V/3A when it's not providing power on any other port. BUG=b:153699375 TEST=1. Connect juniper to another chromebook 2. in ec console, `pd 0 dualrole source` to force juniper sourcing power 3. make sure another device is receiving 5V/3A. BRANCH=kukui Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I3f1b95d3a63b15828b4ea860c32fe2a638593f2b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2145128 Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* TCPMv2: Clean up TC_DRP_AUTO_TOGGLE and TC_LOW_POWER_MODEEdward Hill2020-04-211-202/+95
| | | | | | | | | | | | | | | | | | | | | | 1) tc_drp_auto_toggle_entry() always calls tcpm_enable_drp_toggle(). 2) tc_low_power_mode_run() calls tcpm_enter_low_power_mode() after PD_LPM_DEBOUNCE_US. 3) Flags LPM_ENGAGED and LPM_TRANSITION are used to synchronize wake from low power. 4) Flags LPM_REQUESTED and AUTO_TOGGLE_REQUESTED are not used and have been removed. BUG=b:149772936 BRANCH=none TEST=auto-toggle and low-power transitions correctly on AP boot, plug and unplug source and sink devices. Change-Id: I43e3835941508ba2ad49e6160a05686ebda6ba4f Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2126078 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>