summaryrefslogtreecommitdiff
path: root/board/waddledoo
Commit message (Collapse)AuthorAgeFilesLines
* Dedede: Add RAA489000 output current settingDiana Z2021-01-291-0/+8
| | | | | | | | | | | | | | | | | Boards using the RAA489000 TCPC should set output current on their ports through the TCPC driver. This commit adds a board function to do this for every dedede board currently using the RAA489000. BRANCH=None BUG=b:178064507 TEST=on madoo, verify OCP occurs if more than 1.5A is drawn on a non-PD port, verify register is set to allow 3.0A for port partners requesting that current in their sink capabilities Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ieb7df916c122d5de1adaa7371a58ad5cf2954ee4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2658377 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* dedede: Add MKBP_EVENT to baseboardEvan Green2021-01-261-3/+0
| | | | | | | | | | | | | | | | | | CtsSensorTestCases is failing on Drawcia because it requests 100 events from accelerometer and gyroscope but gets zero. We can read sensor events just fine, but they never seem to push to the kernel. Add CONFIG_MKBP_EVENT into the baseboard, and then clean up all the one-off variants that have added this themselves. Also, add some accel commands specific to drawcia for easier debugging. BUG=b:171939568 BRANCH=none TEST=Use amstan's script, which amounts to cat /dev/iio:deviceN Signed-off-by: Evan Green <evgreen@chromium.org> Change-Id: Ia796ec2f9a08d3628dcabb4b5fca425693af4099 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2638636 Reviewed-by: Diana Z <dzigterman@chromium.org>
* config: Provide default VCONN Swap delayAbe Levkoy2021-01-221-0/+1
| | | | | | | | | | | | | | | | | Almost every relevant board copy-pastes 5000 us. Make that the default and get rid of the redundant definitions. This is the approximate result of this command: find . -type f -name *.h | xargs sed -i -E \ '/#define CONFIG_USBC_VCONN_SWAP_DELAY_US[[:space:]]+5000[[:space:]]/d' BUG=b:144165680 TEST=make buildall BRANCH=none Change-Id: Ife86f9752971abcd7ab5ad5a5e607eb2ccbde2ba Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2628132 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* config: Make VCONN Swap delay a documented optionAbe Levkoy2021-01-221-2/+2
| | | | | | | | | | | | | | | | | | | | | Replace PD_VCONN_SWAP_DELAY with CONFIG_USBC_VCONN_SWAP_DELAY_US. This is the approximate result of the following command, run from platform/ec: find . -type f -\( -name '*.c' -o -name '*.h' -\) | \ xargs sed -iE 's/PD_VCONN_SWAP_DELAY/CONFIG_USBC_VCONN_SWAP_DELAY/g' Fix some latent formatting errors in usb_pd_protocol.c, because they were preventing pre-upload hooks from passing. BUG=b:144165680 TEST=make buildall BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: Icaf3b309c08fdcd162e960cf5dc88185016b5d2d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2628131 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Madoo: Fix main board charger can't wake from hibernateKo_Ko2021-01-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | In madoo's design, there is a protection IC between USB connector and TCPC. When EC is hibernate, the CC lines will be disconnected, which cause the result that TCPC can't detect AC power and Chromebook won't wake the system. Enalbing ADC for all modes by setting 0x4C bit 0 to 1 (to be more precise is that we don't clear bit 0 during hibernation) can prevent issue mention above. BUG=b:174971576 BRANCH=dedede TEST=flash code and make sure ac in can wake system from hibernation Signed-off-by: Ko_Ko <Ko_Ko@compal.corp-partner.google.com> Change-Id: I2a83c69e34cbc4bfdff90d760f32817a7924dc26 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2626803 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Ko Ko <ko_ko@compal.corp-partner.google.com> Tested-by: Ko Ko <ko_ko@compal.corp-partner.google.com> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* waddledoo: Add guards for 5V GPIO remapAseda Aboagye2021-01-131-14/+19
| | | | | | | | | | | | | | | | | | | | | Early versions of waddledoo had to have their 5V GPIO remapped between versions. As variants of waddledoo are created, they end up copying the same code which is not applicable to their board. This commit restricts the remap to the waddledoo board only. BUG=None BRANCH=dedede TEST=Copy code to a waddledoo variant, verify that board builds and 5V still works. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I6de5ffc9bf7eb5d35f5778cc2c798519af3b18c9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2625794 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>
* waddledoo: Check Type-C interrupt lines at initAseda Aboagye2021-01-061-11/+4
| | | | | | | | | | | | | | | | | | After a sysjump, it could be possible that the Type-C interrupt lines are asserted. This commit simply has the EC check the interrupt lines after init and handle them if necessary. BUG=b:143166332 BRANCH=dedede TEST=`make -j BOARD=waddledoo` Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I16eef9827ca37cec4b04442a50352795b9652592 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2601777 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>
* TCPMv2: Update source-out configsDiana Z2020-12-241-10/+0
| | | | | | | | | | | | | | | | | | | | Now that the DPM will be handling source-out decisions for TCPMv2, remove references to its old configuration options from TCPMv2 boards in order to avoid any confusion as to what code is running now. Also remove the charge manager notifications of sink attach/detach since the policy is being centralized into the DPM. Note that the previous configuration options only ever allocated one 3.0 A port, and so the default number of 3.0 A ports has been set to 1. BRANCH=None BUG=b:168862110,b:141690755 TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ie452e3da32b04226503539daa67b6b9f4a58aa58 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2597431 Reviewed-by: Keith Short <keithshort@chromium.org>
* task_set_event: remove the wait argumentDawid Niedzwiecki2020-12-141-2/+2
| | | | | | | | | | | | | | | | | | | | There is an option in the task_set_event function which force the calling task to wait for an event. However, the option is never used thus remove it. This also will help in the Zephyr migration process. BUG=b:172360521 BRANCH=none TEST=make buildall Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: Ic152fd3d6862d487bcc0024c48d136556c0b81bc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2521599 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* Waddledoo: Share interrupt lines more gracefullyDiana Z2020-12-101-11/+70
| | | | | | | | | | | | | | | | | Set up checking for interrupt line wedging, which may occur when interrupts from the charger/TCPC occur with similar timing to the BC 1.2 interrupts. BRANCH=dedede BUG=b:143166332 TEST=on waddledoo, test multiple DUT-DUT connections and ensure neither system wedges its interrupt line low Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Id36de654c6af5c22801e3dee9446e35bf32cf63e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2576452 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Waddledoo: Reduce flash usageDiana Z2020-12-081-0/+1
| | | | | | | | | | | | | | Define CONFIG_DEBUG_ASSERT_BRIEF for waddledoo to save flash space. BRANCH=dedede BUG=None TEST=make -j buildall; observe waddledoo is back over 2k free flash Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I90223c6c46067aa23dd9722377cbaf3202a32e52 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2576451 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* dedede/raa48900 boards: Apply 4% ICL reductionAseda Aboagye2020-11-201-2/+3
| | | | | | | | | | | | | | | | | | The RAA48900 charger IC seems to over draw its contract by roughly 4%. This commit simply modifies our input current limit to account for that. BUG=b:147463641 BRANCH=dedede TEST=Build and flash waddledoo, verify that input current limit is reduced and is under the contract. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I70ab15ea24d789a7a1696217efae784f537ca014 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2548692 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org>
* waddledoo: Fix VBUS and VCONN timingsAseda Aboagye2020-11-201-0/+9
| | | | | | | | | | | | | | | | | VBUS and VCONN transition times were measured therefore this commit is simply updating these values. BUG=b:147314141 BRANCH=dedede TEST=Build and flash waddledoo, verify that PD peripherals still work ok including power role swaps. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I86654981e0a44345c273efce3d50068d8419432b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2548690 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org>
* Waddledoo: Define CONFIG_CHIP_INIT_ROM_REGIONDiana Z2020-11-171-4/+7
| | | | | | | | | | | | | | | | Waddledoo is almost out of space on ToT, so move the init data region to free up some flash. BRANCH=None BUG=None TEST=make -j buildall; see that we report 1.6k free flash space for Doo now Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I9eb713777c9767475933a603dd57e88fa33ea46a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2540388 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Dedede: Leave 5V on when jumping in S5Diana Z2020-10-081-1/+2
| | | | | | | | | | | | | | | | PP5000_U shouldn't be turned off until G3, so if a sysjump occurs during S5 leave this rail on. BRANCH=None BUG=b:166787955,b:167996216 TEST=on drawcia, run full resets with a forced sysjump in S5 and ensure that the DUT can get to S0 after the reset Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I00fb44903aa109bbc525fb512ab4035a94649c68 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2458841 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Dedede: Remove VSYNC sensorDiana Z2020-09-233-16/+0
| | | | | | | | | | | | | Remove VSYNC sensor, and related GPIOs and configs. BRANCH=None BUG=b:169056723 TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ib37e648ea04b5da3ed9ce6a660fcd60f2bfe264a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2424891 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Dedede: Define GPIO_USB_C1_INT_ODL for all variantsDiana Z2020-09-091-0/+8
| | | | | | | | | | | | | | | | | Naming for the C1 interrupt line varies slightly between variants due to schematic name differences, and version or functional differences. This change ensures all boards have GPIO_USB_C1_INT_ODL defined for baseboard code to reference. BRANCH=None BUG=b:153684907 TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I9303be2f9f142eed249da4f2f5e660985ceb7fdd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2391213 Tested-by: Divagar Mohandass <divagar.mohandass@intel.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Revert "Waddledoo: Add thermistors"Sooraj Govindan2020-09-092-27/+0
| | | | | | | | | | | | | | | | This reverts commit e834efc7488bc98211084f54fad9da9b584daec1. Reason for revert: DUT fails to enter G3 state on shutdown BUG=b:164202851, b:163486924 BRANCH=None TEST=Verify DUT entering into G3 after shutdown. Change-Id: I67876ec7ed22526770ac38e261b5b1903bcb6476 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2397934 Tested-by: Sooraj Govindan <sooraj.govindan@intel.corp-partner.google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* WADDLEDOO: Use common battery codeSam Hurst2020-08-272-90/+65
| | | | | | | | | | | | | | | Use common battery fuel gauge code BRANCH=none BUG=b:152067066 TEST=make -j buildall Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: I25a97614e6ba5dc601812f59739bd9cb7ce572e3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2283852 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org>
* Dedede: Move Discharge on AC config to baseboardDiana Z2020-08-271-1/+0
| | | | | | | | | | | | | | | | Now that the SM5803 has support for discharge on AC, move this configuration into the baseboard. BRANCH=None BUG=b:164256610 TEST=on drawlat with a charger in C0, ensure "ectool chargecontrol discharge" shows battery discharging and "ectool chargecontrol normal" shows battery charging again. Repeat on C1 Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ib058095330481fc4aa2f1016ccec6c77b047d8f5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2376467 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* waddledoo/magolor: Add check for CFET disabledAseda Aboagye2020-08-261-0/+14
| | | | | | | | | | | | | | | | | This commit adds the function to check whether the charge FET (CFET) is disabled or not for waddledoo and magolor. BUG=b:160918663 BRANCH=None TEST=`make -j buildall` Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I843d3a2d25c42d861ac86964a3e0ec8d557d97f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2370043 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>
* Dedede: Move PWM to board levelDiana Z2020-08-212-0/+28
| | | | | | | | | | | | | | | | 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>
* waddledoo: Configure unused GPIOs as inputsBrian J. Nemec2020-08-191-0/+12
| | | | | | | | | | | | | | | | | Configure unused GPIOs as inputs to save power in deep sleep states. BUG=b:162318932 BRANCH=none TEST=make buildall TEST=flash waddledoo put device into S0iX or other low power state measure system and EC power consumption Signed-off-by: Brian Nemec <bnemec@chromium.org> Change-Id: Ie29c15d1c4947fe3d6665c66df476ac6b9ed943d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2358903 Reviewed-by: Evan Green <evgreen@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* Waddledoo: Add thermistorsSooraj Govindan2020-08-112-0/+27
| | | | | | | | | | | | | | | | This change adds temperature sensors for waddledoo. BUG=b:163486924 BRANCH=None TEST=Verify console "temps" can read temperature. Check ectool tempsinfo all and ectool temps all. Signed-off-by: Sooraj Govindan <sooraj.govindan@intel.com> Change-Id: Icce66d8b57af7932a9737d8d74a2d2139ba82371 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2348744 Tested-by: Sooraj Govindan <sooraj.govindan@intel.corp-partner.google.com> Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@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-10/+1
| | | | | | | | | | | | | | | | | | | | 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>
* Waddledoo: Only set HDMI enable when HDMI DB is presentDiana Z2020-07-161-2/+4
| | | | | | | | | | | | | | When HDMI DB isn't present, the HDMI enable line is the SCL line for DB i2c and shouldn't be changed. BRANCH=None BUG=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I0146d31c6a1ae0bacd7475fb923f52ad4ac0764f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2300685 Reviewed-by: Aseda Aboagye <aaboagye@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-141-0/+33
| | | | | | | | | | | | | | 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>
* Waddledoo: Enable HDMI daughterboardDiana Z2020-07-134-22/+103
| | | | | | | | | | | | | | | | | | | | | Sub-board GPIOs are connected to different signals when the HDMI daughterboard is attached. This change uses the CBI FW_CONFIG field to determine if the HDMI DB should be present, and re-configures the GPIO modules and flags accordingly. This change also switches waddledoo to use the run-time determination for maximum type-c ports. BRANCH=None BUG=b:155963446 TEST=on waddledoo with type-c DB, C1 still works on waddledoo with HDMI DB and FW_CONFIG set to 0x0003 HDMI plug-ins are detected and the USB-A port functions Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ie093706e3bf515efa53223aec761714062f2f427 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2274993 Reviewed-by: Aseda Aboagye <aaboagye@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>
* DEDEDE: Increase board PD stack sizesSam Hurst2020-07-071-4/+4
| | | | | | | | | | | | | 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/+10
| | | | | | | | | | | | | | | 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>
* waddledoo: Use TCPCI cached VBUS presenceAseda Aboagye2020-06-111-5/+2
| | | | | | | | | | | | | | | | | | | | | This commit changes the mechanism in which waddledoo checks VBUS presence. Instead of going out to talk to each TCPC, now waddledoo will simply use the cached VBUS presence within the TCPCI driver. This was causing a deadlock leading to watchdog resets when TCPC low power mode was enabled. BUG=b:158218613 BRANCH=None TEST=Enable TCPC low power mode, build and flash waddledoo, verify that the DUT does not watchdog reset. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Ifee42979246bb378e9af226123164b10b2df146e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2239483 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org>
* waddledoo: Enable OCPCAseda Aboagye2020-06-042-0/+28
| | | | | | | | | | | | | | | | | | This commit enables OCPC for waddledoo. BUG=b:148980016 BRANCH=None TEST=Build and flash on waddledoo, verify that I can charge the battery from the sub-board at desired current in G3. Additionally, verify that adapter is nearly maxed out when system is running in S0 and battery is charging heavily. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I5c0732b21760980cc3bb3f4c6006fd57e48cfc21 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2135965 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-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>
* Extend the tcpci register dump.Andrew McRae2020-05-271-1/+1
| | | | | | | | | | | | | | | | | Extend the tcpci register dump command to allow chip specific register dumps to be displayed. BUG=b:157206143 TEST=Display ANX3447 registers on Puff. BRANCH=none Change-Id: Ib2bf1adcbe3bce75ff54c36c4306b17356eae96f Signed-off-by: Andrew McRae <amcrae@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2208344 Tested-by: Andrew McRae <amcrae@chromium.org> Auto-Submit: Andrew McRae <amcrae@chromium.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Andrew McRae <amcrae@chromium.org>
* waddledoo: Add rotation matrices for sensorsAseda Aboagye2020-05-211-3/+16
| | | | | | | | | | | | | | | | | | | This commit adds the needed rotation matrices for the sensors to place the measurements into the standard reference frame. BUG=b:155253629 BRANCH=None TEST=Build and flash waddledoo. Compare accel readings against released chromebooks and verify that they match in orientation and sign. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I6d1cb3ed674d71b083eef5e44e972794108701a1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2210826 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org>
* Waddledoo: configure ECH1_PACKET_MODEDiana Z2020-05-211-8/+9
| | | | | | | | | | | | | | This GPIO will be used to communicate with the cr50 when we enable EFS2. BRANCH=None BUG=b:156785199 TEST=make -j buildall, boots on waddledoo Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ia960e1ad6ddd83338570cae133697ed5d4f61597 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2210864 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>
* Waddledoo: enable gpio interrupt for base accelgyro sensorKo_Ko2020-05-051-0/+2
| | | | | | | | | | | | | | | Enable sensor interrupt to initial base sensor BUG=b:155253629 BRANCH=none TEST=flash firmware to verify that ectool motionsense has value Signed-off-by: Ko_Ko <Ko_Ko@compal.corp-partner.google.com> Change-Id: I33136ef6588501bb7b8b30cf544f4e17aed4a222 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2172283 Tested-by: Ko Ko <ko_ko@compal.corp-partner.google.com> Reviewed-by: Marco Chen <marcochen@chromium.org> Commit-Queue: Ko Ko <ko_ko@compal.corp-partner.google.com>
* waddledoo: Hibernate charger ICs when hibernatingAseda Aboagye2020-05-021-0/+10
| | | | | | | | | | | | | | | | | When the EC is going into hibernate, we need to also place both charger ICs into their lowest power mode. BUG=b:150236134 BRANCH=None TEST=Build and flash waddledoo. Verify DUT still wakes up from AC. TEST=Verify that power consumption is reduced in Z state. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Id3978ebdaf0fee6be97982612e98ee7a116caf47 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2153809 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* driver: Replace BMI160 to BMI in board configChing-Kang Yen2020-04-231-6/+6
| | | | | | | | | | | | | | | | | Replace some macro of BMI160 to BMI version for common function of BMI series. Make board config include the accelgyro_bmi_common.h instead of accel_gyro_bmi160.h. BRANCH=None BUG=b:146144827 TEST=make buildall -j Change-Id: I043ff8a92f15295ead3fa5c1e292319e2b4fa21a Signed-off-by: Ching-Kang Yen <chingkang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2156525 Reviewed-by: Gwendal Grignou <gwendal@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>
* 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>
* waddledoo: Swap EN_PP5000_U & VOLUP_BTN_ODLAseda Aboagye2020-03-122-4/+40
| | | | | | | | | | | | | | | | | | | | | | | On the older boards, the 5V enable was swapped with the volume up button. We worked around it in firmware, but for the next builds we need to fix the firmware such that it matches reality. This commit adds a remap which will allow the 5V enable to work for all boards based upon the board version stored in CBI. However, this will break the volume up button on the older boards as our interrupt table is statically defined at compile time. BUG=b:147257497 BRANCH=None TEST=Build and flash a waddledoo with unformatted CBI EEPROM, verify that the 5V rail still being controlled. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I9892b057054800a3acff5e2c2316921a479b32a6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2099746 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* waddledoo: Enable CONFIG_SYSTEM_UNLOCKEDAseda Aboagye2020-03-121-0/+6
| | | | | | | | | | | | | | | | | Force the system to be unlocked while development is going on. BUG=b:150914688 BRANCH=None TEST=Build and flash waddledoo, verify EC boots. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Ie92c01109fcdf82d84baa9bbf09deb6fc905fbbb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2099388 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Kirtika Ruchandani <kirtika@chromium.org> Commit-Queue: Kirtika Ruchandani <kirtika@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Auto-Submit: Aseda Aboagye <aaboagye@chromium.org>
* usb_mux: retimer: mux as chained mux and retimerDenis Brockus2020-02-281-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes retimers appear as generic muxes. By allowing a chain of muxes they can be stacked up to the new configurations that zork requires and will continue to work as they did before on configurations that only have a single mux. The code used to have two different arrays, 1) muxes and 2) retimers. On one of the zork configurations the processor MUX stopped being the primary mux and the retimer took its place. In a different configuration of that same platform it left the primary and secondary alone but the mux_set FLIP operation had to be ignored. Since the same interfaces needed to be available for both it stopped making sense to have two different structures and two different methods of handling them. This consolodates the two into one. The platforms that do not have retimers, this change will not make any difference. For platforms like zork, it will remove the retimers and make them chained muxes. So testing on trembyle makes sense to verify, BUG=b:147593660 BRANCH=none TEST=verify USB still works on trembyle Change-Id: I286cf1e302f9bd3dd7e81098ec08514a2a009fe3 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2066794 Commit-Queue: Jett Rink <jettrink@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* waddledoo: Set CMPOUT as inverted to enable 5VAseda Aboagye2020-02-251-0/+20
| | | | | | | | | | | | | | | | | | | | The charger has a general comparator which is enabled by default. The output of this comparator enables the sub board power rails. This commit adds a mechanism to turn on the 5V on the sub board tied to when the system decides to enable 5V. BUG=b:149794574 BRANCH=None TEST=Build and flash waddledoo, boot to S0, plug in a sink, verify that VCONN is sourced. Change-Id: I05384bdbdde4ccc033c2057b3c45fcaeae4589cc Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2065495 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>