summaryrefslogtreecommitdiff
path: root/driver/charger/isl923x.h
Commit message (Collapse)AuthorAgeFilesLines
* raa489000: Add raa489000_is_acok()Aseda Aboagye2021-05-191-0/+1
| | | | | | | | | | | | | | | | This commit adds a function to return the status of the ACOK pin in FW. BUG=b:187965740 BRANCH=dedede TEST=Build and flash madoo, verify that "AC on" is on printed when we actually decide to charge from a port and not just when VBUS is present. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Iacff19542587d102798c645d66a0ea15aaa51439 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2901252 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* raa489000: Add raa489000_enable_asgate()Aseda Aboagye2021-03-301-0/+1
| | | | | | | | | | | | | | | | | | | This commit exports a function to allow the ASGATE to be enabled or disabled when the charger IC is in the READY state. This can help to achieve a VBUS level of 0V if the READY state is required/desired. BUG=b:183220414 BRANCH=dedede TEST=With some other patches to use this function, build and flash on madoo, plug in a charger, remove charger, verify that VBUS goes down to less than 200mV and decays to 0. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Icb5316d9c206138e68fa4e55dee5b454182921e9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2793057 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* Create a public header for isl923xSimon Glass2021-03-231-40/+3
| | | | | | | | | | | | | | | | Add a separate public header for this chip so we can include it from Zephyr. Update the charger file to use that header, so it builds on Zephyr. BUG=b:183296099 BRANCH=none TEST=make BOARD=lazor -j4 Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I54506ef17ecda2683f1c1a933f1978df458e08ea Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2774916 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* Madoo: Fix main board charger can't wake from hibernateKo_Ko2021-01-221-1/+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>
* charger: rename charger_set_input_currentEric Yilun Lin2020-12-081-23/+23
| | | | | | | | | | | | | | | charger_set_input_current was actually sets the input current limit, so renames it to charger_set_input_current_limit. BUG=b:171853295 TEST=make buildall TEST=not output from `grep -r "\<charger_set_input_current\>"` BRANCH=none Change-Id: Icf4e99f287a7d4fc2d9560e8502e46cc07bfc085 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2569083 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* raa489000: Adjust charger IC settings for rippleAseda Aboagye2020-11-231-0/+3
| | | | | | | | | | | | | | | | | | | This commit updates some of the charger IC settings to help reduce the current ripple. These settings including enable hysteresis for DCM/CCM as well as reducing the switching frequency to 600KHz. BUG=b:163056834 BRANCH=dedede TEST=Build and flash waddledoo, verify that input current ripple is reduced. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I8c19ed040b92cf833d132ad247e761849985a919 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2552860 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>
* Casta : Support Multi-ChargerYongBeum.Ha2020-11-171-38/+0
| | | | | | | | | | | | | | | Casta needs to support 2 chargers(ISL9238 & BQ25710) BUG=b:168122776 BRANCH=firmware-octopus-11297.B TEST=None Signed-off-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Change-Id: I18758acbd0920132c2958bf9d238b4eac3fb5b73 Signed-off-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2428354 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* raa489000: Ignore BATGONE on aux chargersAseda Aboagye2020-11-111-0/+3
| | | | | | | | | | | | | | | | | | | | | On OCPC systems, the BATGONE pin is left unconnected as it's not needed. However, the default setting of the RAA489000 looks at the BATGONE pin in order utilize LEARN mode. This commit modifies the initialization to ignore the BATGONE pin on auxiliary chargers in an OCPC system. BUG=b:171457154, b:166168305 BRANCH=None TEST=Build and flash magolor, verify that `chgstate discharge on` results in 0 amperes being consumed from the connected AC adapter. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Iefec97e2dfcf0852a02c7acd05257014e93e9f57 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2523303 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>
* isl9238c: implement hibernate/resumeTing Shen2020-08-251-0/+5
| | | | | | | | | | | | | | | | | Implemented isl9238c_hibernate/resume for ulp mode. And added a helper method raw_update16 for the read-update-write register flow. BUG=b:162790592 TEST=make BRANCH=master Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I0c3d80aaf6e1290da299b27d88961806295c90e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2366644 Tested-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
* raa489000: Add instantaneous curr/volt readingsAseda Aboagye2020-07-141-0/+1
| | | | | | | | | | | | | | | | | | | | The RAA489000 can provide instantaneous charge current and VSYSS voltage measurements via its ADCs. This commit adds the register for the charge current ADC and then updates a couple of the driver functions to use these instantaneous registers. BUG=b:148980020 BRANCH=None TEST=Build and flash waddledoo, verify that instantaneous readings are reported for charge current and VSYS. TEST=`make -j buildall` Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I8f0380d48f9d24f2fb133c001236357c4449cecb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2290057 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* charger/isl9238c: enable slew rate controlTing Shen2020-06-101-0/+9
| | | | | | | | | | | | | | | | | | | | | | | Enable charge current and maximum system voltage slew rate control on ISL9238C by default for better charger stability. Since the control is only available on ISL9238C, not on A/B, and there's no way to distinguish C and A/B in software side, introduce a new config CONFIG_CHARGER_ISL9238C for 9238C users. BUG=b:155366741 TEST=1) on asurada, verify the register configured correctly 2) verify the waveform looks better BRANCH=kukui Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I577db3eebcad0ed3793f4b7d525e4246515f8503 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2231725 Tested-by: Hsu Alvis <alvishsu@google.com> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* raa489000: Add support for DVCAseda Aboagye2020-06-041-0/+18
| | | | | | | | | | | | | | | | | | | | | This commit adds support for DVC, Dynamic Voltage Compensation, which is supported by the RAA4890000. In DVC mode, the battery can be charged through an auxiliary RAA489000 operating as a Voltage Regulator. DVC mode is used to autonomously fine tune the charge current without significant involvement from the system. BUG=b:155225932 BRANCH=None TEST=Build and flash waddledoo, verify that battery can be charged from the sub-board. TEST=`make -j buildall` Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: Ie6af4fa4abcda2c8695919e30d231d812d7171b5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2191299 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* Raa489000: fix VBUS voltage registerKo_Ko2020-04-271-1/+1
| | | | | | | | | | | | | | | | | The correct VBUS voltage register for RAA489000 should be 0x89 instead of 0x88. BUG=b:154893702 BRANCH=none TEST=flash firmware to verify that reading the correct register Signed-off-by: Ko_Ko <Ko_Ko@compal.corp-partner.google.com> Change-Id: Ia436df8a72111ca7b66210aa176fda16a68331c0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2162450 Tested-by: Ko Ko <ko_ko@compal.corp-partner.google.com> Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* raa489000: Add hibernate functionAseda Aboagye2020-04-211-0/+26
| | | | | | | | | | | | | | | | | | The RAA489000 supports a battery ship mode in which the charger IC consumes the least amount of power. This commit adds that functionality. BUG=b:150236134 BRANCH=None TEST=Call function on waddledoo, build and flash, verify that device still wakes up from hibernate via AC insertion. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I5fd35adb4c0e737c438d766676e3f6038fc0d397 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2153808 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* raa489000: Fix get_input_current()Aseda Aboagye2020-04-151-0/+2
| | | | | | | | | | | | | | | | | | The RAA489000 has an ADC register for retrieving the instantaneous input current. This commit fixes a bug where we were simply returning our input current limit instead of what the actual input current was. BUG=b:148980034 BRANCH=None TEST=Build and flash waddledoo, verify that the instantaneous input current is returned. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I392ba8a4180fda5fb03e98a08f3c5bbfa51d6186 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2135962 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* ISL923x: Accept charger chip for prochot functionsDiana Z2020-03-161-2/+3
| | | | | | | | | | | | | | | This commit moves the charger chip number into a parameter for the isl923x driver, so it can be used for boards which use more than one charger chip. BUG=None BRANCH=None TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ibfc7aaf30e2c00be0d1b2171052e15c3098516a7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2101219 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* isl923x: Add isl923x_set_comparator_inversion()Aseda Aboagye2020-02-251-0/+9
| | | | | | | | | | | | | | | | | | This commit adds an API to set the general comparator output polarity inversion. BUG=b:149794574 BRANCH=None TEST=Add some code to waddledoo to exercise this API, build and flash, verify it behaves as expected. Change-Id: Ib412ce9ad0e44e974ee5fc59bc30a26de65c94c5 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2067169 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>
* Charger: Create charger driver structureDiana Z2020-01-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With upcoming boards which use multiple charger chips, the EC codebase needs to be changed to assume chargers may have different I2C ports. This commit creates the driver structure and wrapper functions, which for now are hard-coded to chip 0 for equivalent behavior with previous code. A general charger config is created for all boards in charger.c for now, which uses the build information to fill in the structure. All boards will default to defining CONFIG_CHARGER_SINGLE_CHIP, which in turn defines a CHARGER_SOLO which can be used by drivers which have code that needs to determine charger numbers. For boards which have multiple chips, they may undefine this config and should generate build errors if their driver is still using the hardcoded charger reference of CHARGER_SOLO. Older drivers may continue using CHARGER_SOLO in non-static functions until they're needed in a multiple charger board. For boards which may be supporting different I2C configurations for the charger over board versions, they may define CONFIG_CHARGER_RUNTIME_CONFIG to fill in these fields after boot. BRANCH=none BUG=b:147672225 TEST=builds, chargers on hatch and octopus work Change-Id: I390ede494226252e512595c48099fa1288ffe93e Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2008451 Reviewed-by: Jett Rink <jettrink@chromium.org>
* charger: Add support for RAA489000Aseda Aboagye2020-01-181-2/+30
| | | | | | | | | | | | | | | | | | | | | The RAA489000 is a narrow voltage direct charging buck boost charger with an integrated USB Type-C Port Controller. The charger IC portion is very similar to the existing Intersil 923x chargers therefore, support for the RAA489000 is being added to that existing driver. BUG=b:147316511 BRANCH=None TEST=Enable on waddledoo, flash and verify that we can talk to the charger. TEST=With other patches, verify that DUT can charge a battery. Change-Id: I7788eb67f0181dd540e20db862a1ab5788f2099c Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1995440 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* isl923x: Check max current in isl923x_set_dc_prochotKo2019-07-261-2/+7
| | | | | | | | | | | | | | | | | | The DCProchot register takes a value in multiple of 128 up to 12800 mA. This patch makes isl923x_set_dc_prochot return error when a value exceeding the max is passed. Signed-off-by: Ko Ko <ko_ko@compal.corp-partner.google.com> BUG=b/130387567 BRANCH=Nami TEST=buildall Change-Id: If2155d7fc74c1491bf7c0a742ba8356c268a94a7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1716673 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
* isl923x: Check max current in isl923x_set_ac_prochotDaisuke Nojiri2019-07-241-11/+6
| | | | | | | | | | | | | | | | | | | | | The ACProchot register takes a value in multiple of 128 up to 6400 mA. This patch makes isl923x_set_ac_prochot return error when a value exceeding the max is passed. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/130387567 BRANCH=Nami TEST=buildall Change-Id: I1854f091d6ee7eb042fefeff35094abeca452c2f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1669796 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* Remove __7b, __8b and __7bfDenis Brockus2019-07-201-2/+2
| | | | | | | | | | | | | | | | | | | The extentions were added to make the compiler perform most of the verification that the conversion was being done correctly to remove 8bit addressing as the standard I2C/SPI address type. Now that the compiler has verified the code, the extra extentions are being removed BUG=chromium:971296 BRANCH=none TEST=make buildall -j TEST=verify sensor functionality on arcada_ish Change-Id: I36894f8bb9daefb5b31b5e91577708f6f9af2a4f Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1704792 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* Use 7bit I2C/SPI slave addresses in ECDenis Brockus2019-07-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Opt for 7bit slave addresses in EC code. If 8bit is expected by a driver, make it local and show this in the naming. Use __7b, __7bf and __8b as name extensions for i2c/spi addresses used in the EC codebase. __7b indicates a 7bit address by itself. __7bf indicates a 7bit address with optional flags attached. __8b indicates a 8bit address by itself. Allow space for 10bit addresses, even though this is not currently being used by any of our attached devices. These extensions are for verification purposes only and will be removed in the last pass of this ticket. I want to make sure the variable names reflect the type to help eliminate future 7/8/7-flags confusion. BUG=chromium:971296 BRANCH=none TEST=make buildall -j Change-Id: I2fc3d1b52ce76184492b2aaff3060f486ca45f45 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1699893 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* Nami: Add Adapter PROCHOT SettingKo2019-06-201-0/+16
| | | | | | | | | | | | | | | Currently, we use default current, 3.072A for adapter current PROCHOT# threshold, add higher prochot current to improve performance on Nami. BUG=b:130387567 BRANCH=Nami TEST=Verify Nami ac prochot set to 0XD00 (3328mA) during initial. Change-Id: Iee23920b3fd3ee76d3d12716d6381062183413cc Signed-off-by: Ko <ko_ko@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1628631 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* common: replace 1 << digits, with BIT(digits)Gwendal Grignou2019-03-261-39/+39
| | | | | | | | | | | | | | | | Requested for linux integration, use BIT instead of 1 << First step replace bit operation with operand containing only digits. Fix an error in motion_lid try to set bit 31 of a signed integer. BUG=None BRANCH=None TEST=compile Change-Id: Ie843611f2f68e241f0f40d4067f7ade726951d29 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1518659 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* isl923x: initially disable autonomous chargingJett Rink2018-09-171-0/+8
| | | | | | | | | | | | | | | | | | | We do not use autonomous charging since it is automatically disabled when ever we set the current limits manually (which we always do). Allowing autonomous charging for the short period during initialization can cause current over protection events on devices with 2S batteries. BRANCH=none BUG=b:114318779 TEST=meep can boot without battery from daughter board USB-C port without boot looping Change-Id: Id50517d7e34bb5be171fe8b781b3ccf835db1f88 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1227411 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Justin TerAvest <teravest@chromium.org>
* Nami: Reduce buck-boost mode switching frequency of isl9238Daisuke Nojiri2018-06-181-0/+6
| | | | | | | | | | | | | | | | | This patch reduces buck-boost mode switching frequency of isl9238 to half. This should reduce the heat generated from the charger. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:80448805 BRANCH=none TEST=make BOARD=nami Change-Id: I38a12d60f562d828a7d186e43791a8b6aedc2500 Reviewed-on: https://chromium-review.googlesource.com/1095429 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* isl9238: Don't reread PROG pin or reload ILIM.Aseda Aboagye2017-11-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | The ISL9238 has a functionality where it will reload the adapter current limit from a strap which is read from the PROG pin. This is problematic when we decide to set the current limit prior to AC actually being inserted. This commit disables this functionality from the charger. It seems however that the charger will read the PROG pin and reload the ILIM at least once before respecting the bits. BUG=b:67120928, b:66017697 BRANCH=None TEST=Plug and unplug and then plug again AC. Verify that the default current limit is not set by the charger automatically. Change-Id: Ia8e8742843f6ceb286635b31e0fe5c070a2b6dfe Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/759693 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Shamile Khan <shamile.khan@intel.corp-partner.google.com> Reviewed-by: Shawn N <shawnn@chromium.org>
* isl9238: Raise min input voltage limit.Aseda Aboagye2017-11-131-0/+4
| | | | | | | | | | | | | | | | | | | | The ISL9238 has functionality for a input voltage regulation loop. By default, the regulation reference voltage is set to 4096mV, however we can be kinder to chargers by raising this regulation reference. In testing, there appears to be insignificant change in current pulled at the higher limit. BUG=b:67964166 BRANCH=None TEST=Flash a board with a ISL9238, verify that 0x4b reads as 0x0d00. TEST=make -j buildall Change-Id: I920c4b922106fca3001f2759cad0479a368f735b Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/745527 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* isl9238: Add support for providing power using OTGNicolas Boichat2017-10-201-2/+8
| | | | | | | | | | | BRANCH=none BUG=b:66575472 TEST=Flash lux and wand, wand can provide power to lux. Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Change-Id: I59091c509b78bacf9f382550ab380a77fbf68ba9 Reviewed-on: https://chromium-review.googlesource.com/725122 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* isl9238: Add support for battery discharging BMON current monitorNicolas Boichat2017-01-241-1/+7
| | | | | | | | | | | | | | | | | | | | ISL9238 is able to measure currents when battery is discharging (like ISL9237), and charging (new feature). Reverse AMON (OTG output current) is also supported by ISL9238, but isn't very interesting on our boards. BRANCH=none BUG=chrome-os-partner:61166 TEST=Plug charger, "amon" in EC console, check that values match current meter + "battery" information. Unplug charger, values match "battery" information. Change-Id: I9ecae6bec9e2049d17ef1a4596dbd4e3ff59919e Reviewed-on: https://chromium-review.googlesource.com/430474 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* charger: isl923x: Add support for ISL9238Nicolas Boichat2017-01-051-0/+264
ISL9237 and ISL9238 are almost identical, with few register changes, let's make the driver generic, to support both chargers. BRANCH=none BUG=chrome-os-partner:61166 TEST=make buildall -j Change-Id: I029894dd62ab7e45897d877289707ee8c1ff1d09 Reviewed-on: https://chromium-review.googlesource.com/422197 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>