summaryrefslogtreecommitdiff
path: root/board
Commit message (Collapse)AuthorAgeFilesLines
* pi3usb3x532: Pack i2c port in port_addrAseda Aboagye2020-01-246-8/+19
| | | | | | | | | | | | | | | | | | | | | The PI3USB3X532 driver in the EC assumes that all superspeed muxes are on the same i2c bus, I2C_PORT_USB_MUX. However, that may not be true for some boards. This commit utilizes the MUX_PORT(...) macro to determine the i2c port to use from the usb_mux table. The boards that use this driver have been updated to pack the i2c port in the port_addr member. There should be no functional changes to those boards. BUG=b:147689445 BRANCH=None TEST=`make -j buildall` Change-Id: If6460b84a5e39610d658f06a42ca1db0bd4da048 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2013658 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>
* waddledoo: don't enable pull-ups with low-voltage modeDavid Schneider2020-01-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | It is not valid on the NPCX7 to simultaneously use low-voltage mode and enable the pull-up, so pull-ups were being ignored. This caused spurious volume up and volume down button presses. Prochot is similarly misconfigured and really should be an ADC input, but for now just remove the pull-up. These changes have been updated on the EC pinout table as well. BUG=None BRANCH=None TEST=press buttons on waddledoo Change-Id: I8fd6e13d0e0ca79dbb777563443da0858ac62187 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2018033 Tested-by: David Schneider <dnschneid@chromium.org> Auto-Submit: David Schneider <dnschneid@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org>
* puff: correctly re-init charge ports after sysjumpPeter Marheine2020-01-231-14/+28
| | | | | | | | | | | | | | | | | | | | | When the AP does SW sync with the EC, it can make the EC reset (sysjump) while the AP is on. This would cause us to incorrectly forget what charge port was active because we didn't allow any changes while the AP was on, even if the EC didn't have a current state. Change port selection policy to allow changes while the AP is on, provided no port is currently selected and the request agrees with the state of the hardware. BUG=b:148036160 TEST=chgsup now remains unchanged after sysjump with the AP on, port changes remain forbidden. BRANCH=None Change-Id: Ibf1d4de2298a9a5e631af457d8618cb0accd5e08 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2014561 Reviewed-by: Andrew McRae <amcrae@chromium.org>
* lick: Cannot power on DUT on AC only mode.Hash.Hung2020-01-231-1/+0
| | | | | | | | | | | | | | | | | Remove unnecessary define of 'battert_panasonic' from board.h. BUG=b:147192366 TEST=cros_workon-octopus start chromeos-ec emerge-octopus chromeos-ec BRANCH=master BOARD=lick Change-Id: I6394075ab03d637c32184fe4d8ed8dc0946a495f Signed-off-by: Hash.Hung <hash1.hung@lcfc.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2014560 Reviewed-by: Henry Sun <henrysun@google.com> Commit-Queue: Henry Sun <henrysun@google.com> Tested-by: Henry Sun <henrysun@google.com>
* puff ec: Add EVT GPIO definitions.Andrew McRae2020-01-232-7/+7
| | | | | | | | | | | | | | | Update the puff EC GPIO definitions to include EVT changes. BRANCH=none BUG=b:147983217 TEST=Ran on puff. Change-Id: I9fa911881dfbd705ee8e264d7f55576b45b80893 Signed-off-by: Andrew McRae <amcrae@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2014003 Reviewed-by: Peter Marheine <pmarheine@chromium.org> Commit-Queue: Andrew McRae <amcrae@chromium.org> Tested-by: Andrew McRae <amcrae@chromium.org>
* Trogdor: Implement board_set_tcpc_power_modeWai-Hong Tam2020-01-232-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | The board_set_tcpc_power_mode() function hasn't been defined. When doing TCPC software sync, AP to ask EC to suspend the TCPC chip, and then resume it when done. Missing the board_set_tcpc_power_mode() function made the TCPC chip can't resume back. BRANCH=None BUG=b:146652805 TEST=Executed the TCPC software sync, verified the TCPC is back, i.e. 2019-12-20 15:33:27 > C0 st1 SUSPENDED 2019-12-20 15:33:30 [286.977749 TCPC p0 suspended!] 2019-12-20 15:34:14 C0 st2 SNK_DISCONNECTED 2019-12-20 15:34:14 [330.333053 Resetting TCPCs...] 2019-12-20 15:34:14 [330.382545 C0 FAULT 0x00 detected] 2019-12-20 15:34:14 [330.383235 C0 FAULT 0x00 handled] 2019-12-20 15:34:14 [330.387583 TCPC p0 resumed!] Without this CL, an error was reported and the TCPC chip still in suspend. 2019-12-20 14:57:52 C0 st2 SNK_DISCONNECTED 2019-12-20 14:57:52 [546.264649 TCPC p0 restart failed!] Change-Id: I6cee0b7a6d24b9b6ab40f5259a659ca234319990 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1979611 Reviewed-by: Stephen Boyd <swboyd@chromium.org>
* PS8805: Add the delay between releasing reset and the first I2C readWai-Hong Tam2020-01-232-1/+5
| | | | | | | | | | | | | | | The PS8805 needs time for firmware init. Before the firmware initiated, I2C read may return wrong values. Parade suggests adding a 10ms delay. BRANCH=None BUG=b:147767696 TEST=Built Trogdor and Nocturne without error. Verified Trogdor TCPC reset correctly, with some other CLs too. Change-Id: I9f67612792f72d6075cbf93a516494c1af592259 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2015640 Reviewed-by: Stephen Boyd <swboyd@chromium.org>
* drallion: Set the rotation matrix for base accelMathew King2020-01-221-1/+8
| | | | | | | | | | | | | | | | | On Drallion the LNG2DM accelerometer is rotated 270 degrees from the same sensor on Arcada. Change the rotation matrix for the sensor to account for this difference. BUG=b:147715895 TEST=run 'ectool --name=cros_ish motionsense' with lid at 180 degrees. Verify that base and lid are in sync at various rotations. BRANCH=none Change-Id: Icc997ae864fb47fef398ca140e96719b39ec054e Signed-off-by: Mathew King <mathewk@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2013649 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Mike Wiitala <mwiitala@google.com>
* jinlon: enable OTI502 IR temperature sensorDevin Lu2020-01-223-0/+11
| | | | | | | | | | | BUG=b:141259174 BRANCH=hatch TEST=ec console "temps" to check OTI502 IR temperature sensor can be read. Change-Id: I03254e850809d6968b59ca9d0fbcc45443f097af Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1933789 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
* waddledoo: Enable TCPCI Rev2 v1.0 for TCPCsAseda Aboagye2020-01-221-10/+6
| | | | | | | | | | | | | | | | | | | The RAA489000 TCPCs that waddledoo is using are a TCPCI Rev2 TCPC. Unfortunately, there seems to be some problems with the TCPCI Rev1 mode, so enable TCPCI Rev2 mode instead which seems to work with the newly added TCPCI Rev2 support. BUG=b:147316570 BRANCH=None TEST=Build and flash waddledoo, verify that TCPC can receive and transmit PD messages. Change-Id: If8fb434d865bf5a6f0439707581ca92cb3e7731d Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2006711 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* kohaku: Define CONFIG_MKBP_EVENT_WAKEUP_MASK as 0Tim Wawrzynczak2020-01-221-0/+3
| | | | | | | | | | | | | | | | | | | This allows the AP to set MKBP wake masks, which will enable the EC to wake the system from suspend states. The default is 0, which means that the AP gets to choose which events will wake it from suspend. BUG=b:144122000 BRANCH=firmware-hatch-12672.B TEST=Verify 'ectool mkbpwakemask set event 0x400' succeeds. Also verify with corresponding coreboot CL that the system can wake from suspend when a DP-capable monitor is plugged in. Change-Id: Ife726f341770e6c9cea2ffe39abc9d8ed38b0cbb Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2013640 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org> Commit-Queue: Paul Fagerburg <pfagerburg@chromium.org>
* waddledoo: Add LED supportAseda Aboagye2020-01-213-1/+84
| | | | | | | | | | | | | | | | | This commit adds LED support to waddledoo utilizing the common PWM LED framework. Waddledoo has a single bi-color PWM LED with amber and white channels. BUG=b:147702767 BRANCH=None TEST=Build and flash on waddledoo, verify that LEDs are working. Change-Id: Ie870a6df194a9e1ccd6b91a96c6e95a390353a8a Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2001941 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* waddledoo: Add keyboard supportAseda Aboagye2020-01-214-5/+33
| | | | | | | | | | | | | | | | | This commit adds keyboard support to waddledoo using the default keyboard config. BUG=b:147453459 BRANCH=None TEST=Flash waddledoo, connect keyboard, `ksstate on` verify that each key is registered. Change-Id: I0a10eeb3080170c731f90317d4a0b3c0fbfb9243 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2001940 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* waddledoo: Add Type-C, PD, and charging supportAseda Aboagye2020-01-217-4/+421
| | | | | | | | | | | | | | | | | | | | This commit adds USB Type-C, Power Delivery and charging support to waddledoo. Waddledoo is using the new TCPMv2, low power mode has been disabled for the time being while we sort out issues with the TCPC. Currently in this state, we cannot actually receive any PD messages, but the PD task is running. BUG=b:147257992 BRANCH=None TEST=Build and flash on waddledoo, verify that we can detect Type-C chargers, and that it can charge a battery. Change-Id: Id30218ef685ed27a934bae3a580f47754f659ac6 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2001127 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* puff: blink LED when insufficient power to boot (<30W)Peter Marheine2020-01-212-10/+9
| | | | | | | | | | | | | Also ensure we set the required power to the intended value, and remove useless charger-related items. BUG=b:146515963 TEST=LED blinks and does not boot when given 7.5W on USB-C. BRANCH=None Change-Id: I34df8f1cbf6648ef2007fc34c620ae1d2021f7a8 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2009526
* puff: always claim AC power is onlinePeter Marheine2020-01-212-3/+11
| | | | | | | | | | | | | | | | | | | | powerd logs lots of warnings if it can't see any online power supplies, which could be the case when the EC comes up without the barrel jack then boots with it- the host flag never gets updated. Since we don't have a battery on puff and we don't allow switching power sources while the system is on (we gate the inactive one), just always say there is external power (because there is). BUG=b:147977614 TEST=/sys/class/power_supply/AC/online is now always 1, even when running on USB-C. BRANCH=None Change-Id: I87345b8a3f07a88f2dccda4b7226bf0b8ee07e2f Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2009529 Reviewed-by: Sam McNally <sammc@chromium.org>
* puff: remove TODOs for PD limitsPeter Marheine2020-01-201-2/+0
| | | | | | | | | | | | | They seem to be fine as-is; no further changes required. BUG=b:146031922, b:143501304 TEST=None; no code changes BRANCH=None Change-Id: I4d10c57d34f1f1e53e5fbcb994c4ae1403fb8a98 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2009527 Reviewed-by: Andrew McRae <amcrae@chromium.org>
* ServoMicro: Enable Brownout detection with PVD circuitBrian J. Nemec2020-01-184-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enables the programmable voltage detector (PVD) interrupt in ServoMicro. This interrupt fires when the supply voltage drops from the expected 3.3V to under 2.3V after power on. This gives several hundred microseconds of time for the device to respond to the power reduction. In order to ensure that the ServoMicro does not enter a non-responsive state, it triggers a reboot of the system to restore it to a good configuration. BRANCH=servo BUG=chromium:1023715 TEST=Configured GPIO output to trigger on pvd_interrupt() and verified the interrupt fires during the following situations using Saleae analyzer: * USB Power removed from working device * Ramping supply voltage from 1.5V to 5V with a DC supply * Repoducing failure condition from crbug/1016051 1 Connect ServoMicro to Cyan board 2 dut-control power_state:on 3 dut-control fw_wp_vref:pp3300 4 dut-control power_state:off 5 GPIO toggles and system reset occurs Change-Id: I721f48ab84b01d52a5f98747cc9d879ff2876a07 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1911759 Reviewed-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Tested-by: Brian Nemec <bnemec@chromium.org> Commit-Queue: Brian Nemec <bnemec@chromium.org> Auto-Submit: Brian Nemec <bnemec@chromium.org>
* Trembyle: Fix detection of V0 HWEdward Hill2020-01-171-1/+1
| | | | | | | | | | | BUG=none BRANCH=none TEST=AP boots on V0 HW Change-Id: I82f6cce422d706d1361641248cc697da7429d815 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2008091 Reviewed-by: Raul E Rangel <rrangel@chromium.org>
* i2c: Support changing I2C bus speed at runtimeTing Shen2020-01-171-8/+4
| | | | | | | | | | | | | | | | | | | | | Add a i2c_set_freq function and let chip drivers add their underlying implementation. Also implemented on stm32f0. BUG=b:143677811,b:78189419 TEST=1) make 2) On kodama, call i2c_set_freq(1, 100) during init. verify the bus is configured to 100kbps in kodama rev 1 BRANCH=kukui Change-Id: Iebb5baacf098b3e5649a4bd8ca14acf097d39693 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1969245 Reviewed-by: Matthew Blecker <matthewb@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* endeavour: remove EFS related configsJeff Chase2020-01-172-75/+0
| | | | | | | | | | | | | We had removed the EFS config but found that the signer still needed an EFS key due to RWSIG. TEST=install and boot in both dev and normal modes Change-Id: Idc57c6e6868b1d616c8f4dcef1a006e207569284 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2005649 Tested-by: Jeff Chase <jnchase@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Jeff Chase <jnchase@google.com>
* Trogdor: Add interrupt on CCD_MODE_ODL to enable SBU muxWai-Hong Tam2020-01-162-1/+24
| | | | | | | | | | | | | | | | | | | The common svdm_enter_dp_mode() disconnects the PPC SBU lines. In Trogdor, the H1 SBU line for CCD are behind PPC chip. The PPC internal FETs for SBU may be disconnected after DP alt mode is off. Should enable the CCD_MODE_ODL interrupt to make sure the SBU FETs are connected. BRANCH=None BUG=b:143616352,chromium:1021724 TEST=Tested the DP alt-mode: plug a dongle without monitor connected -> plug a monitor to it -> unplug the dongle -> plug a CCD connection. Verified the muxes work as expected. Change-Id: Ie4bc4380720138b18fc2699432b81b03c4890aee Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2003530 Reviewed-by: Stephen Boyd <swboyd@chromium.org>
* Trogdor: Abandon virtual HPD approach and configure TCPC for HPD statusWai-Hong Tam2020-01-163-49/+8
| | | | | | | | | | | | | | | | | | | The TCPC is required to know the HPD status; otherwise, some mux misbehaves. Even thought the HPD status is through a GPIO to notify AP, still configure the TCPC. As the GPIO approach works well, abandon the virtual HPD approach. BRANCH=None BUG=b:147358149 TEST=Plugged a Type-C to DP dongle to the board, checked that the IN_HPD bit not set. Plugged a monitor to the dongle, checked that the IN_HPD bit set. Change-Id: Id8b8eae462c80c36156a1e9443c8af87cd784fd0 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2003531 Reviewed-by: Stephen Boyd <swboyd@chromium.org>
* Trogdor: Restore and modify the custom USB PD policyWai-Hong Tam2020-01-161-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A USB PD policy refactoring (CL:1949052) moves logic to a common place. It broke the Trogdor DP alt-mode, mostly due to the special needs, like deferring setting the usb_mux until HPD goes high, svdm_dp_attention() instead of svdm_dp_config(). The reason is the AP only supports one DP phy. An external DP mux switches between the two ports. Should switch those muxes when it is really used, i.e. HPD high; otherwise, the real use case is preempted, like: (1) plug a dongle without monitor connected to port-0, (2) plug a dongle without monitor connected to port-1, (3) plug a monitor to the port-1 dongle. It is unlike other boards which have >=2 DP phy: the mux can be turned on even if it is not used yet, done in svdm_dp_config(). So need to override the implementation of svdm_dp_config(). The common svdm_enter_dp_mode() disconnects the PPC SBU lines. Need to reenable it on svdm_dp_attention(). Also add the logic to disconnect all muxes and deassert HPD on svdm_exit_dp_mode(). BRANCH=None BUG=b:143616352,chromium:1021724 TEST=Tested the DP alt-mode: plug a dongle without monitor connected -> plug a monitor to it -> unplug the dongle. Verified the muxes work as expected. Change-Id: I6250555d61c44acaf74375ed9bd4a88b8dadc933 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1974830 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* lick: Cannot power on DUT on AC only mode.Hash.Hung2020-01-161-1/+1
| | | | | | | | | | | | | | | | | Set DEFAULT_BATTERY_TYPE = BATTERY_SMP. BUG=b:147192366 TEST=cros_workon-octopus start chromeos-ec emerge-octopus chromeos-ec BRANCH=master BOARD=lick Change-Id: Ib4c4ff8d479c64ea40eaec75a5e226946f247bdb Signed-off-by: Hash.Hung <hash1.hung@lcfc.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2002995 Reviewed-by: Henry Sun <henrysun@google.com> Commit-Queue: Henry Sun <henrysun@google.com> Tested-by: Henry Sun <henrysun@google.com>
* puff: Disable TCPMv2.Sam McNally2020-01-161-1/+4
| | | | | | | | | | | | | | On puff with TCPMv2 enabled, the type C mux is not being configured to allow USB 3. Disable TCPMv2 for now to unblock testing. BRANCH=None BUG=b:147255678 TEST=make buildall Change-Id: I5cd45c8d05c22b5720619942cd124c04d2cca7f2 Signed-off-by: Sam McNally <sammc@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2002989 Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
* usbc: hpd_deadline cleanupDenis Brockus2020-01-163-34/+22
| | | | | | | | | | | | | | | | | | some of the usages of this static variable were used in overridable functions and they also had their own static variable for this same purpose. Since it is not required to override all of the functions, this left two variables out of sync with one another. So made them the same variable. BUG=b:147535104 BRANCH=none TEST=make buildall -j Change-Id: Ic560d3a2a2e129450e918e0cb6dfff75fd1222a2 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2002953 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* TBT/USB4: Allow enabling TBT & USB4 per port basedVijay Hiremath2020-01-151-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | When TBT or USB4 mode is enabled, by default all the ports are assumed to be supporting TBT or USB4. However, not all the ports may support TBT & USB4 due to dependency on retimer and platform level Aux/LSx muxing. This board level function can override the TBT & USB4 logic based on board design. Ref: TGL PDG 5.2 USB-C* Sub-System: a. otherboard should have re-timer for all USB-C connectors that supports TBT. b. Aux/LSx platform level muxing is required. BUG=b:147658946 BRANCH=none TEST=Manually tested on Volteer TBT & USB4 mode detection and entry is allowed only on Port-1 Change-Id: I07b339023a4da6bd69382420f3aa11ed82379179 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2001221 Reviewed-by: Keith Short <keithshort@chromium.org>
* TBT: Allow limiting the cable speed based on board designVijay Hiremath2020-01-151-0/+15
| | | | | | | | | | | | | | | | | From the TGL PDG, MAX TBT signals routing length can be 205mm prior to connection to re-timer. Orthogonal routing with such length would results in adverse effect to channel margin, as described in Fiberweave White Paper. Hence, added overridable function to override the TBT cable speed based on the board design. BUG=b:147498371 BRANCH=none TEST=Able to detect TBT3 devices on Volteer Change-Id: I4490bc507c2c12b26372ed86e485c0491f1a9f21 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1998544 Reviewed-by: Keith Short <keithshort@chromium.org>
* morphius: Add LGC battery configurationZick Wei2020-01-152-0/+28
| | | | | | | | | | | | | | | | | | This patch add LGC battery configuration for morphius. BUG=b:146248714 BRANCH=none TEST=manual Verify battery charging and discharging and the "cutoff" EC console command works. Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Change-Id: Ib2b51041f936d6eba419117b5a6c4c97f3cb9567 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2001898 Tested-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org>
* servo_micro: update UART holding logicJett Rink2020-01-151-30/+9
| | | | | | | | | | | | | | | | We do not need to shutdown the UART to take control of the RX pin, we can simply de-mux the pin from UART and make it a GPIO temporarily. BRANCH=none BUG=none TEST=builds and tested same code on c2d2 implementation. My reworked servo micro is no longer working for the EC console (without this change) Change-Id: Ie0aeb73e58aea08d42a32d47431ac36cd977b8ba Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2001124 Reviewed-by: Keith Short <keithshort@chromium.org>
* hatch_fp/nocturne_fp: Specify RSA_KEY_SIZE in RW and ROTom Hughes2020-01-144-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | The rsa.h header can be included by any file, regardless of whether CONFIG_RSA is enabled. In that case we still want RSA_KEY_SIZE and CONFIG_RSA_EXPONENT_3 to be correct for the board. The following boards already set CONFIG_RSA_KEY_SIZE outside of RO/RW * kalista * endeavour * fizz * puff BRANCH=none BUG=b:144958737 TEST=make buildall -j TEST=diff build/<hatch_fp,nocturne_fp,hammeri,nucleo-h743zi>/ec.bin with and without the change => same Change-Id: I7e565e25b06b0d36e28ae32934b1f65b382e5b66 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1999606 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Craig Hesling <hesling@chromium.org>
* Waddledoo: Add sensor supportDiana Z2020-01-144-0/+165
| | | | | | | | | | | | | | Waddledoo is using the BMI160 as a base accel and the BMA253 lid accel, which is compatible with the current bma2x2 driver. BUG=b:147258603 BRANCH=none TEST=builds Change-Id: Id76e826f11154f8b687021713a2bf176bd82fef4 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1993952 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* trembyle: enable audio codecTzung-Bi Shih2020-01-141-0/+4
| | | | | | | | | | | | | | | | | | Enables audio codec with the following features: - DMIC - I2S_RX BRANCH=none BUG=b:144064048, b:144063867, b:144063379 BUG=b:147200751 TEST=Able to record samples from DMIC by arecord on Trembyle proto 1. Change-Id: I8085e41d5bf61bb7fe121b5bc55b87e475c013fb Signed-off-by: Tzung-Bi Shih <tzungbi@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1988031 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
* audio_codec: npcx: deprecate legacy option CONFIG_WAKE_ON_VOICETzung-Bi Shih2020-01-142-2/+4
| | | | | | | | | | | | | | | | | | | | | CONFIG_WAKE_ON_VOICE consists 3 features in NPCX: - DMIC - I2S_RX - WOV These features has broken down into smaller CONFIG options. Deprecates CONFIG_WAKE_ON_VOICE and prepares to separate smaller features in NPCX. BRANCH=none BUG=b:144064048, b:144063867 TEST=make BOARD=trembyle -j Change-Id: Ieaa123299ea687644f19066cf95ef150a18bf252 Signed-off-by: Tzung-Bi Shih <tzungbi@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1986687 Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org> Tested-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* rt946x: reduce DB and BL driving capacityAllen Chiang2020-01-141-0/+3
| | | | | | | | | | | | | | | | 1. In order to pass Backlight EMC RE test, we enter test mode to reduce DB and BL driving capacity on MT6370. BRANCH=kukui BUG=b:146917398 TEST=none, Bitland tested pass. Change-Id: If24a3e81305fc8b3a7d8ede7684cc634074014a0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1984141 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Tested-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> Commit-Queue: Allen Chiang <allen_chiang@mediatek.corp-partner.google.com>
* board: sensor: remove identity matricesGwendal Grignou2020-01-133-29/+5
| | | | | | | | | | | | | | Use NULL instead of defining an identity matrix. BUG=none BRANCH=none TEST=make buildall Change-Id: I9aad9f2de162cb10a25ae51561ca4949521a1f9b Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1995023 Reviewed-by: Edward Hill <ecgh@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* volteer: add keyboard backlight supportKeith Short2020-01-111-0/+1
| | | | | | | | | | | | | | | | Add keyboard backlight for Volteer BUG=b:147020710 BRANCH=none TEST=make buildall TEST=run 'kblight' EC console command to verify keyboard backight TEST=run 'ectool verify pwmsetkblight' to verify keyboard backlight Change-Id: I6b34910b0e06afc8f7c280c622821bc819e6508e Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1992206 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* volteer ish: enable lid accelerometer.li feng2020-01-112-1/+39
| | | | | | | | | | | | | | | | | | | | Lid accelerometer is BMA253, driver accel_bma2x2.c is used. Reference to this CL: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1965647 BMA253 uses polling mode since it doesn't have hardware FIFO. IMU BMI260 will be enabled when driver is available. b:146144827 is tracking this. BUG=b:145946347 BRANCH=none TEST=Verified host iio device has lid accel, can read name/location/x, y, z raw data, etc. Change-Id: I5581c33e7245448604ac964f9df0559f2e0327b2 Signed-off-by: li feng <li1.feng@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1983458 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* hatch_fp: Better comments for pin configCraig Hesling2020-01-101-3/+3
| | | | | | | | | | | BRANCH=nocturne,hatch BUG=none TEST=none Change-Id: I1b1e994d7e8e74c298f2452b7eaf1a567d387dc0 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1991997 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* nocturne_fp: Better comments for pin configCraig Hesling2020-01-101-3/+3
| | | | | | | | | | | BRANCH=nocturne BUG=none TEST=none Change-Id: I8c7534c43754f30a8fcff5d3a167d52ba11afd4e Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1993569 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* morphius: Add batteries configurationZick Wei2020-01-102-21/+50
| | | | | | | | | | | | | | | | This patch add SMP and Sunwoda battery configuration for morphius. BUG=b:146248714 BRANCH=none TEST=manual Verify battery charging and discharging and the "cutoff" EC console command works. Change-Id: I258058caf63499e06d265894f909e9e5e2d1f5ad Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1966815 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* kappa: add battery configurationDevin Lu2020-01-102-37/+39
| | | | | | | | | | | | | | | This patch adds battery parameter as following: 1. Dynapack HIGHPOWER DAK124960-W110703HT 2. Dynapack CosMX DAK124960-W0P0707HT BUG=b:146504215 BRANCH=kukui TEST=make sure battery charging, battery cutoff works. Change-Id: I64d04dbd4056ce74c036d873a7b19f23a9dece11 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1980407 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* kappa: enable i2c bitbangDevin Lu2020-01-104-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clone from CL:1876290 BUG=b:146504215 BRANCH=kukui TEST=use console command "battery" to read battery information. 2019-12-25 15:16:15 Status: 0x00c0 DCHG INIT 2019-12-25 15:16:15 Param flags:00000003 2019-12-25 15:16:15 Temp: 0x0b9f = 297.5 K (24.4 C) 2019-12-25 15:16:15 V: 0x20c9 = 8393 mV 2019-12-25 15:16:15 V-desired: 0x21fc = 8700 mV 2019-12-25 15:16:15 I: 0xfffd = -3 mA(DISCHG) 2019-12-25 15:16:15 I-desired: 0x09b0 = 2480 mA 2019-12-25 15:16:15 Charging: Allowed 2019-12-25 15:16:15 Charge: 91 % 2019-12-25 15:16:15 Manuf: 333-24-1C-A 2019-12-25 15:16:15 Device: FO02037XL 2019-12-25 15:16:15 Chem: LION 2019-12-25 15:16:15 Serial: 0x0001 2019-12-25 15:16:15 V-design: 0x1db0 = 7600 mV 2019-12-25 15:16:15 Mode: 0x6001 2019-12-25 15:16:15 Abs charge:88 % 2019-12-25 15:16:15 Remaining: 4323 mAh 2019-12-25 15:16:15 Cap-full: 4787 mAh (4691 mAh with 98 % compensation) 2019-12-25 15:16:15 Display: 0.0 % 2019-12-25 15:16:15 Design: 4960 mAh 2019-12-25 15:16:15 Time-full: 0h:0 2019-12-25 15:16:15 Empty: 0h:0 Change-Id: I5ae254ce8e9abccfda6ba9f07251ca7e2fe19ff4 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1980405 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* Kindred: Add workaround for TI TPS51486RJER when system resumeDavid Huang2020-01-101-0/+23
| | | | | | | | | | | | | | | | Monitor GPIO PG_EC_ALL_SYS_PWRG was not trigger, when power on within 3 seond, EC will reset system. BUG=b:143440730 BRANCH=master TEST=check boot to OS was workable Change-Id: I19f2411a5369c75b6895316b791d077e2aee7deb Signed-off-by: David Huang <David.Huang@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1948690 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org> Commit-Queue: David Huang <david.huang@quanta.corp-partner.google.com>
* akemi: enable quick charge when power offxiaoqiang.zhu2020-01-101-0/+43
| | | | | | | | | | | | | | | | | In order to meet the time requirements of charging when power off. Need enable battery fast charging when power off, and disable fast charging when power on. BUG=b:146540037 BRANCH=master TEST=Check the charging current of the three batteries, the maximum charging current is about 3325mA in S0 state and in power off states is about 6650mA. Change-Id: Ia3e2988c9b4ec83f7410746bb6a81e307025f0c6 Signed-off-by: xiaoqiang.zhu <xiaoqiang.zhu@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1982939 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* volteer: enable tablet mode supportKeith Short2020-01-093-0/+3
| | | | | | | | | | | | | | | | Enable the GMR interruprt for entering tablet mode. BUG=b:146081522 BRANCH=none TEST=make buildall TEST=Move magnet near GMR sensor, verify tablet mode is enabled and disabled from the EC console. Change-Id: I43de3ebcf42feb014c369767eefb486f31f1959c Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1992786 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* pd: cleanup pd_get_data_roleDenis Brockus2020-01-0919-34/+78
| | | | | | | | | | | | | | | This is the second half of b/147290482 Cleaning up to use pd_data_role instead of int BUG=b:147314832 BRANCH=none TEST=make buildall -j Change-Id: I2445b06f5f5469fb1f3a968034a83e3ee792e7c7 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1991845 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* pd: cleanup pd_get_roleDenis Brockus2020-01-0910-11/+31
| | | | | | | | | | | | | | | | | | pd_get_role in the TCPMv1 stack meant pd_get_power_role. pd_get_role in the TCPMv2 stack meant pd_get_data_role. This CL will clean that up and make them the correct naming. pd_get_power_role will also return an enum pd_power_role type instead of an int. BUG=b:147290482 BRANCH=none TEST=make buildall -j Change-Id: I73ee465401ccd050c2bd151f2fc043a59d95e079 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1991844 Reviewed-by: Jett Rink <jettrink@chromium.org>
* zork: add DP1_HPD support for DB optionsDenis Brockus2020-01-092-0/+2
| | | | | | | | | | | | | | | | The GPIO to use for DP_HPD is different depending on which retimer is being used. Added to select the correct one. BUG=b:139432598 BRANCH=none TEST=make buildall -j Change-Id: I11c30b37e148ecd958a5ef199739a90dd2b17dd8 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1988627 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>