summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* lick: Initial EC imagestabilize-quickfix-12739.94.B-masterstabilize-quickfix-12739.71.B-release-R80-12739.B-masterstabilize-excelsior-12739.67.B-release-R80-12739.B-masterstabilize-excelsior-12739.67.Bstabilize-12739.111.B-masterstabilize-12739.106.B-masterstabilize-12739.105.B-masterrelease-R80-12739.B-masterHash.Hung2019-12-067-0/+856
| | | | | | | | | | | | | | | | | | | The starting point for Lick EC image. Remove unuse battery(PANASONIC). Set project default sku 255 to non-convertible. Modify Sunwoda start_charging_max_c from 60 to 50. BUG=b:145181137 TEST=make BRANCH=master BOARD=lick Change-Id: Id9a8d488c648b75528b8dfcd135a457a63c8d0ff Signed-off-by: Hash.Hung <hash1.hung@lcfc.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1942367 Reviewed-by: Henry Sun <henrysun@google.com> Commit-Queue: Henry Sun <henrysun@google.com> Tested-by: Henry Sun <henrysun@google.com>
* kukui: enlarge stack for hook_taskEric Yilun Lin2019-12-061-1/+1
| | | | | | | | | | | | | | We are seeing a stack overflow from hook_task. Enlarge it to prevent from crashing. TEST=not seeing a EC crash BUG=none BRANCH=kukui Change-Id: I1c574ecd577528dda57c2771bd4e67b3aa557b75 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1954833 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* volteer: Keep RSMRST# pin low at initVijay Hiremath2019-12-061-1/+1
| | | | | | | | | | | | | | Keeping the RSMRST# pin is low at init based on the TGL PDG power sequence Timing Diagram. BUG=b:145767544 BRANCH=none TEST=Verified on scope, RSMRST# pin is low at init Change-Id: Ia5d5c76ce3f173d1c283da706dd1113ce1dad550 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1954875 Reviewed-by: Keith Short <keithshort@chromium.org>
* volteer: disable PD 3.0 stackKeith Short2019-12-062-0/+39
| | | | | | | | | | | | | The PD 3.0 stack isn't reliably charging the battery. BUG=b:145622441 BRANCH=none TEST=make buildall TEST=verify PD negotiation with battery connected and battery charging Change-Id: Idccf6a4f325e94fdbf2df310b539a0b75125be92 Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949148
* ppc: Use hard reset to recover from CC overvoltageEdward Hill2019-12-063-66/+39
| | | | | | | | | | | | | | | When sn5s330 PPC detects CC overvoltage, recover via hard reset and don't enable PP2 sink FET directly. Also clean up the interrupt unmasking in sn5s330_init(). BUG=b:144892533 BRANCH=grunt TEST=Do ESD test to trigger CC1/CC2 OVP, device recovers to sink Change-Id: I662bf164b55508be4d5cc1b3ad639c9613bd1935 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949264 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* usbc: Move PPC overcurrent functions to usb_common.cEdward Hill2019-12-064-108/+67
| | | | | | | | | | | | | Share single copy of PPC overcurrent functions between TCPMv1 and TCPMv2. BUG=none BRANCH=none TEST=build Change-Id: I70e25e8580f6bbfebe6269552cd186f3bb981ede Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1954305 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* chip/host: Avoid concurrent recipes of libcryptoc.aYicheng Li2019-12-054-28/+4
| | | | | | | | | | | | | | | | | | | | CONFIG_DCRYPTO compiles and links thirdparty/libcryptoc for cr50. CONFIG_LIBCRYPTOC does similar things for other boards that configures it, including host. This resulted in cr50_fuzz having concurrent recipes for libcryptoc, as it has both configs. This change separates CONFIG_DCRYPTO from the responsibility of building and linking libcryptoc. Libcryptoc is now solely handles by CONFIG_LIBCRYPTOC. BRANCH=none BUG=b:144811298 TEST=make -j buildall > /dev/null Observed no more "warning: overriding recipe for target 'build/host/cr50_fuzz/cryptoc/libcryptoc.a' " Change-Id: I2186cbead773629456da254df5f82b96e9646fc2 Signed-off-by: Yicheng Li <yichengli@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949554 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* docs/fingerprint: Fix diagrams in fingerprint design docTom Hughes2019-12-054-3/+9
| | | | | | | | | | | | | | | | | The doc links are not accessible publicly, so add PNG versions of the images using Drive's export functionality (i.e., append "export/png" to the end of the link). The original doc links are kept as comments so we know where they came from if we need to make changes. BRANCH=none BUG=none TEST=view in gitiles Change-Id: Ic6cf514032cfa9205c7c763716bf489597f2e08d Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1954312 Reviewed-by: Craig Hesling <hesling@chromium.org> Commit-Queue: Craig Hesling <hesling@chromium.org>
* chell: Remove chell from masterAseda Aboagye2019-12-0510-1527/+0
| | | | | | | | | | | | | | | | | chell is out of space and we've removed a lot functions but it's still full. Now it's time to delete it. "Cara mia addio..." BUG=none BRANCH=None TEST=`make -j buildall` Change-Id: I064d55356012000e51654a1aa247226b33a8f0ff Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1953761 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* tcpci: POWER_CTRL auto discharge disconnect initDenis Brockus2019-12-056-59/+80
| | | | | | | | | | | | | | | | | Change TCPCI to use HOOK_USB_PD_CONNECT/DISCONNECT to set/clear TCPC_REG_POWER_CTRL_AUTO_DISCHARGE_DISCONNECT according to the TCPCI spec. Change the definition of HOOK_USB_PD_CONNECT to occur after CC and VBus are stable. BUG=b:144126745,chromium:951683 BRANCH=none TEST=Charger attach/pull with AP not running Change-Id: I625efbba80f190322e3e92de6318b710b3ce7ade Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1940777
* docs/fingerprint: Add note about generating keysCraig Hesling2019-12-051-0/+7
| | | | | | | | | | | BRANCH=none BUG=none TEST=view in gitile Change-Id: I7aee42a1eb6f526836c6ef387bf05e1342d2b65f Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1952287 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* cleanup: format help text to ease readingJett Rink2019-12-051-3/+5
| | | | | | | | | | | BRANCH=none BUG=none TEST=verify help text on command line Change-Id: Iec19641eb0a61f1f0de1afe4b59b587b8f0d7410 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1945820 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* chell: Remove console cmds to save spaceAseda Aboagye2019-12-051-0/+5
| | | | | | | | | | | | | | | | Chell is out of space, so remove console commands that are not used during FAFT testing. BUG=None BRANCH=glados TEST=`make -j BOARD=chell` verify that it succeeds. Change-Id: I05f44c4c27bb25a0c95b2c1bf2be2c2c46c7e8fc Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949051 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* stryke: Assign SYS_RST_ODL to GPIOC5 and make sure EC_RST_ODL is LOCKEDJosh Tsai2019-12-051-2/+13
| | | | | | | | | | | | | | | There is an error where SYS_RST_ODL is assigned to GPIO02 where it is actually assigned to GPIOC5 in the schematics. BUG=b:145369657 BRANCH=none TEST=make buildall Change-Id: I26a4b37baf160714bc07d8f9eb5df7234e76d96e Signed-off-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1948701 Reviewed-by: Ruby Lee <ruby_lee@compal.corp-partner.google.com> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* kukui: Do not sink LED power on initYilun Lin2019-12-051-1/+1
| | | | | | | | | | | | | | Enable LED color would start consuming power even if the led brightness is zero. TEST=make buildall BUG=b:137618886 BRANCH=kukui Change-Id: I06120f4fec0cc41e40463989649ac9a5061d9f6b Signed-off-by: Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1926187 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* g: update rollback info map for both RO and RW sectionsVadim Bendebury2019-12-051-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both RO and RW sections have their respective rollback spaces in INFO1, but until now Cr50 code did not honor the RO binaries' headers rollback maps and did not update the appropriate iNFO1 space. With this patch both RO and RW info maps are updated to the lowest level of the two images found in the flash when invoked during board_init() or to match the currently active RO/RW when invoked through vendor command indicating successful OS startup. BRANCH=cr50, cr50-mp BUG=b:136284186 TEST=tried the new image on a chip with freshly erased INFO1 space: first running a DBG image, which does not touch INFO1 maps: > vers ... RO_A: * 0.0.11/bc74f7dc RO_B: 0.0.11/4d655eab RW_A: * 0.4.24/DBG/cr50_v2.0.2744-d79516a9d RW_B: 0.4.24/DBG/cr50_v2.0.2744-d79516a9d .. > sysinfo ... Rollback: 0/1/1 0/128/128 ... Then running an image with debug extensions disabled: > vers ... RO_A: * 0.0.11/bc74f7dc RO_B: 0.0.11/4d655eab RW_A: 0.4.24/DBG/cr50_v2.0.2744-d79516a9d RW_B: * 0.4.24/cr50_v2.0.2744-d79516a9d ... > sysinfo ... Rollback: 1/1/1 2/128/2 ... Change-Id: I259a3f46c03199633ca85389872449d667f172fb Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949548 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* g: display both RO and RW info map statusVadim Bendebury2019-12-052-27/+38
| | | | | | | | | | | | | | | | | | | | | Cr50 firmware is required to update the rollback prevention map in INFO1 for both RO and RW images. This patch adds code to display the state of the RO map and both RO_A and RO_B headers in addition to previously reported RW information. BRANCH=cr50, cr50-mp BUG=b:136284186 TEST=loaded the new image and observed reported rollback state: > sysinfo ... Rollback: 0/1/1 0/128/128 ... Change-Id: I32206545b6a59a5693e4274e62fcf0627780f61f Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1949546 Reviewed-by: Namyoon Woo <namyoon@chromium.org>
* docs/fingerprint: Add details on FPMCU logsTom Hughes2019-12-051-2/+42
| | | | | | | | | | | | BRANCH=none BUG=none TEST=view in gitiles Change-Id: Ie3ef2dbbb9ffbe2592268eb2d23f1afe53594a25 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1952098 Reviewed-by: Craig Hesling <hesling@chromium.org> Commit-Queue: Craig Hesling <hesling@chromium.org>
* docs/fingerprint: Add factory requirements for fingerprintTom Hughes2019-12-052-0/+459
| | | | | | | | | | BRANCH=none BUG=b:131913998 TEST=view in gitiles Change-Id: Ia0cbdb5a2be3b1e35be668384369c372334629c4 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1951809
* cr50: add support for FIPS mode flag in FWMPVadim Sukhomlinov2019-12-042-2/+17
| | | | | | | | | | | | | | | | | | | | Added definition of FWMP_DEV_FIPS_MODE matching same definition in vboot. Support function board_fwmp_fips_mode_enabled() introduced to read it's status. It's not currently used, but will be consumed by FIPS code. BUG=b:138577491 BRANCH=cr50 TEST=make BOARD=cr50 Change-Id: Iebf672cfebfeb18ae62892097fbf1fa30a770338 Signed-off-by: Vadim Sukhomlinov <sukhomlinov@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1950813 Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Auto-Submit: Vadim Sukhomlinov <sukhomlinov@chromium.org> Commit-Queue: Vadim Sukhomlinov <sukhomlinov@chromium.org>
* servo_v4: remove console command on ToT onlyJett Rink2019-12-041-0/+4
| | | | | | | | | | | | | | | | 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>
* cr50: Add tpmtests for SHA-384 and 512.Gurleen Grewal2019-12-041-1/+34
| | | | | | | | | | | | | | | | BUG=none BRANCH=cr50 TEST=test/tpmtest/tpmtest.py Cq-Depend: chromium:1910525 Change-Id: I52e67f565658992b99e60de7a76161afc2e87952 Signed-off-by: Gurleen Grewal <gurleengrewal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1913629 Tested-by: Gurleen Grewal <gurleengrewal@google.com> Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
* g: Add support for 192 and 256 bit AES-GCM in DCRYPTO_gcm_initVadim Sukhomlinov2019-12-043-7/+9
| | | | | | | | | | | | | | DCRYPTO_gcm_init hardcoded key length to 128 bit causing preventing testing of 192 and 256 bit functionality for AES-GCM. BUG=b:135623371 BRANCH=cr50 TEST=compile, specific test for issue as described in bug Change-Id: I4fc41f6155661709115c57aa944c8976e17bffac Signed-off-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1766098 Reviewed-by: Andrey Pronin <apronin@chromium.org>
* tcpci: restructure fault fetch and clearingDenis Brockus2019-12-042-17/+41
| | | | | | | | | | | | | | | | | | Changed the code to not be as indented by using functions instead of nesting deeper and deeper in conditions. The intent would be to add tcpci_handle_fault(port, fault) if we ever decide to generically handle faults. For now it just prints the fault. BUG=b:144126745 BRANCH=none TEST=if any console FAULT output verify properly handled Change-Id: Ie406302c4a824e7d14ca0832cf7bfca7432680f6 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1940778 Commit-Queue: Edward Hill <ecgh@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* volteer: Enable USB-C Port 1Vijay Hiremath2019-12-045-4/+44
| | | | | | | | | | | BUG=b:140578872 BRANCH=none TEST=Able to boot to OS from Zinger connected on Port 1 Change-Id: I2db9763370ecfae2a38081b6fc607b1ef1d06b67 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1947426 Reviewed-by: Keith Short <keithshort@chromium.org>
* volteer: enable thermal managementKeith Short2019-12-043-19/+160
| | | | | | | | | | | | | | | Configure fan for PWM operation. Enable thermal management policies. BUG=b:143768086 BRANCH=none TEST=make buildall TEST=use 'thermalset' to force high and halt temperature conditions, verify AP is alerted and halted Change-Id: I6362ce9d5a0edbd231e3f9464dfccf34d4f1c7a0 Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1946774 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* npcx: Disable ITIM after watchdog_stop_and_unlock()Tim Wawrzynczak2019-12-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | watchdog_stop_and_unlock() depends upon the ITIM32 module to ensure that it has been at least 3 watchdog ticks since the last time the watchdog has been touched. If it has been > 100ms since then, there will be no problem, but if it has been less than 100ms, then because the ITIM32 module was disabled, then the system will get stuck in the while (time_since32() ...) loop. This will eventually cause the watchdog to kick in and reboot the EC, which will also cause the AP to reboot. BUG=b:145371494, b:140207603 BRANCH=firmware-hatch-12672.B TEST=sanity testing (alt+volup+h still works) and buildall (this bug was nearly impossible to reproduce) Change-Id: I5e32f4940f03fee90b3aa809b185c13ed66ce7f1 Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1946773 Reviewed-by: Andrew McRae <amcrae@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* Nami: Add DC PROCHOT SettingKo2019-12-031-0/+17
| | | | | | | | | | | | | | | | | | | | Currently, we use default current, 4.096A for all DC PROCHOT# threshold, add higher prochot current according to different OEM ID to improve performance on Nami. Signed-off-by: Ko Ko <ko_ko@compal.corp-partner.google.com> BUG=b:130387567 BRANCH=Nami TEST=Verify Nami dc prochot set to designated current during initial. Change-Id: I5f46c69114d45bd6324bdff150ae6dc5711a6992 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1716675 Reviewed-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Ko Ko <ko_ko@compal.corp-partner.google.com> Commit-Queue: Ko Ko <ko_ko@compal.corp-partner.google.com>
* charger/rt946x: fix charger Vsys shortYilun Lin2019-12-032-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | Vsys may short if Ichg and Isys's gap is too huge, and it will cause the system shutdown. When the system is charging at 500mA, and if Isys > 3600mA, the power path will be turned off and cause the system shutdown: - When Ichg < 400mA, then power path is roughly 1/8 of the original. - When Isys > 3600mA, this cause the voltage between Vbat and Vsys too huge (Vbat - Vsys > Vsys short portection) and turns off the power path. To workaround this, we have to 1. disable Vsys short protection when Ichg is set below 900mA 2. forbids Ichg <= 400mA (this is done natually on mt6370, since mt6370's minimum current is 512) BRANCH=kukui BUG=b:144532905 TEST=Change ichg setting to test vsys short and ensure the system won't shutdown. Change-Id: I6cbdd974f6f0cc94ebd82d419304a0d4e67fcaff Signed-off-by: Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1924169 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* charger/rt946x: add delay for current limit source selectYilun Lin2019-12-031-0/+4
| | | | | | | | | | | | | | | It took the charger 5ms to ramp after setting a new current limit source. BUG=b:144532905 BRANCH=kukui TEST=make buildall Change-Id: I46c39d039c164f5b9be6a6157285192c6a8198d1 Signed-off-by: Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1924168 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Allen Chiang <allen_chiang@mediatek.corp-partner.google.com>
* stryke: Initial EC imageDtrain Hsu2019-12-037-0/+1019
| | | | | | | | | | | | | | | | | | The starting point for the stryke EC image (Auto-Generated by create_initial_ec_image.sh version 1.0.0). BUG=b/145101696 BRANCH=none TEST=make BOARD=stryke Change-Id: Id4546da9d79d6692cd66dc6b44f46973e8c50e58 Signed-off-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1935472 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com> Tested-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com> Commit-Queue: Shelley Chen <shchen@chromium.org>
* charger/rt946x: do BC1.2 recognition when requiredYilun Lin2019-12-031-16/+42
| | | | | | | | | | | | | | | | | | | | | BC1.2 and USB enumeration may have a race condition on operating D+/D- pins. This CL make BC1.2 detection runs only when required. That is, only if the CC pins exists RP (sink), and the port is not PD capable, then the source could be a BC1.2 device. Also, drops notifying AC_CHANGE, since it's not accurate while we only enable BC1.2 detection on the state. TEST=ensure BC1.2 detection only runs on a BC1.2 charger plug. BUG=b:141005922 BRANCH=kukui Change-Id: I0aac4221858b316165302494933bf0f54809dcf1 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/+/1936076 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* docs: Add wikipedia link for LPCTom Hughes2019-12-021-2/+3
| | | | | | | | | | | | BRANCH=none BUG=none TEST=view in gitiles Change-Id: I711fb38b180adfc7f69cf954b6070aa45e7677ae Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1946788 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* usb_pd: Enable Try.Src when dedicated charge port presentAyushee2019-12-021-0/+9
| | | | | | | | | | | | | | | | | | When a dedicated charge port is connected, it can source power. Hence, allow PD for trying as source. BUG=b:144824310 BRANCH=None TEST=Tested on TGL-Y able to see try.src logs with DC jack present without the battery connected Change-Id: I46e419c7e08ab4cf1e43c8b65e9cc4fdadc73825 Signed-off-by: Ayushee <ayushee.shah@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1926712 Tested-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* i2c: don't output trace line for 0 length dataDenis Brockus2019-12-021-0/+3
| | | | | | | | | | | | | | | | | Write I2C operations always displayed a line indicating a read of port:addr with nothing following. Just don't output any lines that have no data to display. BUG=none BRANCH=none TEST=i2ctrace should not display lines with no data Change-Id: I1ba4bf3e627c47e62c68a592473431fcc195420a Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1940776 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/flash_ec: Rename '--get-size' -> '--flash-size'Edward O'Callaghan2019-12-021-1/+1
| | | | | | | | | | | | | | | | | Upstream decided the argument '--flash-size' is more consistent and so we added support to that in both our flashrom and upstream. Rename here so that when we switch to upstream mosys doesn't break. BUG=b:142436013 BRANCH=none TEST=none Change-Id: I4ae50109b7cb3fd001188ef86072d1f221f73062 Signed-off-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1936072 Reviewed-by: Sam McNally <sammc@chromium.org> Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
* Revert "kukui: remove virtual battery for devices with smart battery"Ting Shen2019-11-296-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c1edf25f4d3000529994be1ac1af166c69df47a3. Reason for revert: still need virtual battery on kodama/jacuzzi to let OS side has a more stable data. Original change's description: > kukui: remove virtual battery for devices with smart battery > > CONFIG_I2C_VIRTUAL_BATTERY/CONFIG_I2C_PASSTHRU_RESTRICTED is for devices > with dumb battery to simulate smart battery interface. Remove these > flags for devices with smart battery. > > BUG=b:140847169 > TEST=ectool i2cread 8 1 0x16 <reg>, where reg = 0x00~0x03 > BRANCH=master > > Change-Id: I6088f66596e626f62320ee4ab181e972016aa80c > Signed-off-by: Ting Shen <phoenixshen@chromium.org> > Reviewed-on: http://crrev.com/c/1799289 > Reviewed-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> > Reviewed-by: Yilun Lin <yllin@chromium.org> > Tested-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> > Commit-Queue: Sean Abraham <seanabraham@chromium.org> BUG=b:144195782 TEST=`ectool i2cxfer 2 0x0B 16 0x21` multiple times. BRANCH=master Change-Id: I999328cd22561fd9f15eef23bc15be980b66bb8d Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1933793 Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* fusb302: fix lower power modeTing Shen2019-11-292-3/+66
| | | | | | | | | | | | | | | | | | | | CL:1880773 makes board unable to exit low power mode because interrupt is not configured correctly, this CL fixes the problem. BUG=b:142760774,b:145101992 TEST=1) In S0, unplug and replug usb device make sure the device shows up in `lsusb` 2) suspend, unplug and replug usb device, resume make sure the device shows up is `lsusb` 3) make sure toggle is disabled in G3 and force source/sink mode. BRANCH=master Change-Id: Iae8eb7571241ad8364d460fbb516844c7aa8b86a Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1939027 Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* kukui: refactor PD_MAX_VOLTAGE/PD_OPERATING_POWERTing Shen2019-11-297-13/+24
| | | | | | | | | | | | | | | | | | 1) PD_MAX_VOLTAGE_MV is determined by charger, move it into the ifdef VARIANT_KUKUI_CHARGER_* clause. 2) PD_OPERATING_POWER_MW is determined by board, move it into board.h. 3) update the two config variables above for jacuzzi family. BUG=None TEST=make buildall BRANCH=kukui Change-Id: I6f14a71a34e2c81a5030ff5809996ddf74a4ad12 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1930521 Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* helios: Increase power button init timeoutTim Wawrzynczak2019-11-291-0/+7
| | | | | | | | | | | | | | | | | Helios' battery takes several seconds to come back from the cutoff state. Recorded about ~4 seconds, so bump the init timeout up to 6 seconds for some margin as well. BUG=b:141577278 BRANCH=firmware-hatch-12672.B TEST=Verify DUT will boot up from cutoff a few seconds after AC power is plugged in. Change-Id: I26086ef862ae09e8aca5afd67dff2492065428dc Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1940857 Reviewed-by: Shelley Chen <shchen@chromium.org> Commit-Queue: Shelley Chen <shchen@chromium.org>
* Trogdor: Regenerate HPD through a GPIO to signal APWai-Hong Tam2019-11-282-6/+51
| | | | | | | | | | | | | | | Add this extra way to signal AP for the HPD event, for experiment. Will keep only one of them in production. Also wake AP from suspend when entering DP alt-mode or HPD event. BRANCH=None BUG=b:143616352 TEST=BOARD=trogdor make Change-Id: I398d5f9c7340d35abde201b9f04a1bcfa3c56d62 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1930518
* cr50: use new conventions to determine key ladder modeVadim Bendebury2019-11-283-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | The new RW dev key does not follow the existing convention of bit 0x4 set in prod Key ID and unset in dev key ID. The suggested approach is to check values of some key manager registers to determine if the device is running in fully configured prod mode or not. BRANCH=cr50, cr50-mp BUG=b:144455990 TEST=tried running this patch on a node locked image: > sysinfo ... RO keyid: 0xaa66150f RW keyid: 0x334f70df ... Key Ladder: dev Change-Id: I73088ce44a8b8bf8e11a0d240d07152b49a3225b Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1915504 Reviewed-by: Andrey Pronin <apronin@chromium.org>
* trembyle: Increase CONFIG_UART_TX_BUF_SIZEEdward Hill2019-11-271-0/+4
| | | | | | | | | | | | | | | Increase console output buffer to avoid risk of losing output (eg when tracing I2C) since we have the RAM available. BUG=none BRANCH=none TEST=build Change-Id: I5886723fe0eacd3d1040bfbd4cd320f279c82d6c Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1940782 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* trembyle: Update GPIO and I2C to match HW changesEdward Hill2019-11-275-17/+41
| | | | | | | | | | | BUG=b:145246560 BRANCH=none TEST=AP still boots ok Change-Id: I0110c7041ab9d2ba2df3107341524c792af2ca5d Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1939786 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* stm32mon: Add connect retries parameterCraig Hesling2019-11-271-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, stm32mon will try to get the attention of the stm32 bootloader for forever ("Starting monitor"). Retrying forever is odd behavior, in general. Furthermore, this behavior does not allow wrapper scripts to observe the failure and try other retry mechanisms, like resetting the chip. TL;DR This CL sets a default 40 retries for the bootloader connect/sync and adds the "--retries <num-retries>" and "-R <num-retries>" argument for adjustments. Note, this is simply the retry limit for connecting/syncing-with the bootlodaer. You can specify "-R -1" to try forever. BRANCH=nocturne,hatch BUG=b:143374692,b:144729003 TEST=cros_workon --board=nocturne start chromeos-base/ec-devutils emerge-nocturne chromeos-base/ec-devutils cros deploy --root=/usr/local dut1 chromeos-base/ec-devutils # Bind spidev for fpmcu # Enable hardware wp time stm32mon -U -u -p -s /dev/spidev32765.0 -e -w \ /opt/google/biod/fw/nocturne_fp_v2.2.110-b936c0a3c.bin # Check that it tries forever?? time stm32mon -R 10 -U -u -p -s /dev/spidev32765.0 -e -w \ /opt/google/biod/fw/nocturne_fp_v2.2.110-b936c0a3c.bin # Check that is only makes 11 attempts Signed-off-by: Craig Hesling <hesling@chromium.org> Change-Id: I925466fb892b0d17a7ff8b354e3cee302d167d3c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1913332 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* flash_fp_mcu: Fix spidev flakinessCraig Hesling2019-11-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | This small 100ms sleep is necessary to stabilize the spidev driver. Without it, we have seen that stm32mon is unable to catch the stm32h743 bootloader on the first attempt. This issue became more noticeable with the STM32H743 Rev V. Among other things, the following log shows test results from before adding this sleep and the flash_fp_mcu stress test results after adding this sleep: https://drive.google.com/open?id=1opJn5fPXxUMjMZz0VDtmqpCXN0mVnBr5 BRANCH=nocturne,hatch BUG=b:143374692,b:144729003,b:135033816 TEST=# Ensure PS crrev.com/c/1921705 is applied. # Run http://go/bit/hesling/5791510394044416 TEST=See the testing done in the above Google Drive log. Change-Id: I1777c894e1dd8911df4d407e33dc677373146eb1 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1925174 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* Fix smart erase.Barry Twycross2019-11-271-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Smart erase is used by the haven private-CR51 firmware, I don't know if other projects use it. Smart erase attempts to speed up erase by checking if the block to be erased is all ff's, and only erasing it if there is content (not ff's). The bug is that after erasing a block, the code does not wait for completion of the erase before reading ahead to see if the next block is already erased (all ff's). This is contrary to the spec where the only valid operation is a check of the status after issuing the erase. On some eeproms, with some timings, this causes the smart erase to give a flase positive erased block detection. Ie, the eeprom reads back al ff's while it's busy doing the erase. The upshot is that only the first non erased block is erased, and the rest of the eeprom is left untouched. The code before smart erase looked like: do wait for not busy erase block until all erased wait for not busy Smart erase was added by inserting the check for erased at the top of the loop. If instead, it's moved down below the wait for not busy, everything works fine. (Or, the wait for not busy is moved back to top of the loop.) This is the fix used here. TEST= Run without and with patch on a Starcard. Without patch not all of the targeted flash is erased. With patch, all of the targeted flash is erased. BUG=b:144868388 BRANCH=barryt/smart Signed-off-by: barryt@google.com Change-Id: I679ad4d21c3c353252646394f5631abc42782ded Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1931466 Reviewed-by: Jeff Andersen <jeffandersen@google.com> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Barry Twycross <barryt@google.com> Commit-Queue: Barry Twycross <barryt@google.com> Tested-by: Barry Twycross <barryt@google.com> Auto-Submit: Barry Twycross <barryt@google.com>
* clang-format: reflow commentsJett Rink2019-11-261-1/+1
| | | | | | | | | | | | | | | | | | The formatter should try and reflow comments to fit within the 80 character column limit BRANCH=none BUG=none TEST=verified that long comments get formatted to wrap within the 80 column limit within VScode Change-Id: I219e8e4d55ebbb7931d1b0e9fb41c7f48744d2aa Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1937887 Tested-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* usb_mux: cleanup the usb_mux_get() functionVijay Hiremath2019-11-266-41/+22
| | | | | | | | | | | | | | Simplified the usb_mux_get() function and made the MUX info prints same as in ectool. BUG=none BRANCH=none TEST=make buildall -j Change-Id: Iefb16e1dbd323afbe248b06fe9c53abc63be9a67 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1931284 Reviewed-by: Jett Rink <jettrink@chromium.org>
* ec: use symbolic names instead of magic numbersPaul Fagerburg2019-11-261-2/+20
| | | | | | | | | | | | | | | | | | | PD_DP_PIN_CAPS used a lot of magic numbers, which made it difficult to work out what it's doing. Added a comment about using the "receptacle type" field to deterimine whether the UFP_D or DFP_D pin assignments should be used, and replaced magic numbers with #define'd constants. BUG=None BRANCH=None TEST=`make -j buildall && ./util/flash_ec --board=kohaku` (or whatever board you're testing with), then verify that a USB-C dock with HDMI or DisplayPort still works. Change-Id: I1b5cf6d6cf7d0e1698bd7c727226f10f804ed5e9 Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1935088 Reviewed-by: Jett Rink <jettrink@chromium.org>