summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* usb_update: Fix reboot message which is split to two linesDaisuke Nojiri2019-06-201-1/+2
| | | | | | | | | | | | | | | Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=make buildall Change-Id: Icaba23f76c2ece14e416f1791b1314325d44d85e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1662990 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* ec: Remove extraneous new line as the end of CPRINTS stringsNicolas Boichat2019-06-2021-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | CPRINTS already prints a new line, no need to add another one. Spotted during boot on kukui, and then realized there are many more instances: "" [3.689239 Module 7 is not supported for clock disable ] "" BRANCH=none BUG=none TEST=make buildall -j TEST=`git grep CPRINTS | grep "\\\\n\""` shows nothing of interest. Change-Id: I4d2bbbc65a91fa56c6e6115aa5c353bfd2b384a1 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660519 Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* presubmit: add check for newlines in CPRINTS stringsVadim Bendebury2019-06-201-0/+17
| | | | | | | | | | | | | | | | | | | There should be no newlines in string parameters of the CPRINTS() macro, it adds a newline unconditionally. BRANCH=none BUG=none TEST=created a failing patch and observed expected error message: . $ ./util/presubmit_check.sh . +++ b/chip/g/usb-stream.c . + CPRINTS("this is a bad, bad, string\n", yes); . error: CPRINTS strings should not include newline characters Change-Id: I9b6338743d2493aa731dd49ae35f9de043fd860b Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1665449 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util: presubmit_check.sh: Exclude OWNERS file.stabilize-kukui-12285.BAseda Aboagye2019-06-191-0/+2
| | | | | | | | | | | | | | | | | | | | The OWNERS file isn't used by `make buildall`, so it shouldn't cause a developer to run `make buildall` before submitting a change to the file. This commit simply filters out changes to the OWNERS file from the presubmit_check script. BUG=None BRANCH=None TEST=Modify OWNERS. Try to upload and verify that the presubmit check does not flag it. Change-Id: I71452ac0a751335f815c707b554a2578c532b476 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1666754 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>
* OWNERS: Allow anyone to approve changes.Aseda Aboagye2019-06-191-0/+3
| | | | | | | | | | | | | | | | | | | In the (near) future, the infra team plans to enforce the OWNERS file. To continue to allow anyone to approve changers, this commit simply adds the special ownerEmail '*' meaning that any user can approve that directory or files. BUG=None BRANCH=None TEST=None Change-Id: I31a9be3b973e3e95a3a696e8195bef44fe4714a9 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1666753 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>
* cleanup: Fix common spelling typos in commentsTom Hughes2019-06-1913-15/+15
| | | | | | | | | | | | | | | | | | | | | | Used 'git grep' to fix the following misspelled words across the codebase: * recieved * recieving * delaraction * finctionality * lastest * permanenlty * Callabck BRANCH=none BUG=none TEST=make buildall -j Change-Id: I68ec9c8b967941041e46ff3ed3549ab2a06604ac Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1636848 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* krane: limit input power to 5V/2A in S0Ting Shen2019-06-191-2/+13
| | | | | | | | | | | | | | | | This is a short term fix to prevent charger overheat. BUG=b:134227872 TEST=manually, boot with the new fw and measure the power. BRANCH=master Change-Id: I88c3444f0a0c0c9a755579fcb1f9c52fc032a179 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1642478 Tested-by: Tony Lin <tonycwlin@google.com> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* kukui_scp: Suppress console_snapshot and console_read command logs.Yilun Lin2019-06-191-0/+3
| | | | | | | | | | | | | TEST=See SCP console won't print those HC logs. BUG=None BRANCH=master Change-Id: Ib7422272ee95dad26ebaebadfd9ae4eae1e46223 Signed-off-by: Yilun Lin <yllin@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1666984 Tested-by: Yilun Lin <yllin@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Yilun Lin <yllin@chromium.org>
* common: motion_sense: Fix pop logicYuval Peress2019-06-191-3/+12
| | | | | | | | | | | | | | | | | | The logic for popping data from the staged partition of the fifo was incorrect. We never ended up decrementing the count. BUG=b:135239484 BRANCH=None TEST=Added code in motion_sense_init() to fake staging data into the fifo. This replicated the issue, with the fix the issue was resolved. Change-Id: Ic4a0338131defbdfa44e1121d26ee3c5e8238b3b Signed-off-by: Yuval Peress <peress@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1665213 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Enrico Granata <egranata@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* Revert "g: minor fix in putting a character into usb_console tx queue"Namyoon Woo2019-06-191-19/+21
| | | | | | | | | | | | | | | The patch cases slow-down in CR50 uart when RDD is not connected. BUG=None BRANCH=None TEST=manually ran on bob This reverts commit 2d62dee3a8f32499bab8f4b95b84a9eaeea919dc. Change-Id: I92c4b8e7d065a01dc2c398778351db207ab28ca5 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1666318 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* kukui: Enable LTO.Yilun Lin2019-06-191-1/+1
| | | | | | | | | | | | | | | | | | Enable LTO to earn more flash spaces. This saves 0x17cd0 - 0x1686c = 5220 bytes. TEST=make BOARD=kukui BUG=b:120588396 BRANCH=master Change-Id: Id69c3f5af470d6d03170d00bc00c1e8e0699ba97 Signed-off-by: Yilun Lin <yllin@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1663540 Commit-Queue: Yilun Lin <yllin@chromium.org> Tested-by: Yilun Lin <yllin@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> Auto-Submit: Yilun Lin <yllin@chromium.org>
* ec.tasklist: Consolidate duplicate commentsTom Hughes2019-06-195-49/+5
| | | | | | | | | | | | | | Same as https://crrev.com/c/1551579, but clean up some files with the old comments that have been added since that change. BRANCH=none BUG=none TEST=make buildall -j Change-Id: I4bc7fdc7cb128c48545ea681ab1381610d54fb6d Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1664604 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* minute-ia: load eip value from top of stackJack Rosenthal2019-06-195-11/+51
| | | | | | | | | | | | | | | | For interrupt vectors (as opposed to exception handlers), the eip value is on top of the stack (referentially the return address by C calling convention). Use separate code for WDT vector. BUG=b:129983997 BRANCH=none TEST='crash watchdog' showing correct EIP, CS values Change-Id: I7efb2c71aba63eefd89fc71af089bc14034b7d08 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1663188 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org>
* util: Source files should not be executableTom Hughes2019-06-192-0/+0
| | | | | | | | | | | | | | | | | | | | | | "repo upload" warned me about this file when making another change: These files should not be executable. Please `chmod -x` them. * util/ecst.h Other file found with: find . -name '*.[ch]' -executable BRANCH=none BUG=none TEST=make buildall -j Change-Id: I3acc3c22a302f3f5dfd2ae00d2b65da15b7813d7 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1665211 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* LICENSE: remove unnecessary (c) after CopyrightTom Hughes2019-06-19750-750/+750
| | | | | | | | | | | | | | | | Ran the following command: git grep -l 'Copyright (c)' | \ xargs sed -i 's/Copyright (c)/Copyright/g' BRANCH=none BUG=none TEST=make buildall -j Change-Id: I6cc4a0f7e8b30d5b5f97d53c031c299f3e164ca7 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1663262 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Flapjack: Enable link time optimizationDaisuke Nojiri2019-06-181-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/129746223,b/127720872 BRANCH=none TEST=buildall Change-Id: Idb2940893598f87add54c378bbf6573bb19f2dc8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1663261 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org>
* Flapjack: Enable TCS3400_INT_ODL interrupt if board_version >= 4Daisuke Nojiri2019-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | New boards (>= 4) use A14 for GPIO_TCS3400_INT_ODL while older boards use it for WPC_EN_L. We enable interrupt for new boards. Older boards don't use WPC_EN_L. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=Verify wireless charging works. Change-Id: Iebfd9f7ea7078d1119c40a58cbede7db40c0e089 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1652622 Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* ish: snowball linker cleanupDenis Brockus2019-06-187-36/+53
| | | | | | | | | | | | | | | | Change AON_ROM references to be AON_PERSISTENT, these are not readonly Use the linker to set a snowball structure in the right place so we do not have to maintain hardcoded addresses in the register file BUG=b:132690500 BRANCH=none TEST=make buildall -j and check map location of snowball to be correct Change-Id: I4983a078fbd067b9c7ec9f0c49f962a4cb1581b7 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1664593 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* board/OWNERS: Remove outdated OWNERSTom Hughes2019-06-181-2/+0
| | | | | | | | | | | | | BRANCH=none BUG=none TEST=make buildall -j Change-Id: I18ea213de13224460db5a3dd2484f0765dd458b0 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1664605 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* docs: Add OWNERS for fingerprint docsTom Hughes2019-06-181-0/+1
| | | | | | | | | | | BRANCH=none BUG=chromium:973205 TEST=make buildall -j Change-Id: I092903bb259be2e7dca8e6d486d810f2b073b9cd Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1658678 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* Revert "g: consolidate USB console transfer codes to usb-stream"Namyoon Woo2019-06-183-90/+12
| | | | | | | | | | | | | | | | | | | | | This reverts commit 79e88d81f3e090d959669b4de6215cef96c2a3ed. Reason for revert: It slows down CR50 UART console response. The original plan was to consolidate CR50 console USB configuration into USB stream configuration, then optimize USB stream implementation. However, I am changing the plan: will commit this patch after USB stream is optimized. BUG=None BRANCH=None TEST=Downloaded the cr50 bin, and checked the cr50 console responding stable. Change-Id: I21ae8c4e043e10c4325bbf91123f2ee185faa413 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1662849 Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* servo_v4: Enable VBUS detection interrupts to wake PD tasks fast enoughWai-Hong Tam2019-06-182-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It fixes a hard reset issue. After a hard reset, the PD state goes to SNK_HARD_RESET_RECOVER state and waits for the VBUS "off" and then back "on" again. When the VBUS goes back to "on", it then transits to SNK_DISCOVERY state that replies the Source_Cap message. In order to make the VBUS detection fast enough, these interrupts are needed to wake the PD tasks up; otherwise, it missed the Source_Cap message BUG=b:134701032 BRANCH=servo TEST=Made servo v4 as sink and issued Hard_Reset on either DUT or servo. 2019-06-14 13:55:04 > cc snk 2019-06-14 13:55:06 cc: on 2019-06-14 13:55:06 dts mode: off 2019-06-14 13:55:06 chg mode: off 2019-06-14 13:55:06 chg allowed: off 2019-06-14 13:55:06 > C1 st3 SNK_DISCONNECTED_DEBOUNCE 2019-06-14 13:55:06 C1 st5 SNK_DISCOVERY 2019-06-14 13:55:06 C1 Req [1] 5000mV 3000mA 2019-06-14 13:55:06 C1 st6 SNK_REQUESTED 2019-06-14 13:55:06 C1 st7 SNK_TRANSITION 2019-06-14 13:55:06 C1 st8 SNK_READY 2019-06-14 13:55:07 2019-06-14 13:55:07 > pd 1 hard 2019-06-14 13:55:16 C1 st34 HARD_RESET_SEND 2019-06-14 13:55:16 > C1 st35 HARD_RESET_EXECUTE 2019-06-14 13:55:16 C1 HARD RST TX 2019-06-14 13:55:16 C1 st4 SNK_HARD_RESET_RECOVER 2019-06-14 13:55:16 Repeat msg_id[0] port[1] 2019-06-14 13:55:16 Repeat msg_id[0] port[1] 2019-06-14 13:55:16 Repeat msg_id[0] port[1] 2019-06-14 13:55:16 C1 st5 SNK_DISCOVERY 2019-06-14 13:55:16 Repeat msg_id[0] port[1] 2019-06-14 13:55:16 C1 HARD RST RX 2019-06-14 13:55:16 C1 st4 SNK_HARD_RESET_RECOVER 2019-06-14 13:55:17 C1 st5 SNK_DISCOVERY 2019-06-14 13:55:17 C1 Req [1] 5000mV 3000mA 2019-06-14 13:55:17 C1 st6 SNK_REQUESTED 2019-06-14 13:55:17 C1 st7 SNK_TRANSITION 2019-06-14 13:55:18 C1 st8 SNK_READY 2019-06-14 13:55:18 C1 Req [1] 5000mV 3000mA 2019-06-14 13:55:18 C1 st6 SNK_REQUESTED 2019-06-14 13:55:18 C1 st7 SNK_TRANSITION 2019-06-14 13:55:18 C1 st8 SNK_READY Issued "pd 0 hard" on DUT: 2019-06-14 13:56:07 > C1 HARD RST RX 2019-06-14 13:56:11 C1 st4 SNK_HARD_RESET_RECOVER 2019-06-14 13:56:12 C1 st5 SNK_DISCOVERY 2019-06-14 13:56:12 C1 Req [1] 5000mV 3000mA 2019-06-14 13:56:12 C1 st6 SNK_REQUESTED 2019-06-14 13:56:12 C1 st7 SNK_TRANSITION 2019-06-14 13:56:12 C1 st8 SNK_READY Change-Id: I0cc80515df8044ec07fa6795d3723aca2a3dc0ef Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660125 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* flapjack: add i2c_ports entry for I2C_PORT_ALSNick Vaccaro2019-06-181-0/+1
| | | | | | | | | | | | | BUG=b:124512628 BRANCH=master TEST=none Change-Id: I7cb9f44313fc64cc95ab47628e854fce0a4362b3 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1639646 Tested-by: Nick Vaccaro <nvaccaro@chromium.org> Commit-Queue: Nick Vaccaro <nvaccaro@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* kukui: sensor: fix incorrect active_maskTing Shen2019-06-181-1/+1
| | | | | | | | | | | | | | | | mag should be in s0/s3, other looks good. BUG=b:135234999 TEST=make BRANCH=none Change-Id: Id25f8ec5e3a6a530590025a9d337c59da9b92cfc Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660521 Tested-by: Ting Shen <phoenixshen@chromium.org> Auto-Submit: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* arcada_ish: clean up old commentsJett Rink2019-06-181-7/+8
| | | | | | | | | | | | | | | | The temporary way of handling the power state is actually fine for ISH long term, so remove TODO comments. BRANCH=none BUG=none TEST=build Change-Id: I83bbafd0f135329140f39d7790dc8f3e1c8f6463 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660124 Tested-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* new_nvmem: use CC_SYSTEM as the console channelMary Ruthven2019-06-181-12/+11
| | | | | | | | | | | | | BUG=none BRANCH=cr50 TEST=dump_nvmem still prints when only the command channel is active. Other new_nvmem messages are only printed when CC_SYSTEM is active. There aren't any extra newlines in these messages. Change-Id: Ia32689265a406994c22335c247b37eeb1618a01a Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1656634 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* nvmem: use CC_SYSTEM instead of CC_COMMANDMary Ruthven2019-06-181-2/+2
| | | | | | | | | | | | | | | Use CC_SYSTEM for nvmem print statments instead of CC_COMMAND, so the CC_COMMAND channel will only have command output. BUG=none BRANCH=cr50 TEST=chan 0 restricts the console, so it only prints command output. Nvmem prints are still enabled by default. Change-Id: Ief79c930416a3560f7316c0df77c73504d855070 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1656628 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* g: system: move print statements to CC_SYSTEMMary Ruthven2019-06-181-19/+18
| | | | | | | | | | | | | | | Move the system prints to CC_SYSTEM, so we can disable them when we just want to print console output. BUG=none BRANCH=cr50 TEST=chan 0 disables these prints and they're still printed normally Change-Id: Id728729c8472a033d6a9702991c32c3b809588b1 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1656519 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Namyoon Woo <namyoon@chromium.org>
* servo_v4: Implement CC detach and fakedisconnect on servo v4Wai-Hong Tam2019-06-172-38/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DUT may have multiple USB Type-C ports. In order to identify a pair of PD port partners, the PD FAFT tests asks one partner to emulate a detach and then checks the other partner if it sees a proper status. This requires to implement a CC detach on servo v4. A console command 'fakedisconnect' (similar to plankton) is introduced to disconnect for a given period and then connect back. BUG=b:131840808 BRANCH=servo TEST=Manuall tested the commands on servo v4 console to emulate detach. . > cc . cc: on . dts mode: on . chg mode: on . chg allowed: on . > pd 1 state . Port C1 CC1, Ena - Role: SRC-UFP State: 23(SRC_READY), Flags: 0x1415e . > cc off . cc: off . dts mode: on . chg mode: on . chg allowed: off . > pd 1 state . Port C1 CC1, Dis - Role: SNK-UFP State: 2(SNK_DISCONNECTED), . Flags: 0x0000 Checked the DUT EC console to verify the port status as detached. . > pd 0 state . Port C0 CC2, Ena - Role: SNK-DFP State: DRP_AUTO_TOGGLE, Flags: 0x0020 Made the servo v4 connect back. . > cc srcdts . cc: on . dts mode: on . chg mode: on . chg allowed: on . > pd 1 state . Port C1 CC1, Ena - Role: SRC-UFP State: 23(SRC_READY), Flags: 0x1415e Checked the DUT EC console to verify the port status as connected. . > pd 0 state . Port C0 CC2, Ena - Role: SNK-DFP State: SNK_READY, Flags: 0x14946 Typed 'fakedisconnect' command to disconnect for a period. . > fakedisconnect 1000 2000 . Fake disconnect for 2000 ms starting in 1000 ms. Verified DUT got disconnected and then connected back. Change-Id: Ie29cfd4f55ac48b593f71d580762ff5e77ee9602 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1603469 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* power/mt8183: Stay in S5 for 10 seconds before forcing PMIC shutdownNicolas Boichat2019-06-171-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On forced/emergency shutdown, the EC is only able to force the PMIC off by asserting GPIO_PMIC_FORCE_RESET_ODL, which also loses the RTC state. And it does so immediately after transitioning to S5. This causes issues with FAFT, as the RTC resets to original time. Instead, wait for 10 seconds in S5 before forcing the transition to G3, which is what other platforms do, and only force the reset at that time. BRANCH=none BUG=b:134912821 TEST=apshutdown => System stays in S5 for 10 seconds before force shutdown. TEST=apshutdown => powerb wakes the system in both S5 and G3 TEST=apshutdown; reboot ap-off in S5 still waits 10 seconds to force shutdown to G3. TEST=poweroff in AP console works, directly goes to G3, and powerb wakes the system TEST=Boot DUT: mosys eventlog clear; poweroff power on DUT, run dut-control power_state:off Within 10 seconds, power on DUT again mosys eventlog list shows events with correct time stamps: 0 | 2019-06-14 15:40:10 | Log area cleared | 55 1 | 2019-06-14 15:40:24 | System boot | 0 2 | 2019-06-14 15:40:24 | Chrome OS Developer Mode 3 | 2019-06-14 15:40:58 | System boot | 0 4 | 2019-06-14 15:40:58 | Chrome OS Developer Mode Change-Id: I7495950da58179fc066608d804e263c81b0993aa Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660070 Reviewed-by: Yilun Lin <yllin@chromium.org>
* power/mt8183: Clarify comment about force PMIC shutdownNicolas Boichat2019-06-171-2/+3
| | | | | | | | | | | | | | | | | | It turns out MT6358 cannot be configured to shut down when receiving WATCHDOG input, so the statement in the comment is incorrect. However, it is still correct to say that forcing PMIC shutdown should be rare. And add a note that PMIC RTC state will be lost. BRANCH=none BUG=b:109850749, b:134912821 TEST=none Change-Id: I7c84b012d7095fb94473303c83b4ffecb01ee5da Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1657074 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org>
* cortex-m/ec.ld.S: Fix DRAM section layout.Yilun Lin2019-06-171-18/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL fixes DRAM section loaded at the wrong location, and also relayouts the DRAM section to have a smaller flat binary. Current DRAM region layout is as below: .dram.data LMA | LOAD .dram.data VMA | .dram.bss | NOLOAD .dram.rodata | LOAD .dram.text | LOAD This will create a flat binary file as following layout: .dram.data .dram.bss .dram.rodata .dram.text and loader will load .flat.dram to .dram.data LMA's starting section. This leads to .dram.bss, .dram.rodata and .dram.text been loaded at the wrong location, where .dram.data VMA resides. This CL fixes the issue by reorganize the sections into: .dram.text | LOAD .dram.rodata | LOAD .dram.data LMA | LOAD .dram.data VMA | .dram.bss | NOLOAD and thus we have a flat binary as: .dram.text .dram.rodata .dram.data so that: 1. everything will be placed at the correct address. 2. have a smaller flat binary. The CL also removes .dram.keep.* section, which is not used so far. BUG=b:134079593 BRANCH=master TEST=With crrev.com/c/1646691, check the output of object header: 1. SIZEOF(.dram.text + .dram.rodata + .dram.data) = SIZEOF(.image.RW.dram) 0x68 0x18 0x14 0x94 2. ADDR(.dram.data LMA) + SIZEOF(.dram.data) = ADDR(.dram.data VMA) 0x10000080 0x14 0x10000094 arm-none-eabi-objdump -h build/kukui_scp/RW/ec.RW.elf Idx Name Size VMA LMA File off Algn 5 .dram.text 00000068 10000000 10000000 00030000 2**3 CONTENTS, ALLOC, LOAD, READONLY, CODE 6 .dram.rodata 00000018 10000068 10000068 00030068 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 7 .dram.data 00000014 10000094 10000080 00030094 2**0 CONTENTS, ALLOC, LOAD, DATA 8 .dram.bss 00000004 100000a8 100000a8 000300a8 2**0 ALLOC arm-none-eabi-objdump -h build/kukui_scp/ec.obj Idx Name Size VMA LMA File off Algn 2 .image.RW.dram 00000094 50000000 50000000 00020000 2**0 CONTENTS, ALLOC, LOAD, READONLY, CODE TEST=With crrev.com/c/1646691, see the console has correct output: dram_bss_val = 0 dram_data_val[0]= 1 dram_data_val[1]= 2 dram_data_val[2]= 3 dram_data_val[3]= 4 dram_data_val[4]= 5 dram_data_val[5]= 6 dram_data_val[6]= 7 dram_data_val[7]= 8 dram_data_val[8]= 9 dram_data_val[9]= 10 dram_data_val[10]= 11 dram_data_val[11]= 12 dram_data_val[12]= 13 dram_data_val[13]= 14 dram_data_val[14]= 15 dram_data_val[15]= 16 dram_data_val[16]= 17 dram_rodata_val[0]= 55 dram_rodata_val[1]= 56 dram_rodata_val[2]= 57 dram_rodata_val[3]= 58 dram_rodata_val[4]= 59 dram_rodata_val[5]= 60 Change-Id: Ic6836c6ad553d0ceae4d55df92caa1896fee905d Signed-off-by: Yilun Lin <yllin@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1646690 Tested-by: Yilun Lin <yllin@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Yilun Lin <yllin@chromium.org> Auto-Submit: Yilun Lin <yllin@chromium.org>
* krane: Enable BC12 detection with gpio controlled.Yilun Lin2019-06-172-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support CONFIG_BC12_DETECT_POWER_ROLE_TRIGGER. Krane's BC12 detection is controlled by GPIO_BC12_DET_EN by disconnecting USB-PHY, that is: - Assert GPIO_BC12_DET_EN, then USB-PHY is disconnected - Deassert GPIO_BC12_DET_EN, then USB-PHY is connected. The current usb_chg_task will make USB devices not be enumerated, since GPIO_BC12_DET_EN is deasserted only when VBUS attached and BC12 device identified. However, peripherals won't trigger BC12 detection so GPIO_BC12_DET_EN always asserted. To fix this problem, we trigger BC12 detection only when a port is attached and hook USB_PD_CONNECTED to toggle BC12 detection. We have to - Assert GPIO_BC12_DET_EN on SRC device plugged to recognize BC12 charger. - After BC12 device detected, we have to disable BC12 to connect USB-PHY back for enumerating USB devices. - Deassert GPIO_BC12_DET_EN on SNK device plugged to enumerate USB devices. TEST=Test with https://crrev.com/c/1408751/1, and see it is able to recognize Apple 2.4A charger and 5V2A DCP charger. TEST=Boot w/ USB hub plugged (w/ and w/o external BC1.2 charger on the hub) and see USB devices are enumerated. BUG=b:122866184 BRANCH=None Change-Id: I5b3362305361c0c950288fc83072e9bc79082c08 Signed-off-by: Yilun Lin <yllin@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1575050 Tested-by: Yilun Lin <yllin@chromium.org> Auto-Submit: Yilun Lin <yllin@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Yilun Lin <yllin@chromium.org>
* krane: Limit backlight LED max current.Yilun Lin2019-06-171-4/+13
| | | | | | | | | | | | | | | | | | | | High display current results to a broken display on Krane rev3. Karne rev3 can only support up to 90mA current to backlight LED. We should limit this value from 120mA(maximun) to 90mA. TEST=i2cxfer r 0 0x68 0xa4; see 0x07 i2cxfer r 0 0x68 0xa5; see 0xbf combine these two value we have 0x5ff which is 0x7ff * 90/120; BUG=b:133655155 BRANCH=None Change-Id: I809628fcc71145801f9fb82815ae40f77a91e2e9 Signed-off-by: Yilun Lin <yllin@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1635138 Tested-by: Yilun Lin <yllin@chromium.org> Commit-Queue: Yilun Lin <yllin@chromium.org> Auto-Submit: Yilun Lin <yllin@chromium.org> Reviewed-by: Alexandru M Stan <amstan@chromium.org>
* rt946x: Add API for backlight LED dim.Yilun Lin2019-06-172-0/+36
| | | | | | | | | | | | | | | | Add mt6370_backlight_set_dim() for setting backlight LED dim. TEST=None BUG=b:133655155 BRANCH=None Change-Id: Ia5b80734f72c6fb8750c33f62133fc1cdd71f213 Signed-off-by: Yilun Lin <yllin@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1635137 Tested-by: Yilun Lin <yllin@chromium.org> Commit-Queue: Yilun Lin <yllin@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Yilun Lin <yllin@chromium.org>
* ish: remove conditional compilation where possibleDenis Brockus2019-06-1710-126/+109
| | | | | | | | | | | | | | | Removed many of the #if conditions and replaced them with IS_ENABLED BUG=b:132178013 BRANCH=none TEST=make buildall -j TEST=verify basic ish ec functionality Change-Id: I39c1d2dfdb39baa06e53746789d0b6a648275ed9 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660021 Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* stm32mon: Added declarations for stm32g0 seriesJes Klinke2019-06-151-0/+44
| | | | | | | | | Bug: 132247842 Change-Id: Ib1defbabd6e2835d8ce8485c80f22254d2b49db7 Signed-off-by: jbk@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1620789 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: James Deng <jaamesd@chromium.org>
* fuzz: Cleanup test_config.h and fuzz_config.hCraig Hesling2019-06-152-19/+1
| | | | | | | | | | | | | | | | | This removes the remaining fuzz config that was left in test_config.h. This section had already been duplicated in fuzz_config.h, without being removed from test_config.h. See the original migration CL crrev.com/c/1180179 for more info. BRANCH=none BUG=none TEST=make runtests V=1 -j Change-Id: Icd7158417ac184d7723828e62b968f7f0aa4bfbc Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660126 Reviewed-by: Allen Webb <allenwebb@google.com>
* fpsensor: delete extra slash in build pathYicheng Li2019-06-152-4/+4
| | | | | | | | | | | | | | | | | | | | Delete extra slashes in build.mk so that the build target names are correct. BRANCH=nocturne BUG=chromium:973618 TEST=make -j buildall TEST=no more extra slashes: CC RW/common/fpsensor/fpsensor.o CC RW/common/fpsensor/fpsensor_state.o CC RW/common/fpsensor/fpsensor.o CC RW/common/fpsensor/fpsensor_state.o CC RO/common/fpsensor/fpsensor_state.o Change-Id: Ibb8a975462242487c9dfbf84558cbbc97d31e87f Signed-off-by: Yicheng Li <yichengli@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1658516 Reviewed-by: Nicolas Norvez <norvez@chromium.org>
* fpsensor: Change new files' year to 2019Yicheng Li2019-06-152-2/+2
| | | | | | | | | | | | | | Although the code is moved from files created in 2017, these are new files, so change the year to 2019. BRANCH=nocturne BUG=none TEST=make -j buildall Change-Id: I15015c7ad1a713437b04395fd09e6641019f5ff7 Signed-off-by: Yicheng Li <yichengli@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660092 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util: Enable -Wstrict-prototypes for ftdi.hTom Hughes2019-06-151-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | The pragma is missing a push before the ignore line, which means as it was written the warning continued to be disabled. https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html clang catches this bug, but gcc doesn't. util/ec_uartd.c:26:24: error: pragma diagnostic pop could not pop, no matching push [-Werror,-Wunknown-pragmas] ^ However, it appears we don't even need to disable this warning anymore since the compilation succeeds without it. BRANCH=none BUG=chromium:931797 TEST=make buildall -j Change-Id: I81d48a841cb16d54fe0878b218e80d8a1d89e129 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660020 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* core/cortex-m: get_interrupt_context is only used inside CONFIG_TASK_PROFILINGTom Hughes2019-06-151-0/+2
| | | | | | | | | | | | | | | | | | | | | get_interrupt_context is only called from code inside #ifdef CONFIG_TASK_PROFILING. clang emits an unused function warning for this: core/cortex-m/task.c:238:19: error: unused function 'get_interrupt_context' [-Werror,-Wunused-function] static inline int get_interrupt_context(void) BRANCH=none BUG=chromium:931797 TEST=make buildall -j Change-Id: I5ba68d1a58a966eeecb5abdb3cb87fa2684f359b Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660017 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* include/util: enclose a arg of POWER_OF_TWO into parenthesesNamyoon Woo2019-06-151-1/+1
| | | | | | | | | | | | | It is something should be done. BUG=None BRANCH=None TEST=make buildall -j Change-Id: I7a96385cf82ff458446744ae92ffc8349a443098 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660942 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* helios: Change port 0 TCPC from ANX7447 to PS8751Scott Collyer2019-06-153-10/+8
| | | | | | | | | | | | | | | | | | | This CL changes the TCPC config for port 0 from the ANX7447 to the PS8751. It includes changing the gpio name for the reset to reflect that it's active low instead of active high. BUG=b:133501368 BRANCH=none TEST=make -j BOARD=helios Change-Id: Ic96b8e9ddbf229c251cae3db4a70feb7b7e83765 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1633910 Commit-Queue: Furquan Shaikh <furquan@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
* hatch: move forward led_states to common/led_onoff_statesDevin Lu2019-06-158-207/+5
| | | | | | | | | | | | | | | | This patch follows CL:1556869 to move forward led_states to common. BUG=b:126460269 BRANCH=none TEST=make buildall -j Change-Id: I94f36d20c7c180db0e1cc7c9732711af70002133 Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1564496 Tested-by: Scott Collyer <scollyer@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Commit-Queue: Furquan Shaikh <furquan@chromium.org>
* ish: make PMU reset prep isr go thru system_resetJack Rosenthal2019-06-141-7/+2
| | | | | | | | | | | | | | | | Right now, the power management module will bypass system_reset upon receiving a reset prep IRQ. This causes persistent data to not be saved, and also repeated code. Change to use system_reset. BUG=b:134089952 BRANCH=none TEST=persistent data seems to be working better (but this is only one of three cases that will need to be fixed) Change-Id: If738c4423a54c4349c2d553023c6d0b49227c951 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1659234 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* ish: change log_pm_stat to accept uint32_tJack Rosenthal2019-06-141-1/+1
| | | | | | | | | | | | | | | The time values collected for t0 and t1 come from __hw_clock_source_read, which produces uint32_t, not uint64_t. Fix this so the wrap handles correctly. BUG=b:132929262 BRANCH=none TEST=made sure idlestats had sane values on arcada_ish Change-Id: I7254da1bdd3ea32659dc590696bd5a9074aa30e1 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1658526 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* minute-ia: show EC task information during panicJack Rosenthal2019-06-143-4/+19
| | | | | | | | | | | | | | | | | In order to receive better debug info from panic reports, include the current task when the panic was encountered. BUG=b:134071217 BRANCH=none TEST=saw that task was "CONSOLE" when typing "crash divzero" from console Change-Id: I2fa9f931eea0274a762f812b6a7a8281cb8fcc5f Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660018 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* intel_x86: Report S0ix hang detected by EC using console printFurquan Shaikh2019-06-141-0/+1
| | | | | | | | | | | | | | | | | | | | | This change prints out a warning indicating that S0ix hang is detected by EC. This is very helpful when debugging S0ix issues to understand when exactly the EC triggered the wake because of hang detect. BUG=b:134781711 BRANCH=None TEST=Verified on a system stuck before going into S0ix that EC prints out the warning when waking host up because of hang detect. Change-Id: I73c64dc675ed8c4d35ca891fdc5de3e7e8449437 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660014 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Evan Green <evgreen@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org> Commit-Queue: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Auto-Submit: Furquan Shaikh <furquan@chromium.org>
* grunt: Wake from hibernate on EC resetEdward Hill2019-06-148-13/+52
| | | | | | | | | | | | | | | Add GPIO_EC_RST_ODL to hibernate_wake_pins[] for Aleena + Careena + Liara since the HW supports this as a PSL wake input. BUG=b:122833270 BRANCH=grunt TEST='dut-control cold_reset:on cold_reset:off' with ServoV2 Change-Id: I24a878be5e2c822b052a7d65b1964dcb6ed2ce94 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1658524 Reviewed-by: Raul E Rangel <rrangel@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>