summaryrefslogtreecommitdiff
path: root/board/storo/board.c
Commit message (Collapse)AuthorAgeFilesLines
* charger: Move charger_state_v2.h into charge_state.hSimon Glass2023-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | We don't have a v1 anymore, so the name makes no sense. Move it into the existing file. Include charge_state.h instead of v2, doing this in the same change to avoid build errors. This makes no functional change. BUG=b:218332694 TEST=make buildall Change-Id: Ic3e3adc45e4d002c2cd5ba8aa65e24686e01d628 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4516191 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* board: Sort header filesJeremy Bettis2022-12-011-5/+5
| | | | | | | | | | | | | | | | | | | | Sort all includes in board with the clang-format rules used by the zephyr project. BRANCH=None BUG=b:247100970 TEST=zmake build -a TEST=./twister --clobber -v -i TEST=make -j72 buildall_only runtests TEST=zmake compare-builds -a Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I6ad72b167cbb768a64c338fa633eb4bf5a401897 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4060360 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* Add default implementation of board_set_charge_limitPeter Marheine2022-11-241-6/+0
| | | | | | | | | | | | | | | | | | | The majority of boards simply call charge_set_input_current_limit() from board_set_charge_limit() now that the minimum current limit and derating are available as config options. Make this the default behavior of the charge manager, overridable by boards as needed. Boards that have existing custom behavior retain it, with their versions of board_set_charge_limit() marked as __override as necessary. BUG=b:163093572 TEST=make buildall; zmake build -a BRANCH=none Signed-off-by: Peter Marheine <pmarheine@chromium.org> Change-Id: I72475ca0e8381596cafbcda4b042c7f884ae0432 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4022857 Reviewed-by: Keith Short <keithshort@chromium.org>
* Add CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMITPeter Marheine2022-11-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits the dual use of CONFIG_CHARGER_INPUT_CURRENT into two different symbols, changing the uses of that which are used to set a minimum current limit to be CONFIG_CHARGER_MAX_INPUT_CURRENT_LIMIT. Most boards implement this in the same way within either the board or baseboard, so handling of the new option is moved into charge_set_input_current_limit (which is called by every user of the option) and every board which repeated this pattern has the new symbol set to the same value as the old one, with the duplicated code deleted. One functional change to the charge manager is made: when charging stops, the input current limit is set to the default value (CONFIG_CHARGER_INPUT_CURRENT) rather than 0. This captures the intent that the default current is appropriate at any time, which was previously configured by individual boards' implementation of board_set_charge_limit() while still allowing the limit to be set lower as needed. To verify that all changes are appropriate, the following has been manually checked: * All boards with a change to a .c file also have a .h change * All boards without a changed .h file have a changed baseboard.h * For Zephyr projects, those with a changed .c file have config added for the minimum limit and others (only corsola) are unchanged to leave it off. This is intended to verify that each board that duplicated the MAX() logic has its configuration updated to use the shared copy, and that boards with that code in the baseboard also update their configuration. BUG=b:163093572 TEST=make buildall; zmake build -a BRANCH=none LOW_COVERAGE_REASON=added lines will soon be deleted Change-Id: Ia460a16293c1fb82aac3784fd9be57ba0985f2fe Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4019703 Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* Add CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCTPeter Marheine2022-11-171-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many boards derate their charge current limits by some fixed ratio, which results in duplicate code appearing in many different boards. Since nearly all of these are in implementations of board_set_charge_limit() and themselves call charge_set_input_current_limit(), make that derating a config option and move it into charge_set_input_current_limit(). This makes most boards' implementations uniform and ripe for further simplification in later changes. For those boards that do more complex adjustments, those can be retained by keeping the existing logic in board_set_charge_limit(). Several boards also uselessly defined multiple versions of board_set_charge_limit(): the redundant ones are removed. BUG=b:163093572 TEST=make buildall; zmake build -a BRANCH=none LOW_COVERAGE_REASON=follow-up CLs delete uncovered code Change-Id: I0a7162e72538a91ad06ba85b91a10b93eb6af96b Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4015966 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* dedede: usb_mux: Split struct usb_mux in dedede boardsTomasz Michalec2022-09-131-16/+25
| | | | | | | | | | | | | | | | Update dedede boards to use new struct usb_mux_chain. BUG=b:236274003 TEST=make buildall BRANCH=None Cq-Depend: chromium:3748785 Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: Ie73f5bc250c436a2d72fdfb4c8f8707f05fba9f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3779623 Commit-Queue: Tomasz Michalec <tmichalec@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Tested-by: Tomasz Michalec <tmichalec@google.com>
* Update license boilerplate text in source code filesMike Frysinger2022-09-121-1/+1
| | | | | | | | | | | | | | | Normally we don't do this, but enough changes have accumulated that we're doing a tree-wide one-off update of the name & style. BRANCH=none BUG=chromium:1098010 TEST=`repo upload` works Change-Id: Icd3a1723c20595356af83d190b2c6a9078b3013b Signed-off-by: Mike Frysinger <vapier@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891203 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* board/storo/board.c: Format with clang-formatJack Rosenthal2022-07-011-161/+130
| | | | | | | | | | | BUG=b:236386294 BRANCH=none TEST=none Change-Id: I4fe321f0ba2f73b5fadabe10642f8e786e6f917c Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3728957 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* usbc: wrap task_set_event to have an explicit port argumentFabio Baltieri2022-05-271-2/+2
| | | | | | | | | | | | | | | | | Define an explicit function to set events for the usb charger tasks, so that the caller is not coupled to the internal task implementation, and we can use a single task on a later patch. BRANCH=none BUG=b:226411332 TEST=make buildall TEST=zmake testall TEST=cq dry run Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I7a1223642b800568bf4f9864f75b2b647c84d29f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3663746 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* storo: Add comments for redrivermike2022-05-131-0/+9
| | | | | | | | | | | | | | | | | | NCS8510 and TUSB544 use the same driver and EQ settings, so add a comment to explain the situation. BUG=b:230403435 BRANCH=dedede TEST=none Signed-off-by: mike <mike5@huaqin.corp-partner.google.com> Change-Id: I24d1dd9f5d46c81bcbca12c7d9b4ae14d963643b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3632041 Commit-Queue: Marco Chen <marcochen@chromium.org> Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Marco Chen <marcochen@chromium.org> Tested-by: Marco Chen <marcochen@chromium.org>
* Storo: Modify board active charge port settingMike Lee2022-01-061-1/+1
| | | | | | | | | | | | | | | | If the charge port does not change, we don’t need to stop the charge IC. BUG=b:211080520,b:197199689 BRANCH=dedede TEST=make BOARD=storo pass, the DUT can boot up normally when only the 45W adapter is inserted Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I5ca07d9cd91c2cecff4f90dc5ab1a62f502c86f0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3347354 Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* Revert "Storo: Modify active charge port setting"Mike Lee2022-01-061-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit abc448dfbb68b8b94fbfaf1e8193d44b44cf1107. Reason for revert: sinking must always be re-enabled during the hard reset process, and due to timing differences, we may not always go through the charge port of None in this sequence Original change's description: > Storo: Modify active charge port setting > > If the port is not changing, should not be doing anything. > In order to solve the problem of sometimes unable to boot > under AC only state, we can make a return early. > > BUG=b:197199689 > BRANCH=dedede > TEST=make BOARD=storo pass, the DUT can boot up normally > when only the 45W adapter is inserted > > Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> > Change-Id: Icec7a5e9a0ed6efdd41489b4fd3e74325f4b81fa > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3167617 > Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> > Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> > Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Bug: b:197199689,b:211080520 Change-Id: I21c34e7616e3797dba5c3c77f7591a37f19f3981 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3347352 Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Tested-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Mike Lee <mike5@huaqin.corp-partner.google.com>
* storo: Add motion sense config for BMI220Mike Lee2021-10-121-0/+64
| | | | | | | | | | | | | | | | | | | Add BMI220 base sensor config for second source BUG=b:188373185 BRANCH=dedede TEST=Using ectool 'motionsense' verified lid angle goes from 0 to 360 and swtiches to tablet mode after crossing 200 threshold on re-work bmi220/bmi253 DUT Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I9e72bb898b2dbfe68e44248f0238982921c4a198 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3077596 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: jesen <wangganxiang@huaqin.corp-partner.google.com> Reviewed-by: Weimin Wu <wuweimin@huaqin.corp-partner.google.com> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Storo: Modify active charge port settingMike Lee2021-09-171-0/+4
| | | | | | | | | | | | | | | | | | If the port is not changing, should not be doing anything. In order to solve the problem of sometimes unable to boot under AC only state, we can make a return early. BUG=b:197199689 BRANCH=dedede TEST=make BOARD=storo pass, the DUT can boot up normally when only the 45W adapter is inserted Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: Icec7a5e9a0ed6efdd41489b4fd3e74325f4b81fa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3167617 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Revert "storo: update EC thermal table"Mike Lee2021-08-191-34/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9193fc043f70b7fa657e30605ec18b1f548b2ac8. Reason for revert: Because this CL affects the boot problem of ac only Original change's description: > storo: update EC thermal table > > Update EC thermal table for throttle and shutdown point. > > BUG=b:194967456 > BRANCH=dedede > TEST=make BOARD=storo and verify function pass by thermal team. > > Signed-off-by: mike <mike5@huaqin.corp-partner.google.com> > Change-Id: Ia5f78111c40aee613bfba5e96ce0af93cb7c81e5 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3062706 > Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> > Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Bug: b:197199689 Change-Id: I59374bf9a95abf606d11575456fefafdbd84507c Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3106908 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* lid_angle: Create a common callback for lid angle changesWai-Hong Tam2021-08-051-3/+1
| | | | | | | | | | | | | | | | | | | | | | Each board defines its own callback lid_angle_peripheral_enable(). The implementation is very similar. Create a common implementation and reduce the duplicated code. This CL removes the board callbacks which are identifical to the common callback. If it is slightly different, keep it and add the __override tag. The check of TEST_BUILD is unnecessary as the board callback is not linked in the test build. BRANCH=None BUG=b:194922043 TEST=Build all the images. Change-Id: I73d381730f35b80eff69399cdfc5fb54f839aee0 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3069175 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* storo: update EC thermal tablemike2021-08-021-0/+34
| | | | | | | | | | | | | | Update EC thermal table for throttle and shutdown point. BUG=b:194967456 BRANCH=dedede TEST=make BOARD=storo and verify function pass by thermal team. Signed-off-by: mike <mike5@huaqin.corp-partner.google.com> Change-Id: Ia5f78111c40aee613bfba5e96ce0af93cb7c81e5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3062706 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* storo: add 2nd accel source KX022mike2021-07-211-0/+42
| | | | | | | | | | | | | | | | | Add 2nd lid accel source KX022 BUG=b:188373186 BRANCH=dedede TEST=make BOARD=storo 1. Set CBI SSFC 0x11 and use command "ectool motionsense" for sensor kx022 2. test factory test pass Signed-off-by: mike <mike5@huaqin.corp-partner.google.com> Change-Id: Ibba58d53cf6fbfa35ba0c8e7fe73d4ebfdb9e7c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3037288 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* storo: remove base sensor of clamshell boardMike Lee2021-07-211-12/+47
| | | | | | | | | | | | | | | according to OEM request, we will remove base sensor for clamshell baord in DVT2 state. BUG=b:193314277 BRANCH=dedede TEST=make BOARD=storo pass, and test rework board OK. Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: Iefc965f468529e48c521c600f3edd98fabb1cdff Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3016494 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* storo: change icm-42607 sensor configMike Lee2021-06-291-14/+17
| | | | | | | | | | | | | | | change icm-42607 sensor location from lid to base BUG=b:192334282 BRANCH=dedede TEST=make BOARD=storo pass, and use 'ectool motionsense info 1' can show correct location. Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: Ie733f6b08fb28599bd31a81cd071437862350324 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2994744 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* storo: tune tusb544 EQ settingMike Lee2021-06-081-0/+99
| | | | | | | | | | | | | | | | Modify strength value setting of tusb544, set vod dcgain setting_5,set usb eq 15,and set dp eq 6. BUG=b:183583917,b:183586638 BRANCH=dedede TEST=make BOARD=storo and verified pass by EE Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: Ic8b16fed18e06e4fa763faf47c2041dc1d3c29f1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2784332 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* storo: Add motion sensor config for lis2dwl/icm-42607Mike Lee2021-06-031-32/+147
| | | | | | | | | | | | | | | | | Add icm-42607 config for new second source base accel/gyro, and lis2dwl lid accel config for new second source. BUG=b:188373185,b:188373186 BRANCH=dedede TEST=Using ectool 'motionsense' verified lid angle goes from 0 to 360 and swtiches to tablet mode after crossing 200 threshold on re-work lis2dwl/icm-42607 DUT. Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I2080816aeb0f5f542d773b8dbe219dbe6efd4226 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2912409 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* storo:The stylus has no function when the first time using the stylus.stabilize-13970.B-mainqinwentao2021-05-141-0/+3
| | | | | | | | | | | | | | | | | fix the power-on detection of the stylus BUG=b:187970959 BRANCH=dedede TEST=make -j BOARD=storo Signed-off-by: jesen <wangganxiang@huaqin.corp-partner.google.com> Change-Id: Iabde2114464865b7b1cae865bd0737cdb54c9b4a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2891678 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Reland "dedede/raa489000: Disable ASGATE from READY state"Aseda Aboagye2021-04-011-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of f7fbc629f0655229cc7ffdadfb18c9e13118e3d2 Original change's description: > dedede/raa489000: Disable ASGATE from READY state > > On the boards which use the RAA489000, we keep the ADC enabled while > giving VBUS control to the charger side. This can cause a situation > where VBUS is not quite zero volts when a charger is removed. This > commit uses the charger side registers to control the ASGATE when > selecting our active charge port. This is done in addition to the > existing implementation which uses the TCPCI registers to control > ASGATE. When we place the parts into low power mode, we move the VBUS > control from the TCPC side of the IC to the charger side. It should > be safe to issue both commands as if the TCPC side has control, the IC > ignores the setting from the charger side registers. > > BUG=b:183220414 > BRANCH=dedede > TEST=Build and flash madoo, plug in charger to port, unplug, verify > that VBUS falls to < 200mV and decays from there. > > Signed-off-by: Aseda Aboagye <aaboagye@google.com> > Change-Id: I8e8c8cc32575d18c9d3d1210ed3c5cf69ad5ca4b > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2793058 > Tested-by: Aseda Aboagye <aaboagye@chromium.org> > Reviewed-by: Diana Z <dzigterman@chromium.org> > Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Bug: b:183220414 Change-Id: I36db53f3e13ba848308cd7e0c94a1b5a3551c600 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2797549 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org>
* dedede/raa48900 boards: Apply 4% ICL reductionMike Lee2021-03-311-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 storo and sasukette,verify that input current limit is reduced and is under the contract. Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I37bc4fba776114f3386d79ff118edd7add104a67 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2780856 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Henry Sun <henrysun@google.com>
* Revert "dedede/raa489000: Disable ASGATE from READY state"Aseda Aboagye2021-03-311-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f7fbc629f0655229cc7ffdadfb18c9e13118e3d2. Reason for revert: Breaks sourcing of VBUS. Original change's description: > dedede/raa489000: Disable ASGATE from READY state > > On the boards which use the RAA489000, we keep the ADC enabled while > giving VBUS control to the charger side. This can cause a situation > where VBUS is not quite zero volts when a charger is removed. This > commit uses the charger side registers to control the ASGATE when > selecting our active charge port. This is done in addition to the > existing implementation which uses the TCPCI registers to control > ASGATE. When we place the parts into low power mode, we move the VBUS > control from the TCPC side of the IC to the charger side. It should > be safe to issue both commands as if the TCPC side has control, the IC > ignores the setting from the charger side registers. > > BUG=b:183220414 > BRANCH=dedede > TEST=Build and flash madoo, plug in charger to port, unplug, verify > that VBUS falls to < 200mV and decays from there. > > Signed-off-by: Aseda Aboagye <aaboagye@google.com> > Change-Id: I8e8c8cc32575d18c9d3d1210ed3c5cf69ad5ca4b > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2793058 > Tested-by: Aseda Aboagye <aaboagye@chromium.org> > Reviewed-by: Diana Z <dzigterman@chromium.org> > Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Bug: b:183220414 Change-Id: Ibf6c161adca9981a065e969b6c3b73dd408ef1ba Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2796411 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
* dedede/raa489000: Disable ASGATE from READY stateAseda Aboagye2021-03-301-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | On the boards which use the RAA489000, we keep the ADC enabled while giving VBUS control to the charger side. This can cause a situation where VBUS is not quite zero volts when a charger is removed. This commit uses the charger side registers to control the ASGATE when selecting our active charge port. This is done in addition to the existing implementation which uses the TCPCI registers to control ASGATE. When we place the parts into low power mode, we move the VBUS control from the TCPC side of the IC to the charger side. It should be safe to issue both commands as if the TCPC side has control, the IC ignores the setting from the charger side registers. BUG=b:183220414 BRANCH=dedede TEST=Build and flash madoo, plug in charger to port, unplug, verify that VBUS falls to < 200mV and decays from there. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I8e8c8cc32575d18c9d3d1210ed3c5cf69ad5ca4b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2793058 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Storo: Add GPIO_EC_ENTERING_RW2Mike Lee2021-03-091-0/+15
| | | | | | | | | | | | | | | | | | | This commit adds a new GPIO, GPIO_EC_ENTERING_RW2 which does the same thing as GPIO_EC_ENTERING_RW. However, it's on a pin that's more well behaved around init time. This commit also overrides the board_pulse_ec_entering_rw() function such that both lines can be pulsed. BUG=b:181847975 BRANCH=dedede TEST=Build and flash storo, verify it boots. Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I6301dfb551518a5d421af5f84eb1599c1fe8f188 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2725475 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Storo: Initial EC imageMike Lee2021-02-221-169/+157
| | | | | | | | | | | | | | | | Initial EC image for Storo BUG=b:173340493 BRANCH=dedede TEST=make BOARD=storo pass boot device successfully Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I1c82cc80f161cdbe8561b06606ec9f34ed094094 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2584202 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Move tcpic.h header into include/driverSimon Glass2021-01-071-1/+1
| | | | | | | | | | | | | | | | | | This header cannot currently be accessed by Zephyr since it is in a driver directory, not an include directory. This header has quite a bit of public stuff in it, so it seems reasonable to consider everything public. Move the header file and update all users. BUG=b:175434113 BRANCH=none TEST=make buildall -j30 build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ibba37f47a06783fafb5095f853f2a68d92b6df87 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2607745
* 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>
* storo: Initial EC imageTao Xia2020-12-081-0/+589
Create the initial EC image for the storo variant by copying the waddledee reference board EC files into a new directory named for the variant. (Auto-Generated by create_initial_ec_image.sh version 1.3.0). BUG=b:174284884 BRANCH=None TEST=make BOARD=storo Signed-off-by: Tao Xia <xiatao5@huaqin.corp-partner.google.com> Change-Id: If1648599689e6da5985248ffa095b298ef221142 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567079 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Tested-by: Wentao Qin <qinwentao@huaqin.corp-partner.google.com> Commit-Queue: Henry Sun <henrysun@google.com>