summaryrefslogtreecommitdiff
path: root/board
Commit message (Collapse)AuthorAgeFilesLines
* spi: add flags to spi configurationJett Rink2020-01-304-4/+4
| | | | | | | | | | | | | | | | | Add flags field to stm and g chip usb spi configuration. This is unused for g chip, but added for consistency. BRANCH=none BUG=b:147353903 TEST=builds Change-Id: Ie2aa88ae09e8f6f4049ba13fe4565901c604b92c Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1995603 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Namyoon Woo <namyoon@chromium.org> Reviewed-by: Brian Nemec <bnemec@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2032149
* 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> (cherry picked from commit 53818877a2b7d01089364fadc5de590e1b656bf2) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2002957
* puff: disable CONFIG_HIBERNATEPeter Marheine2019-12-181-0/+1
| | | | | | | | | | | | | | | This is not a battery-powered device, so we don't want to hibernate- it makes the system unresponsive to the power button. BUG=b:146357732 TEST=still builds BRANCH=none Change-Id: I54e6f198dc34352c8e2093b6ea870859cc043a46 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1970811 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Andrew McRae <amcrae@chromium.org>
* jinlon: add battery configurationDevin Lu2019-12-182-39/+9
| | | | | | | | | | | | | Add Dynapack CosMX battery configuration. BUG=b:146413878 BRANCH=hatch TEST=make buildall -j Change-Id: I8614ddc34b37b243386101cc8695a0b0a5b15056 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1971511 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* Revert "servo_v4: remove console command on ToT only"Brian Nemec2019-12-181-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4fa4101b4b9114c13994326be689d74d36e50e68. Reason for revert: Link time optimization enabled to free up space on ToT in CL:1961149 . Original change's description: > servo_v4: remove console command on ToT only > > Servo v4 is under space pressure on Tot, but the actual branch is okay > for now. We release from the firmware branch so remove console commands > on ToT *only*. > > BRANCH=none > BUG=none > TEST=See ~1500K freed on RO and RW images on ToT. > > Change-Id: I8a49db7d4f00b0f5ca4ba4614fe62dccd7f928ee > Signed-off-by: Jett Rink <jettrink@chromium.org> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1940775 > Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> > Commit-Queue: Keith Short <keithshort@chromium.org> Bug: none TEST: Verified ServoV4 flashes successfully, manually tested connection to servod and dut-control commands. Change-Id: If9019b320b78f1af859e1e2370b3da8cae50449f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1971440 Tested-by: Brian Nemec <bnemec@chromium.org> Commit-Queue: Brian Nemec <bnemec@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* Revert "kodama/jacuzzi: enable i2c bitbang"Xiyuan Xia2019-12-188-55/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e25c81318a06506c79423900b9592a7caa36cfed. Reason for revert: This CL triggers the free space problem on kodama board. See https://crbug.com/1034518 Original change's description: > kodama/jacuzzi: enable i2c bitbang > > - Enable bitbang driver > - increase the console/hook stack size because accessing bitbang i2c bus > requires more stack memory than before > > BUG=b:138161741,b:138415463 > TEST=see CL:1765110 > BRANCH=kukui > > Change-Id: I54aa0b5c37cd3fde497b552ea553e5542e594546 > Signed-off-by: Ting Shen <phoenixshen@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1876290 > Reviewed-by: Alexandru M Stan <amstan@chromium.org> > Commit-Queue: Ting Shen <phoenixshen@chromium.org> > Tested-by: Ting Shen <phoenixshen@chromium.org> Bug: b:138161741, b:138415463, chromium:1034518 Change-Id: Ie42a9e3b6bf79416c0741d623217d2872e52d8ba Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1972385 Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Xiyuan Xia <xiyuan@chromium.org> Tested-by: Xiyuan Xia <xiyuan@chromium.org>
* board: Set Accelerometer range to 4gGwendal Grignou2019-12-1744-72/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Required by Android CDD - Section 7.3.1 - Paragraph C.1.4 Modified mechanically with: for i in $(grep -lr "\.default_range" board); do sed -i '/.default_range =/s#\(.*\.default_range = \).* /\ \* g.*#\14, /* g, to meet CDD 7.3.1/C-1-4 reqs */#' $i done Manually reworked to only change the accelerometer that matters to android: The lid accelerometer or the base accelerometer if the base also hosts the gyroscope. This is only for future EC, no need to land the change on branches: mems_setup will take care to set accelerometer ranges at 4g on startup. BUG=b:144004449 BRANCH=none TEST=compile Change-Id: If8c14b2e928c9c70c0ce51451adcfcd674a9e73b Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1957375 Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Alexandru M Stan <amstan@chromium.org>
* tglrvp: Enable Thunderbolt-compatible modeVijay Hiremath2019-12-171-0/+3
| | | | | | | | | | | | | BUG=b:140643923 BRANCH=none TEST=Able to detect Thunderbolt-compatible device Change-Id: Ic904f7d7a45cfd4051148792c96e6d7ad9d8610e Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1962751 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* nucleo-h743zi: Add buttonCraig Hesling2019-12-172-3/+8
| | | | | | | | | | | | | | | | | BRANCH=none BUG=none TEST=make BOARD=nucleo-h743zi # Flash board # From the EC UART console: gpioget BTN1 # Hold button down gpioget BTN1 Change-Id: I3e412a299d9394bbb161e43b22382dea34e7e603 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1970813 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* nucleo-h743zi: Add LEDsCraig Hesling2019-12-171-0/+10
| | | | | | | | | | | | | | | | | | | | | BRANCH=none BUG=none TEST=make BOARD=nucleo-h743zi # Flash board # From the EC UART console: gpioget gpioset LED1 1 gpioset LED2 1 gpioset LED3 1 gpioset LED1 0 gpioset LED2 0 gpioset LED3 0 Change-Id: I7bf8027e966f7a5d64b66ddc16914e822dfb0a0c Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1970118 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* lick: Add sku id to the board_is_convertibleByes Chuang2019-12-171-1/+1
| | | | | | | | | | | | | | | | Since we add the sku_id 1 in the model.yaml, add this ID to board_is_convertible in board.c as well. BUG=b:144340709 BRANCH=octopus TEST=make -j BOARD=lick Change-Id: Ic7d013c8141fd591f860f01984e8f637110e67ea Signed-off-by: Byes Chuang <byes.chuang@lcfc.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1971510 Reviewed-by: Henry Sun <henrysun@google.com> Commit-Queue: Henry Sun <henrysun@google.com> Tested-by: Henry Sun <henrysun@google.com>
* Servo: Enable LTO to improve flash spaceBrian J. Nemec2019-12-173-0/+6
| | | | | | | | | | | | | | | | | | | Enables LTO (Link Time Optimization) in order to improve flash space on ServoV4. Current builds have 48B remaining, the link time optimization frees up 6kB of space in the flash. Feature was enabled on ServoMicro and sweetberry. BRANCH=servo BUG=b:145512023 TEST=Manually tested flashing process to ensure they updated both regions, basic communication, and functionality on the following platforms: ServoV4, ServoMicro, and Sweetberry. Change-Id: I8f7a0d23478581c54a7379241a0290b897a635ea Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1961149 Tested-by: Brian Nemec <bnemec@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* baseboard/kukui: dynamic adjuct input current by thermal budgetYilun Lin2019-12-172-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Limit the charger input current if we are overheat, and loose the limit if the thermal in control. kukui/krane/kodama are suffering from thermal issue (>100 celsius degree in charger junction) and the solution was limit the system can only sink 5V/2A in S0. However, this cause slowing charging as well. We'd like to loose the 5V/2A charging limit and controls the thermal by restricting the charger input current. This CL only applies the limitation when PD voltage > 5V, because we don't see the overheat problem when krane charged with 5V. TEST=on krane, ensure the temperature of junction is always under 84 celsius degree; ensure the curve of battery current at charging is a smooth curve when PD voltage switching from high to low. BUG=b:141903096 b:144073892 BRANCH=kukui Change-Id: I9657f5a04897010d7018f910cb77b210147d8356 Signed-off-by: Yilun Lin <yllin@chromium.org> Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1899660 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* kodama/jacuzzi: enable i2c bitbangTing Shen2019-12-168-7/+55
| | | | | | | | | | | | | | | | | - Enable bitbang driver - increase the console/hook stack size because accessing bitbang i2c bus requires more stack memory than before BUG=b:138161741,b:138415463 TEST=see CL:1765110 BRANCH=kukui Change-Id: I54aa0b5c37cd3fde497b552ea553e5542e594546 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1876290 Reviewed-by: Alexandru M Stan <amstan@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* i2c: add support for i2c bit-bangingTing Shen2019-12-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Krane/Jacuzzi need a 100KHz SMBus port for battery, in addition to the existing two i2c ports. This CL adds a bit-bang driver that supports i2c/smbus bit-banging through a set of pre-defined gpio pins. BUG=b:138161741,b:138415463 TEST=On a reworked jacuzzi (battery i2c connected to other gpios), 1) `battery` shows reasonable output (this verifies i2c_readN, i2c_read_string) 2) `i2cscan` works for port 3 (bitbang port) 3) `cutoff` (verifies i2c_writeN) 4) `i2ctest` stress test BRANCH=master Change-Id: I78020e5c51707c3d9f0fd54f2c299e2f29cabe2f Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1765110 Reviewed-by: Alexandru M Stan <amstan@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* jinlon: assign power enable pin for FAN2 with proto2Devin Lu2019-12-162-1/+2
| | | | | | | | | | | | | | This patch adds power enable pin for FAN2 with porto2 board. BUG=b:145163123 BRANCH=hatch TEST=Use console "faninfo" to make sure FAN2 power on with S0. Use console "faninfo" to make sure FAN2 power off on with S5. Change-Id: Id7ed57b3b4c5fa2a93a6a5019f572edea3a2f0e0 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1966811 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* jinlon: remove identifying SKUs for kbbacklit and convertible.Devin Lu2019-12-162-47/+3
| | | | | | | | | | | | | | Jinlon is all convertible SKUs and has kbbacklit. This patch remove identifying SKUs for kbbacklit and convertible. BUG=b:145688887 BRANCH=hatch TEST=make buildall -j Change-Id: I15a0ba9017a5a924c90625d85f9714afd03ab355 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1966816 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* puff: Remove CONFIG_BRINGUPAndrew McRae2019-12-141-1/+0
| | | | | | | | | | | | | | | | Removed CONFIG_BRINGUP from EC config since now puff can boot through to depthcarge. BRANCH=none BUG=b:143035166 TEST=EC buildall Change-Id: I921fcce6f9eb3afc0f85e5ec500e91d3bcb6cef0 Signed-off-by: Andrew McRae <amcrae@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1966182 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Andrew McRae <amcrae@chromium.org> Commit-Queue: Andrew McRae <amcrae@chromium.org>
* Kodama: battery cannot be charged to fullxiong.huang2019-12-133-47/+46
| | | | | | | | | | | | | | | | | | | When kodama's bitbang driver sometime fails, will reset request voltage and current, which may trigger charger EOC event and terminate charging. On the other hand, charger has EOC accuracy issue. So mt6370's VOREG always be set as 4400mV and minimum value of mt6370's ICHG is limited as 500mA. Set IEOC as 150mA. BUG=b:145474380 TEST=Verified on both SMP battery and Celxpert battery, all can be charged to full. BRANCH=kukui Change-Id: Ie1427448e22261d33cb83f4cc6c30e428b97292c Signed-off-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1943636 Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
* Revert "hatch: refactor ↵Josh Tsai2019-12-138-45/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PD_MAX_VOLTAGE/PD_MAX_CURRENT/PD_MAX_POWER/PD_OPERATING_POWER/" This reverts commit 89197aceaf26ccf33b143c7a5e95eb07ba4c7464. Reason for revert: It is not necessary to change the PD setting, so revert it. Original change's description: > hatch: refactor PD_MAX_VOLTAGE/PD_MAX_CURRENT/PD_MAX_POWER/PD_OPERATING_POWER/ > > 1) The four config is determined by board, move it into board.h. > 2) Update the config variables above for stryke. > > BUG=b:145257655 > BRANCH=hatch > TEST=make buildall > > Change-Id: I1dd6a4f2a78b5196006821bc5d2686f68206c2e1 > Signed-off-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1950270 > Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Bug: b:145257655 Change-Id: Ib2cb2db51b15f0974d2b22ef8e0e3e6d4e6b60d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1958299 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com> Commit-Queue: Josh Tsai <josh_tsai@compal.corp-partner.google.com> Tested-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com>
* usb_pd: Rename "Externally powered" to "Unconstrained Power"Benson Leung2019-12-127-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was changed in PD 2.0 years ago (via ECN authored by our own David Schneider), but our codebase still refers to BIT 27 of the Fixed PDO as "Externally powered" instead of "Unconstrained Power". This will search and replace all instances of "Externally powered" when it refers to BIT 27, as well as function names, other internal representations of that property, strings, and comments. seds: s/PD_FLAGS_PARTNER_EXTPOWER/PD_FLAGS_PARTNER_UNCONSTR/g s/partner_extpower/partner_unconstrained/g s/externally powered/unconstrained/g Some others too. Signed-off-by: Benson Leung <bleung@chromium.org> BUG=chromium:1030990 TEST=Codebase builds clean. No functional change, except for the property shows up in ectool as "Unconstrained power" now. Change-Id: I5ececa03f29eb31057be3d0ad5311117093bc6da Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1956147 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Benson Leung <bleung@google.com> Tested-by: Benson Leung <bleung@google.com>
* kohaku: tcs3400: update coeffs for als and rgb sensorMengqi Guo2019-12-121-19/+19
| | | | | | | | | | | | | | | | | | Update board files for kohaku to use new coefficients for als and rgb sensor. BUG=b:145701281 BRANCH=master TEST='make -j BOARD=kohaku' in EC repo, verified builds succeed. Verify on the device that ALS readings are valid. Cq-Depend: chromium:1879189 Change-Id: I01d9ab3c50f352bc45aaf9bba7eb7dd56cc07faa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1960921 Tested-by: Nick Vaccaro <nvaccaro@google.com> Commit-Queue: Nick Vaccaro <nvaccaro@google.com> Auto-Submit: Mengqi Guo <mqg@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* drivers/tcs3400: update fields for new irt scale factorNick Vaccaro2019-12-125-15/+20
| | | | | | | | | | | | | | | | | | | | | | A new irt scaling factor was added to the tcs3400 driver to further improve the sensor CCT accuracy, requiring a structure definition to change. This change fixes existing boards that use the tcs3400 to use this new structure definition. Boards modified include flapjack, hatch, kohaku, kukui, and stryke. BUG=b:143246741 BRANCH=master TEST=execute "make -j BOARD=<boardname>" for kukui, kohaku, flapjack, and hatch and make sure they build without error. Cq-Depend: chromium:1879188 Change-Id: Icad96877b5cd9966e927e4dd150335c988725f0c Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1879189 Tested-by: Mengqi Guo <mqg@chromium.org> Reviewed-by: Mengqi Guo <mqg@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* meep: correct battery discharging parameterDevin Lu2019-12-121-6/+6
| | | | | | | | | | | | | Correct batteery discharging parameter to follow datasheet. BUG=b:145494158 BRANCH=octopus TEST=make buildall Change-Id: Ib5e134af912d99a27d5f2b55d206a7bee7f5f74c Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1958391 Reviewed-by: Diana Z <dzigterman@chromium.org>
* board: Add nucleo-h743ziCraig Hesling2019-12-129-0/+461
| | | | | | | | | | | | | | | | | | | | | | | | | | This brings initial support for the Nucleo-H743ZI development board. This configuration is similar to nocturne_fp, but without fingerprint sensor support, without rollback secret support, and with an adjusted console USART selection. The included README.md shows some quick steps to get a Nucleo-H743ZI up and running EC. Note that the RSA key included is only for test builds. It should not be used for any production builds. BRANCH=none BUG=none TEST=make BOARD=nucleo-h743zi make BOARD=nucleo-h743zi flash minicom -D/dev/ttyACM0 Change-Id: Ibe4b19e51467831f53365a0a7f52bec3d854f806 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1952290 Reviewed-by: Jett Rink <jettrink@chromium.org>
* puff: Add USB Type C power delivery configAndrew McRae2019-12-113-29/+98
| | | | | | | | | | | | | | | | Add the configuration and support for the USB Type C power delivery, at least enough for proto. BRANCH=none BUG=b:143256147 TEST=EC buildall, tests Change-Id: I8b1c2f27b31ba163716d8a50b76ad967260ae2f2 Signed-off-by: Andrew McRae <amcrae@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1958250 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Andrew McRae <amcrae@chromium.org> Commit-Queue: Andrew McRae <amcrae@chromium.org>
* kappa: Add keyboard functionalityZick Wei2019-12-114-1/+30
| | | | | | | | | | | | | | | Clone from CL:1693863 Added IT8801 io expandor (which include keyboard controller) and the keyscan task. BUG=none BRANCH=none TEST=make buildall Change-Id: Ibd74f55e37e8c9bef1d1866b0e538dec37000d66 Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1943496 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* dratini: configure fan speed at initialDevin Lu2019-12-112-4/+4
| | | | | | | | | | | | | | | Set correct fan maxima/minimum and initial speed for EVT. To provent fan loudly after ec reset. Set lower initial speed to 10 percent. BUG=none BRANCH=hatch TEST=make buildall Change-Id: I468b82942ec2e5841ed35ced9baea296b35f620b Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1958390 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* jinlon: Make sure EC_RST_ODL is GPIO_LOCKEDDevin Lu2019-12-111-0/+11
| | | | | | | | | | | | | | Clone from CL:1928422 BUG=none BRANCH=hatch TEST=make buildall Change-Id: I488ecaa317b2164d693c9acea2ed010da2e26e2b Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1958386 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* jinlon: Assign SYS_RST_ODL to GPIOC5Devin Lu2019-12-111-1/+1
| | | | | | | | | | | | | Clone from CL:1928421 BUG=none BRANCH=hatch TEST=make sure AP reset pass. Change-Id: I98f8160c9d948a89e8f9a3fd0a3f85b6a7b95b82 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1958385 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* volteer: add support for volume up/down buttonsKeith Short2019-12-113-1/+5
| | | | | | | | | | | | | | BUG=b:145959769 BRANCH=none TEST=make buildall TEST=press volume up/down buttons. Verify press/release events on EC console, verify volume control shown on ChromeOS login screen. Change-Id: I6f32de10275f2e2d78b508109a4676344215811c Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1960917 Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* usb_pd_policy: Make a lot of objects commonAseda Aboagye2019-12-1051-8414/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a board specific usb_pd_policy.c file that contains a lot of code for handling DisplayPort Alternate mode, Google Firmware Update Alternate mode, as well as some PD policy functions such as deciding to Accept or Reject a data role swap or a power role swap. Several boards simply copy/paste this code from project to project as a lot of this functionality is not actually board specific. This commit tries to refactor this by pulling the functions that are not mainly board specific into common code. The functions are made overridable such that boards that truly do require a different implementation may do so. Additionally, this consolidation changes the policy behaviour for some boards, but they should be for the better. Some examples include that data swaps are always allowed if we are a UFP (no system image requirement), power swaps are allowed to become a sink if we are no longer dual role (e.g. - in suspend), and DisplayPort Alternate Mode is not entered if the AP is off. In order to facilitate this refactor, a couple CONFIG_* options were introduced: - CONFIG_USB_PD_DP_HPD_GPIO /* HPD is sent to the GPU from the EC via a GPIO */ - CONFIG_USB_PD_CUSTOM_VDO /* * Define this if a board needs custom SNK and/or SRC PDOs. * * The default SRC PDO is a fixed 5V/1.5A with PDO_FIXED_FLAGS indicating * Dual-Role power, USB Communication Capable, and Dual-Role data. * * The default SNK PDOs are: * - Fixed 5V/500mA with the same PDO_FIXED_FLAGS * - Variable (non-battery) min 4.75V, max PD_MAX_VOLTAGE_MV, * operational current PD_MAX_CURRENT_MA, * - Battery min 4.75V, max PD_MAX_VOLTAGE_MV, operational power * PD_OPERATING_POWER_MW */ BUG=chromium:1021724,b:141458448 BRANCH=<as many as we can that are still supported> TEST=`make -j buildall` TEST=Flash a kohaku, verify that DP Alt Mode still works with a variety of DP peripherals TEST=Repeat above with a nocturne TEST=Repeat above with an atlas Change-Id: I18fd7e22dc77fe1dc6c21c38cd7f1bc53cae86cb Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949052 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* volteer ish: bring up ISHli feng2019-12-105-0/+179
| | | | | | | | | | | | | | | | | Hardware rework on Volteer, stuff ISH UART0 and I2C1 path. BRANCH=none BUG=b:145946347 TEST=Verified ISH console output from ISH UART0; sensor i2c access from ISH I2C1 port. Change-Id: I5cd20c38fa8f321c886091799c52555e796fd747 Signed-off-by: li feng <li1.feng@intel.com> Signed-off-by: Leifu Zhao <leifu.zhao@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1959825 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* Trogdor: Prevent getting into a boot loop assertion failureWai-Hong Tam2019-12-101-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In any case failing to talk to the PPC chip, e.g. a hardware bug or a daughter-board not attached, returning a failure return code will result a boot loop assertion failure. Should prevent this case. This is the same behavior as other boards, like octopus, grunt, etc. BRANCH=None BUG=b:145648750 TEST=Don't attach the daughter-board, unplug and plug the charger. No assertion boot loop. > [26.148463 USB MUX 1] C0 st2 SNK_DISCONNECTED [26.150189 Disabling all charging port] [26.151815 ppc p1: Failed to set FUNC_SET3!] [26.152277 Disabling p1 sink path failed.] [26.157214 CL: p-1 s-1 i0 v0] [26.180500 AC off] [27.198359 Battery 99% (Display 0.0 %) / 44h:22 to empty, not accepting current] C0 st3 SNK_DISCONNECTED_DEBOUNCE [30.896588 VBUS p0 1] C0 st14 SRC_DISCONNECTED [30.934551 VBUS p0 0] C0 st3 SNK_DISCONNECTED_DEBOUNCE [31.170306 VBUS p0 1] [31.189848 USB MUX 0] C0 st5 SNK_DISCOVERY C0 RECV 51a1/5 [0]0801912c [1]0002d12c [2]0003c12c [3]0004b12c [4]000640e1 C0 Req [1] 5000mV 3000mA [31.283610 New charge port: p0] [31.284181 ppc p1: Failed to set FUNC_SET3!] [31.284585 p1: sink path disable failed.] ... Change-Id: Ifa81eea0a7d2fc2f90b1a64dacce2a6802165b0a Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1954915 Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* Trogdor: Disable TCPC auto-toggle and low power modeWai-Hong Tam2019-12-101-2/+7
| | | | | | | | | | | | | | | | | | | | | | The TCPC PS8805 firmware seems to old that: * can't do DRP auto-toggle; * can't be waked up from the low power mode. It blocks delivering 5V to the USB device. Before we enable the PD software sync to update the firmware, tempoary disable these features so people can use the Type-C ports. BRANCH=None BUG=b:145723652 TEST=Plugged an unpowered USB sink to port 0 and 1. The USB sink was powered. Change-Id: Ia83f30a4e4658a893b3b7e878a2b229556f3b981 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1955109 Reviewed-by: Stephen Boyd <swboyd@chromium.org>
* Trogdor: Measure the rail PP868_S1C_S2C_S3CWai-Hong Tam2019-12-103-0/+11
| | | | | | | | | | | | | Add ADC5 which measure the rail PP868_S1C_S2C_S3C. BRANCH=None BUG=b:143616352 TEST=Checked the ADC values when AP on and off. Change-Id: I8b33e199a9c7214d748c5435d9a77d0bf1fd7c15 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1954981 Reviewed-by: Stephen Boyd <swboyd@chromium.org>
* akemi: Remove CONFIG_EC_FEATURE_BOARD_OVERRIDEdnojiri2019-12-102-8/+1
| | | | | | | | | | | | | | | | | CONFIG_EC_FEATURE_BOARD_OVERRIDE is deprecated by CL:1951810. Signed-off-by: dnojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: I2e8a66b47bb5a29184dae0d7ba56381f5b1f59e4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1960490 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org>
* foob: initial files commitPeichao Wang2019-12-107-0/+889
| | | | | | | | | | | | | | | Initial files for foob are copied from phaser, BRANCH=octopus BUG=b:144890301 TEST=make BOARD=FOOB Change-Id: I63a8263d0f24b5295fd3385beb60afb1ebd25bb1 Signed-off-by: peichao.wang <peichao.wang@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1948683 Reviewed-by: Henry Sun <henrysun@google.com> Tested-by: Henry Sun <henrysun@google.com> Commit-Queue: Henry Sun <henrysun@google.com>
* power/mt8183: correct EN_PP1800_S5_L enable timingYilun Lin2019-12-109-90/+20
| | | | | | | | | | | | | | | | The power rail should be turned on at G3S5 rather than S5S3, and should be turned off after stay in G3 for 20ms. TEST=Ensure the power rail is on/off at correct timing BUG=b:144144075 b:145255107 BRANCH=none Change-Id: Ie621ab1ac5332da6718201c44266f41aafcac296 Signed-off-by: Yilun Lin <yllin@chromium.org> Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1928413 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Alexandru M Stan <amstan@chromium.org>
* glados: remove some console command in RO to get more spaceTing Shen2019-12-101-0/+2
| | | | | | | | | | | | | | | Glados' RO space is full again since CL:1258569. BUG=None TEST=make BRANCH=None Change-Id: I33d979cde819a900626a10f740125b837f3ecfb5 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1957338 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* jacuzzi: enlarge stack for hook_taskTing Shen2019-12-101-1/+1
| | | | | | | | | | | | | | | | Seeing stack overflow on recent squash, increase the stack size to fix this. BUG=None TEST=boot on juniper BRANCH=None Change-Id: I95bd4f14c032d35857df5ec9d8e96f8283155114 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1957341 Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Alexandru M Stan <amstan@chromium.org>
* akemi: enable ec feature flag override functionxiaoqiang.zhu2019-12-102-0/+22
| | | | | | | | | | | | | | | | | | | | Akemi supports keyboard backlight by default, but the new SKU does not support keyboard backlight. We need to increase sku_id to distinguish whether keyboard backlight is supported. So, enable ec feature flag override to report keyboard backlight feature by sku_id. BUG=b:144815890 BRANCH=master TEST=Boot akemi boards, press Alt+Brightness-Up/Down to change keyboard backlight, it has no function on sku_id=1/2, and it works fine on sku_id=3/4. Change-Id: I081256be210fd004332f01771ad05d2f06f9f131 Signed-off-by: xiaoqiang.zhu <xiaoqiang.zhu@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1950007 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Tested-by: Cherish Wang <cherish.wang@bitland.corp-partner.google.com>
* power/cometlake-discrete: implement power sequencingstabilize-12748.B-masterPeter Marheine2019-12-102-6/+9
| | | | | | | | | | | | | | | | | | | | | A first go at the power sequencing needed for Puff. This abuses the Intel common power code a little bit because we don't actually have all the inputs it assumes, but that seems preferable to replacing it wholesale. The one limitation right now is inability to detect transitions on the rails that we only have analog monitoring on; either we need to design a way to monitor those, or decide that detecting dropouts on those rails is unimportant. BUG=b:143188569 TEST=still builds BRANCH=None Change-Id: Ia960f5dd2ccfb1ca2c7d4107ba4e3737adc8f69f Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1925787 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Define board_override_features_flags APIs as overridablednojiri2019-12-1016-61/+8
| | | | | | | | | | | | | | | | | | | | | | Currently board_override_features_flags0/1 are enabled by CONFIG_EC_FEATURE_BOARD_OVERRIDE. This patch defines the callbacks as overridable. It will allow us to remove CONFIG_EC_FEATURE_BOARD_OVERRIDE and the redundancy it incurs. Signed-off-by: dnojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: I0c2870b746879b272ada35b9615b611627a9f426 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1951810 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org>
* puff: implement PP5000 port power controlPeter Marheine2019-12-106-9/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EC watches current limiting on the USB and HDMI ports to keep system load on the 5V rail within the limits of the regulator. The EC's goal is to ensure that any single future state change (connecting or disconnecting a port) doesn't push the 5V rail overcurrent. Verification is done via symbolic execution with Klee; ensuring that there exists no state where plugging something into a port with no further changes would put us over the power budget. Sample verification output: > KLEE: Using Z3 solver backend > > KLEE: done: total instructions = 4439 > KLEE: done: completed paths = 30 > KLEE: done: generated tests = 30 v2: convert ad-hoc state space exploration for verification to symbolic execution, allowing port control code to be reused for both. BUG=b:143190102 TEST=make buildall BRANCH=none Change-Id: If06e319c8d38bd11b29a7e69499d40357176a97e Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1911261 Reviewed-by: Andrew McRae <amcrae@chromium.org>
* Morphius: create new boardEdward Hill2019-12-098-0/+424
| | | | | | | | | | | BUG=b:144029292 BRANCH=none TEST=build Change-Id: Id362ac64a43082e0ae2cb59c0259f040c693dd1f Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1954308 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* jacuzzi: remove CONFIG_USB_PD_VBUS_MEASURE_NOT_PRESENTTing Shen2019-12-093-3/+0
| | | | | | | | | | | | | BUG=b:145376409 TEST=`ectool usbpdpower` BRANCH=none Change-Id: I95fea133997643408652e1884fe53215ef17e2a9 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1947508 Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* jinlon: correct accel orientationDevin Lu2019-12-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BUG=none BRANCH=hatch TEST=When device is laying on a table, lid angle at 180, both sensors report gravity along Z axis: localhost ~ # ectool motionsense Motion sensing active Sensor 0: -816 1904 16144 Sensor 1: 115 -136 16228 Sensor 2: 0 0 0 When on the base bottom edge, report gravity along Y axis: localhost ~ # ectool motionsense Motion sensing active Sensor 0: -3344 16160 -1616 Sensor 1: 5 16381 1029 Sensor 2: 0 0 0 When on its left side, report gravity along X axis: localhost ~ # ectool motionsense Motion sensing active Sensor 0: 16416 4272 -1280 Sensor 1: 16403 627 -1691 Sensor 2: 0 0 0 and check the screen rotation was normally. Change-Id: Ie9afa76954c6fd4e5996809255df203688953440 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1955104 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* volteer: update battery parameterScott Chao2019-12-091-5/+5
| | | | | | | | | | | | | Update battery parameter BUG=b:145786003 BRANCH=NONE TEST=make buildall Change-Id: Ie0941cb06d82902a3b32b9165644a62efdb05746 Signed-off-by: Scott Chao <scott_chao@wistron.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1955106 Reviewed-by: Keith Short <keithshort@chromium.org>
* board: Set min/max frequency attributesGwendal Grignou2019-12-099-2/+24
| | | | | | | | | | | | | | | On some boards, min_/max_frequency attributes were not set, esp. for kx022 acceleometers. BUG=b:145799480 BRANCH=octopus,coral TEST=compile Change-Id: I6d32926541505f02f183539ca3ad9f70c1ae7a6b Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1957374 Reviewed-by: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org>