summaryrefslogtreecommitdiff
path: root/board/waddledee
Commit message (Collapse)AuthorAgeFilesLines
* Dedede: Clean up chg_chip referencesDiana Z2020-08-292-5/+4
| | | | | | | | | | | | | | | | | | Now that the charger_* interfaces take charge indexes appropriately, clean up the board code to no longer use chg_chip structure directly. BRANCH=None BUG=b:147440290 TEST=on drawlat, confirm sourcing out on both ports works Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I92925e487f90bc3965b868f3f7fc0d3175dc3df9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2376470 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2383896 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org> Tested-by: Edward Hill <ecgh@chromium.org>
* SM5803: Improve flow control settingDiana Z2020-08-262-34/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds a new Vbus sink enable command which will be called on initial sink connection and detach. This will separate out most of the FLOW1 and FLOW2 register control from the set_mode() driver API which is regularly called from the charger task. This means that, if charging on a port fails, the charging will no longer be automatically re-enabled by the charger task. Additionally, this folds the verification that we aren't disabling sourcing into the sink enable so board files no longer need to verify this before calling the sink enable/disable API. It also allows the OTG disable to fully clear the FLOW1 mode since calls to OTG are more targeted than the sink enable/disable, which happens any time another charge port is set. BRANCH=None BUG=b:163511546,b:165677311 TEST=on waddledee and drawlat, confirm expected FLOW1 contents and Vbus level: - sinking C0 or C1 - sourcing C0 or C1 - sourcing both C0 and C1 - sinking C0 while sourcing C1 - sinking C1 while sourcing C0 - battery cutoff with charger in C0 or C1 - no battery boot with charger in C0 or C1 - power role swap with HooToo hub in C0 and C1 Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ifdc7786243bdf0a634d8db99b4deb53457232ad3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2372738 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2378963 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org> Tested-by: Edward Hill <ecgh@chromium.org>
* waddledee: Add Sony Battery CFET mask & valAseda Aboagye2020-08-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The Sony battery being used on waddledee sometimes randomly disables the charge FET (CFET) in order to perform some impedence measurements. This commit adds the fields for the CFET disable status such that it can be retrieved by the system. BUG=b:160918663 BRANCH=None TEST=Build and flash waddledee, verify that CFET disable status is reflected. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I6487e36724683b3d81ad1063b2609a883d60570d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2370042 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2378280 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org> Tested-by: Edward Hill <ecgh@chromium.org>
* Dedede: Move PWM to board levelDiana Z2020-08-251-0/+3
| | | | | | | | | | | | | | | | | | | | Move the PWM related defines and arrays into the board level, to allow customization of what PWM channels boards use (if they choose to use the PWM at all). BRANCH=None BUG=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Id417a7be079511c17de9f2e5d03c729467435804 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2358899 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2373333 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org> Tested-by: Edward Hill <ecgh@chromium.org>
* waddledee: Enable OCPCAseda Aboagye2020-08-152-0/+24
| | | | | | | | | | | | | | | | | | This commit enables OCPC for waddledee which allows charging from the sub board port. BUG=b:161898184 BRANCH=None TEST=Build and flash waddledee, verify that DUT can charge from the sub board. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I61fbdfa0f7c06f0c2fb70aa5cbd92bb6b7f76cfd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2330817 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Revert "power: Clear AP_IDLE when waking up by PB or LID"Daisuke Nojiri2020-08-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 27ee378bb78a299a0983379be83eb6d55860b4ae. Reason for revert: b/162508724 A wake-up source from hibernation needs to be determined only by RO. Reverting back to the original implementation: CL:2236589. Original change's description: > power: Clear AP_IDLE when waking up by PB or LID > > Currently, AP_IDLE is cleared when EC wakes up by the power button or > the lid open. > > This patch extends the logic from CONFIG_EXTPOWER_GPIO to > CONFIG_EXTPOWER so that the bug (chromium:1073960) can be also fixed > on the boards using non-GPIO method for extpower_is_present. > > Tested as follows on Trembyle: > 1. Put DUT in hibernation. > 2. Wake up DUT and observe: > a. When waking up by power button, AP is turned on. > b. When waking up by lid open, AP is turned on. > c. When waking up by AC, AP is left idle. > > BUG=b:157077589, chromium:1073960, b:159350276 > BRANCH=none > TEST=See above. > > Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> > Change-Id: I944aaac036ce58659e81b7021e52a3291f31e951 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2283946 > Reviewed-by: Jett Rink <jettrink@chromium.org> Bug: b:157077589 Bug: chromium:1073960 Bug: b:159350276 Bug: b:162508724 Change-Id: Iaf9d0af2ca8c48bbf2529c4ba05493837dd76287 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2333106 Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* Dedede: Move extpower_is_present() to baseboardDiana Z2020-07-281-5/+0
| | | | | | | | | | | | | | | | | | | | This consolidates dedede boards to use a baseboard extpower_is_present() and also adds the condition to verify that the port is sinking, instead of providing Vbus. It also converts the RAA489000 boards to use the cached Vbus presence in pd_snk_is_vbus_provided(). BRANCH=None BUG=None TEST=on waddledoo and waddledee, verify "AC on" prints when a charger or charge-through servo v4 is plugged in, verify no "AC on" prints when a dongle is plugged in Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I5941da789a4e810f6d8cc40cef4d32a5a03c5662 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2317062 Tested-by: Devin Lu <Devin.Lu@quantatw.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* waddledee: Use VBUS ADC for extpowerAseda Aboagye2020-07-211-7/+1
| | | | | | | | | | | | | | | | | | There's an issue with the CHG_DET bit which was causing the AC change notifications to not occur. This commit replaces the usage of the CHG_DET bit with reading the VBUS ADCs to determine VBUS presence. BUG=b:161269327 BRANCH=None TEST=Build and flash waddledee rev 1, verify AC notification changes work as expected. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Ibebeb4e252efd4ac8bc3d97303eb3c133e699e1a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2297983 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* boten: split CONFIG_LED_PWM out into boardsxiong.huang2020-07-151-0/+1
| | | | | | | | | | | | | It will be happy to define LED behavior in boards. BUG=b:160664441 BRANCH=none TEST=make buildall -j4 Signed-off-by: xiong.huang <xiong.huang@bitland.corp-partner.google.com> Change-Id: Ib81fe8d20fa3ab74064958fba3576a1618635e52 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2296544 Reviewed-by: Diana Z <dzigterman@chromium.org>
* dedede: Move adc channel to board variantDevin Lu2020-07-142-0/+43
| | | | | | | | | | | | | | Dedede family may have different temp sensors for other ADCs channel. This patch moves adc channel to board variant. BUG=none BRANCH=none TEST=make buildall -j Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: Id34a924fc9431a553a1467068c6ccee6111102bc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2289478 Reviewed-by: Diana Z <dzigterman@chromium.org>
* Charger: Add dynamic charger chip countDiana Z2020-07-111-1/+0
| | | | | | | | | | | | | | | | Different DB options may cause different numbers of charger chips to be present on the system. Remove constant count for charger chips, and instead always call into the overridable function to query the count. BRANCH=None BUG=b:155963446 TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I0e65b8af351ecabe6f7b823e0e56f1932cc280a6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2277833 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Check interrupt lines during initDiana Z2020-07-091-0/+10
| | | | | | | | | | | | | | | | | The interrupt line for the charger may already be low before inits have completed. If this is the case, set up a deferred call to clear the interrupts from the chips during the first run of the hooks task. BRANCH=None BUG=b:160618359 TEST=on waddledee, observe that when the EC reboots with the C0 interrupt line low the interrupts are processed and PD negotiation can succeed Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Iba1b76e0b6502e1628648e08524bbc7ec1c0437b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2287550 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: enable GPIO interrupt of the sensor in the baseMarco Chen2020-07-091-0/+2
| | | | | | | | | | | | | | | | | | EC didn't pull data from the sensor in the base for accel and gyro because the data interrupt is not enabled. As a result, enabling the interrupt is needed for detecting data from the sensor. BUG=b:160113129 TEST=flash the new FW into the DUT then check whether `ectool motionsense` reports the valid data from sensor in the base. BRANCH=none Change-Id: Ia623ad84c752826e2a0670bf6fc04286a07970a0 Signed-off-by: Marco Chen <marcochen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2269396 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Marco Chen <marcochen@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org>
* Waddledee: Enable MB USB-A VbusDiana Z2020-07-072-1/+2
| | | | | | | | | | | | | | | | | As of board revision 1, there is a GPIO to enable Vbus for the type-A port. Turn this GPIO on when we're booted, and off when the system is shut down. This pin is NC on revision 0, so it should be fine to set regardless of hardware version. BRANCH=None BUG=b:160336151 TEST=on waddledee rev 1, able to use flash drive plugged into MB Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Idc1ae5fd05b904b01bc56bd8dd2a69d34caee9ef Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2283943 Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Configure EN_BL_OD as open drainDiana Z2020-07-071-1/+1
| | | | | | | | | | | | BRANCH=None BUG=b:160362315 TEST=on waddledee proto 1, no leakage is observed on PP3300_SOC_A Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I4ec568d77b80343a958d486a84dbda93a4f7c423 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2278598 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Will Arthur <wda@google.com>
* DEDEDE: Increase board PD stack sizesSam Hurst2020-07-071-3/+3
| | | | | | | | | | | | | Increase dedede board PD stack sizes to prevent overflow. BRANCH=none BUG=b:155813111 TEST=make -j buildall Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: I061bf8e53c0f2dfe8ca5617f562bd99ed510d467 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2283693 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* boten: use charger/TCPC RAA48900xiong.huang2020-06-141-0/+1
| | | | | | | | | | | | | | | Use charger/TCPC RAA48900 instead of TCPC IT8320 + charger SM5803 combination at MB side. BUG=b:157626290, b:158023819 BRANCH=none TEST=make buildall -j Signed-off-by: xiong.huang <xiong.huang@bitland.corp-partner.google.com> Change-Id: Ibb97a41e1d280da7c92cf2c00202b5eb205f99b3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2239599 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org>
* boten: remove DB type-C port and peripheral chipsxiong.huang2020-06-111-0/+7
| | | | | | | | | | | | | | | | | Remove chips: Charge chip - SM5803 TCPC and USB mux chip - ANX7447 USB retimer chip - TUSB544 BC1.2 chip - PI3USB9201 BUG=b:157626290, b:158023819 BRANCH=none TEST=make buildall -j Signed-off-by: xiong.huang <xiong.huang@bitland.corp-partner.google.com> Change-Id: Iac30f683774368b2b5706c5f804caf549a54139a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2235238 Reviewed-by: Diana Z <dzigterman@chromium.org>
* Waddledee: Remove 5V input limit for board rev 1Diana Z2020-06-012-5/+4
| | | | | | | | | | | | | | | Removes 5V input limit for board revision 1, while keeping it in place for revision 0 for now. BRANCH=None BUG=b:153594748 TEST=on waddledee rev 0, ensure 5V is requested when a charger is plugged in Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Id7aa6e4ce5e7746ec531725ea7ba5d2599fecdfc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2222962 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Set up C1 interrupt line for board rev 1Diana Z2020-05-302-5/+15
| | | | | | | | | | | | | | | The C1 interrupt line is swapped between board versions 0 and 1. Track which line is correct for the board version in a variable. Note that this commit would not allow the pen charging line to output correctly. BRANCH=None BUG=b:153684907 TEST=on waddledee version 0, ensure C1 still works Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ie07052b8b27c219505da5f463d6846a18b08e6a5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2220450 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* waddledee/waddledoo: Mark BC1.2 as always poweredAseda Aboagye2020-05-291-0/+2
| | | | | | | | | | | | | | | | | | | | This commit enables the PI3USB9201_ALWAYS_POWERED flag for the PI3USB9201 BC1.2 chip. In these designs, these parts are always powered so there's no need to explicitly enable a 5V rail. This was causing Type-A ports to turn on whenever a charger was plugged in. BUG=b:151688130, b:150814620 BRANCH=None TEST=Build and flash waddledoo, verify that Type-A ports are not powered when a charger is plugged in in S5/G3. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Ic478c59e96854633a34f510e9494b908ab01ed7c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2219271 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: configure ECH1_PACKET_MODEDiana Z2020-05-211-0/+1
| | | | | | | | | | | | | | This GPIO will be used for communication with the cr50 when EFS2 is enabled. BRANCH=None BUG=b:156785198 TEST=make -j buildall, waddledee boots Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ia1193bf61995ec0f1892a753570f28eaba64ab26 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2210863 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* PD: Remove unnecessary PDCMD taskDiana Z2020-05-201-1/+0
| | | | | | | | | | | | | | | | | | | The PDCMD task is only pulling interrupts from the TCPCs on most boards, which is unnecessary since the PD_INT tasks handle this job now. Remove it from any boards using the PD_INT command which are not using the older CONFIG_HOSTCMD_PD functionality (ex. samus, oak). Located boards using: find -name "ec.tasklist" | xargs grep -l PD_INT | xargs grep PDCMD BRANCH=None BUG=b:154959596 TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I29be8ab1d7a2616603fb55236aed4329ed8654f5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2208221 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Improve shared interrupt line behaviorDiana Z2020-05-151-2/+58
| | | | | | | | | | | | | | | | | | | When interrupts are interleaved from the TCPC and charger, we can get into a state where the interrupt line for the board ends up stuck low. Improve on this situation by setting a deferred function to check on the interrupt line after we get a signal in, and notify chips on that line there may be more to process. BRANCH=None BUG=b:143166332 TEST=on waddledee, plug in powered PD hub to C1, generating interrupts from both the charger and TCPC and verify C1 interrupt line goes high once connection is ready Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I4eda56d656a309f7aa762bba6476bb3c981e4bc7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2197949 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Use cached Vbus presenceDiana Z2020-05-141-5/+1
| | | | | | | | | | | | | | | Convert pd_snk_is_vbus_provided() to return the cached Vbus presence from the charger driver. BRANCH=None BUG=None TEST=on waddledee, confirm charger and powered dongle can connect to both ports Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: If45956072f41f8a20e5880825e687230ef239a1a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2191375 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Remove CONFIG_FPUDiana Z2020-05-141-1/+0
| | | | | | | | | | | | | | FPU no longer needed with charger using integer math to convert Vbus into a voltage. BRANCH=None BUG=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I77fd210ad60c051f2632083215d4f10dc074c4c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2191373 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Increase PDCMD task sizeDiana Z2020-04-301-1/+1
| | | | | | | | | | | | | | | Waddledee can experience PDCMD stack overflows when booting without a battery. For now, increase the stack size. Long-term, some or all of the PDCMD task may be unnecessary now that the PD_INT tasks exist. BRANCH=None BUG=b:154959596 TEST=booting without a battery on waddledee, PDCMD task doesn't overflow Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I99a06f67fee106ecf7cc1cb36ae79d5c576263d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2173158 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Limit voltage requests to 5VDiana Z2020-04-231-0/+3
| | | | | | | | | | | | | | | | | | While diagnosing some problems with the motherboard charger chips becoming non-responsive on waddledee, input voltage will be limited to 5V for now. BRANCH=None BUG=b:154723735 TEST=on waddledee, with an inline type-c meter, confirmed 45W charger stayed at 15W Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ide4970c0a81c48fd8d05ee1559339381a2e55c76 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2163565 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org>
* Dedede: Move waddledee chips out of baseboardDiana Z2020-04-214-7/+280
| | | | | | | | | | | | | | Moves chip specifics (ex. charger, TCPC) from baseboard out to the waddledee board files in anticipation of Wheelie. BRANCH=None BUG=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I99bf33d683cc89e6508fbbe305cd0b4c05a53090 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2157949 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* waddledoo/waddledee: Deassert ALL_SYS_PGOOD quicklyAseda Aboagye2020-04-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | According to tPLT17 in the PDG, the time from SLP_S3_L assertion to VCCIN_EN de-assertion should be less than 200us, but this was not occurring on waddledoo. This commit adds a special interrupt handler in order to meet that timing requirement by immediately deasserting ALL_SYS_PGOOD once SLP_S3_L is asserted. BUG=b:152552074 BRANCH=None TEST=Build and flash waddledoo, boot and shut AP down, verify that the time between SLP_S3_L asserting and ALL_SYS_PGOOD deasserting is less than 200us. TEST=`make -j buildall` Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Ib34016d5bdfa956f410dde3e3b3074bd306a18f9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2142744 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org>
* SM5803: Add open drain parameter to GPIO setupDiana Z2020-04-101-4/+4
| | | | | | | | | | | | | | Explicitly set GPIO0 to be open drain or not, depending on the application needed. BRANCH=None BUG=b:153398237 TEST=on waddledee, redriver now inits and responds correctly Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Iaf6c66841a618ae5a522ad7f817dac3a5e0c755c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2145074 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Call board initDiana Z2020-04-101-0/+2
| | | | | | | | | | | | | | Add the hook to call the board init function during init time. BRANCH=None BUG=b:153398237 TEST=on waddledee, add prints for the board init and confirm they are called during startup Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ia5b6701b1024e9f61707cf6710cceff0a18369c4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2145073 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Add more LED colorsDiana Z2020-04-091-3/+12
| | | | | | | | | | | | | | Add more colors for the RGB LED to produce. BUG=None BRANCH=None TEST=with ledtest command enabled, set LED to each new color to confirm it looks like the named color Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Iab86e7236796c52948f7e055c69b29b72473d7cb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2142560 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* dedede: Make EC_MKBP_INT_L open drainAseda Aboagye2020-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | This commit changes EC_MKBP_INT_L to be an open-drain output. The AP firmware will also be configured to apply an internal pull-up to allow this configuration to work. BUG=b:151680590 BRANCH=None TEST=Build and flash waddledoo with modified AP FW that sets internal pull-up, verify that EC_MKBP_INT_L is asserted when the AP shuts down and is de-asserted when the AP turns on. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I76a772f88ab8af1a9c7c699e5922eb86b926ae86 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2109117 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org>
* USB: Make handling of CC overvoltage independent of PPCsDiana Z2020-03-261-1/+1
| | | | | | | | | | | | | | | Boards may have CC overvoltage detection from other chips besides PPCs, so this removes pd_handle_cc_overvoltage() from that constraint and uses it on waddledee. BUG=b:149094279 BRANCH=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: If197c4ea2308fe6113c134e6a7e293cb8a3e3c3a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2110974 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Configure DAC for PSYSDiana Z2020-03-261-1/+2
| | | | | | | | | | | | | This commit configures the DAC module in the waddledee build and sets up the PSYS output to use it. BUG=b:149094279 BRANCH=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I1b08e46f25ec3f14924b0ed9da17a8cd213ddacc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2110534
* Waddledee: Fill in batteriesDiana Z2020-03-242-3/+300
| | | | | | | | | | | | | This copies the batteries from the bobba (sparky) board. BUG=b:146557556 BRANCH=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I7deb5ca6409c990c807db477ba3932026e4e6c29 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2110533 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Complete basic EC tasksDiana Z2020-03-246-47/+179
| | | | | | | | | | | | | | | This commit adds tasks to cover PD functionality, charging, and LED behavior. The charger and TCPC functionality are a part of the ITE variant code for now, but may be moved out as OEM boards are determined. BUG=b:146557556 BRANCH=None TEST=make -j buldall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I50df3caabfae5e3981d7a8b76c0a76332f7d00a1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2110532 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* dedede: Configure EN_VCCST as inputAseda Aboagye2020-02-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | Currently, the EC isn't using EN_VCCST itself, but we are using external logic to set this pin. The pin is initialized to low on the EC which causes a drive fight. This commit changes GPIO_EN_VCCST to an input while we determine whether or not we will use this pin in the EC. BUG=b:149775160 BRANCH=None TEST=`make -j buildall` TEST=Build and flash waddledoo, verify EC cannot set EN_VCCST. Change-Id: Ia9f439d3d049580ac66689fdde11ed75ca044584 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2068801 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org>
* TCPMV1/2: Make the PD Config Flags more consistentSam Hurst2020-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | The current use of the PD Config Flags are a bit confusing and has been changed to the following: The CONFIG_USB_POWER_DELIVERY flag is used to enable and disable the TCPMv1 and TCPMv2 stacks. And when CONFIG_USB_POWER_DELIVERY is enabled, one of the following must be enabled: CONFIG_USB_PD_TCPMV1 - legacy power delivery state machine CONFIG_USB_PD_TCPMV2 - current power delivery state machine BUG=b:149993808 BRANCH=none TEST=make -j buildall Change-Id: Ie3f8615a75b15b4f1c703f57f3db9e152a471238 Signed-off-by: Sam Hurst <shurst@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2068519 Reviewed-by: Diana Z <dzigterman@chromium.org>
* Temp sensor: Remove action_delay_sec fieldDiana Z2020-02-141-4/+2
| | | | | | | | | | | | | | The action_delay_sec field hasn't actually been referenced by any code since 2013. Removing the corresponding struct field. BUG=None BRANCH=None TEST=builds Change-Id: Ia7334c26b85d0161ff61bb51fbdda61bb921595a Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2054945 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Add thermistorsDiana Z2020-02-122-1/+27
| | | | | | | | | | | | | | This change adds the temperature sensors for waddledee, which are hooked up to 2 of the ADCs. BUG=b:146557556 BRANCH=None TEST=builds Change-Id: I3475a586f0992df8cba33939611ce6a632f25119 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2044701 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledee: Initial board fileDiana Z2020-02-116-0/+525
This commit contains the initial code for waddledee, the ITE reference board for dedede. All of the GPIOs are defined, and any tasks that can be enabled to begin with are. Since the charger driver is still in progress, this commit undefs any charger related baseboard features, and they will be re-enabled once the driver is ready. BUG=b:146557556 BRANCH=None TEST=builds Change-Id: Ie5901304f92bf9040f1c883fb738c9f3bda0e95e Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2044359 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>