summaryrefslogtreecommitdiff
path: root/driver/bc12
Commit message (Collapse)AuthorAgeFilesLines
* LICENSE: remove unnecessary (c) after CopyrightTom Hughes2019-06-191-1/+1
| | | | | | | | | | | | | | | | Ran the following command: git grep -l 'Copyright (c)' | \ xargs sed -i 's/Copyright (c)/Copyright/g' BRANCH=none BUG=none TEST=make buildall -j Change-Id: I6cc4a0f7e8b30d5b5f97d53c031c299f3e164ca7 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1663262 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* pi3usb9281: Mask OVP, OCP, and recovery interruptsDaisuke Nojiri2019-05-231-3/+3
| | | | | | | | | | | | | | | | | | | | Currently, we're handling only attach and detach interrupt and OVP recovery interrupt causes us to miss detach & attach events. This patch masks all unused interrupts. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/125176293 BRANCH=none TEST=See b/125176293 Change-Id: I8387b96abdc073e608b6373b670cbb684b342736 Reviewed-on: https://chromium-review.googlesource.com/1621881 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* PI3USB9281: Serialize mux setting and BC12 detectionDaisuke Nojiri2019-05-231-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Currently a PD task and a USB charger task can talk to PI3USB9281 to update mux setting and to get BC12 information interleavingly. We suspect this causes unreliable BC12 detection including detach detection. This patch makes the usb_charger_set_switches API schedule a mux update instead of changing the mux setting by itself wakes up a USB charger task. A USB charger task solely handles BC12 detection and mux setting. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/125176293 BRANCH=nami TEST=Verify BC1.2 and PD charger can be detected correctly and power_supply_info prints 'Discharging' when they're disconnected on Syndra. Change-Id: Iadaf9087be74a4ba0412dd08b95a40eac4e69ce1 Reviewed-on: https://chromium-review.googlesource.com/1622293 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* max14637: Add config guard to is_chg_det_activatedScott Collyer2019-04-201-0/+2
| | | | | | | | | | | | | | | | | | | The function is_chg_det_activated() is only called if either CONFIG_CHARGE_RAMP_SW or CONFIG_CHARGE_RAMP_HW are defined. This function should be guarded by these same 2 config options. BUG=b:130197995 BRANCH=none TEST=Verfied that 'make -j BOARD=kohaku' builds successfully which does not have either RAMP_SW or RAMP_HW defined. Change-Id: I223f52413d9e4244d191fd40f0a0a0dd0a933ec2 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1574787 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* bc12: pi3usb9201: Save supplier to update charge managerstabilize-12060.Bstabilize-12058.Bstabilize-12054.BScott Collyer2019-04-051-6/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | When bc1.2 detection is completed, it will update the available charge for the supplier type which was detected. When bc1.2 is powered down (upon CC detach), the charge manager needs to be informed that the available charge for this supplier type is 0, This CL modifies the pi3usb9201 driver to store the most recent bc1.2 detection supplier type for each port. When the bc1.2 chip is powered down, then the charge manager can be properly updated. BUG=b:129435454 BRANCH=none TEST=Connected, then removed charger to both ports 0 and 1. The checked status via ectool: localhost ~ # ectool usbpdpower Port 0: Disconnected Port 1: Disconnected Change-Id: Ic6ae27bb498d2a82389803019f948bc11e3dec23 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1545076 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* common: replace 1 << digits, with BIT(digits)Gwendal Grignou2019-03-262-8/+8
| | | | | | | | | | | | | | | | 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>
* bc12: pi3usb9201: Add 5V rail control for bc1.2 detectionScott Collyer2019-03-141-0/+17
| | | | | | | | | | | | | | | | | | | | In cases where the pi3usb9201 is powered by a 5V rail which depends on the AP power state, bc1.2 detection may not function when the AP is in G3. This CL adds code to enable the PP5000 rail prior to setting the pi3usb9201 into either host or client mode. BUG=b:122265772 BRANCH=none TEST=Verfied that when pi3usb9201 is accessed while AP is in G3 that the i2c messages no longer fail. Prior to this change, bc1.2 detection following EC reboot was always failing. Change-Id: Ic7113ac8086237e109b4b08bca985127c3bacdf4 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1503955 Commit-Ready: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* pi3usb9201: Use USB_CHG data role and cc_open eventsScott Collyer2019-03-142-81/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | The initial version of this driver relied on VBUS changes to wake up the USB_CHG task and trigger bc1.2 detection in client mode or to set CDP host mode. This was modeling the max14637 driver which is a client mode only device. However, the ps3usb9201 supports both host and client modes and should be controlled more directly. This CL modifies the primary triggers for bc1.2 operations to be data role changes to start bc1.2 for either client or host mode and CC open detection as the trigger for power down mode. BUG=b:124612788 BRANCH=none TEST=Tested both external chargers, adapters, and charge through hubs. Verfied that bc1.2 detection is triggered as expected when chargers are connected and verified that when the type C port is in source mode, then the pi3usb9201 is in host CDP mode. Change-Id: I625e82a4b7af4469ba59b8619d498a283ba4849e Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1503954 Commit-Ready: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* driver/bc12/pi3usb9201: move pi3usb9201_mode to header fileTing Shen2019-03-112-14/+15
| | | | | | | | | | | | | | | | | | | | Kukui ec controls pi3usb9201 manually, move the constants to header file so we don't need to redefine them in kukui/board.c. Also removed PI3USB9201_REG_CTRL_1_MODE, no one is using it, and it's actually not a 1-bit flag. BRANCH=None BUG=None TEST=make BOARD=hatch (the only board with CONFIG_BC12_DETECT_PI3USB9201 enabled) Change-Id: I6a8255d29eb960f9002cb9570fed0ee7b7cdc56a Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/1502192 Commit-Ready: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org>
* bc12: Initial driver for pi3usb9201Scott Collyer2019-02-192-0/+336
| | | | | | | | | | | | | | | | | | | | This CL adds support for the PI3USB9201 dual-role BC1.2 charging chip. This chip has an I2C interface and has both host and client mode support. The D+/D- switch control is automatic based on client mode detection result and host mode settings. BUG=b:123995100 BRANCH=none TEST=Verfied that bc1.2 detection occurs following connected a charger and a EC reboot. Verfired that the D+/D- switches are closed in both client and host mode as expected. Change-Id: I3d3a3a05b5387941032cafe0ec4ede7ab7b52d52 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1459821 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* BC1.2: Add usb_charger_reset_charge APIDaisuke Nojiri2019-01-261-11/+2
| | | | | | | | | | | | | | | | | | | This patch adds the sub_charger_reset_charge API, which resets the voltage and the current for all BC 1.2 supplies. This reduces code duplication. There is no functionality changes. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: I21afaff9a3c66b1a81ab5c907e6cdd1f1b3896a0 Reviewed-on: https://chromium-review.googlesource.com/1399204 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* PI3USB9238: Read device type and charge registers after INTB assertionstabilize-11647.70.Bstabilize-11647.104.Brelease-R73-11647.BDaisuke Nojiri2019-01-241-42/+83
| | | | | | | | | | | | | | | | | | | | | | | PI3USB9238 can fail to detect BC 1.2 charger because the initialization timing after reset differs chip to chip. This patch checks the interrupt register in a loop to wait until device type and charger status registers are ready. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/119166282 BRANCH=nami TEST=Verify BC 1.2 chargers are reliably detected as DCP (wall-charger), CDP (type-A port on chromebook), and SDP (type-c port on chromebook) by type-c port of Vayne (via A-to-C cable). Change-Id: I970007723fcff5e2818765705d534d1a581b33e7 Reviewed-on: https://chromium-review.googlesource.com/1399202 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* cheza: Mux the 1st-plugged UFP port which is not a chargerWai-Hong Tam2018-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are 2 USB-C ports. A user may plug a USB-C to USB-A male cable to one of the ports; then EC should mux the port from USB hub to AP's primary USB controller, which is configured to do USB peripheral mode only. The policy is to mux the first-plugged UFP port to AP, with the following exception: * If the partner port does PD and it advertises the USB communications capable bit unset in the fixed-supply PDO, we believe the partner port is a pure charger. * If the BC1.2 chip detects the partner is not a SDP or CDP , we believe the partner port is not a workstation. Check the design doc at: http://go/cheza-hs-mux BRANCH=none BUG=b:74395451, b:110803836 TEST=Check the following scenario: * Plug charger w/ PD to P0, plug C-to-A to P1, check P1 mux to AP. * Plug charger through hub to P0, plug C-to-A to P1, check P1 mux to AP. * Continue the above case, boot into kernel and check USB peripheral mode. * Plug BC1.2 charger to P0, plug C-to-A to P1, check P1 mux to AP. * Plug charger w/o PD to P0, plug C-to-A to P1, check P0 mux to AP. * Swap P0 and P1 for the above cases and check the results. Change-Id: I4034fa66c0b27cc48d0959bb3f1750690ad5e3f7 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/1105404 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* bc12: max14637: Remove PP5000_EN assumptionScott Collyer2018-10-021-6/+2
| | | | | | | | | | | | | | | | | | | | | | | Some boards need to turn on the PP5000 power rail before starting BC 1.2 detection, but others (such as DragonEgg) don't need PP5000 rail control tied to BC 1.2 detection. Previously, either CONFIG_POWER_PP5000_CONTROL had to be defined, or GPIO_PP5000_EN needed to exist in gpio.inc for this driver. This CL removes the PP5000_EN assumption. If PP5000 rail control is required for BC 1.2 detection, then CONFIG_POWER_PP5000_CONTROL must be defined. BUG=b:113267982 BRANCH=none TEST=make -j buildall Change-Id: I65d8d1b1a6f6caf6862d3ff4a3f5469bc827b2c8 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1250032 Commit-Ready: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* bc12: rename bq24392 driver to max14637Scott Collyer2018-10-022-20/+22
| | | | | | | | | | | | | | | | | | | | The MAX14637 BC 1.2 USB charger detection chip is functionally similar to the bq24392 and can use the same driver. Rather than have 2 copies of the same driver, or a generic named driver than can be used for both chips, rename the existing bq24392 driver to max14637 as that's the BC 1.2 chip that our current designs are using. BUG=b:113267982 BRANCH=none TEST=make -j buildall Change-Id: I03cfb4918513d756c2a41341001a8162652a29b6 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1250031 Commit-Ready: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* chgmgr: Allow charge_manager_update_charge to accept NULLDaisuke Nojiri2018-09-202-28/+17
| | | | | | | | | | | | | | | | | | | | | | | | | Currently, charge_manager_update_charge does not handle NULL pointer for struct charge_port_info any differently. It's not sanity-checked either (thus memory access violation can occur). This patch will make charge_manager_update_charge accept NULL pointer and set available current and voltage to zero. This also helps callers' intentions be clear because callers can explicitly specify NULL (instead of passing a pointer to chg = {0}, which is initialized somewhere else). Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: I518662ab6a3a07f93da5d34cf62a6f856884f67d Reviewed-on: https://chromium-review.googlesource.com/1226125 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* chgmgr: Set available voltage to 0 on disconnectDaisuke Nojiri2018-09-201-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, available current is consistently set to zero when a supplier is disconnected across BC 1.2 drivers, PD task, usb charger task but voltage is set to zero only in some places. This patch will set available voltage consistently to 0 on disconnected ports. This change should have no impact externally or internally because currently ports are treated as a disconnected port as long as available current is zero. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=chromium:841944 BRANCH=none TEST=Verify ectool usbpdpower 1 return 'Port 1: Disconnected' and 'Port 1: SNK (not charging)' without and with a BJ adapter connected respectively on Fizz. Verify ectool usbpdpower prints 'Disconnected' and 'SNK Charger PD' on Vayne without and with USB-C charger, respectively. Verify ectool usbpdpower prints 'Disconnected' and 'SNK Charger Type-C' on Vayne without and with a phone USB-C charger, respectively. Change-Id: I9aca575a4a4240ec1f669c55437decaedf758a77 Reviewed-on: https://chromium-review.googlesource.com/1222092 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* yorp: Keep 5V rail high on jump to RWJustin TerAvest2018-04-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The BQ24392 driver controls power on the PP5000_A rail so that BC1.2 detection can be performed when the AP is off. However, that rail is also controlled by the chipset task, so CONFIG_POWER_PP5000_CONTROL needs to be defined to keep 5V rail up when necessary. Calls to power_5v_enable() must only be done when the build has a chipset task (otherwise, that function is not defined). BRANCH=none BUG=b:77874283 TEST=Booted Yorp with software sync enabled Signed-off-by: Justin TerAvest <teravest@chromium.org> Change-Id: Ib75655944aa05e381da922da8e916dc5d4dd9f85 Reviewed-on: https://chromium-review.googlesource.com/1014397 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Divya S Sasidharan <divya.s.sasidharan@intel.com> Reviewed-by: Divya S Sasidharan <divya.s.sasidharan@intel.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* bc12: add support for active low/high on all gpio signalsJett Rink2018-03-092-21/+69
| | | | | | | | | | | | | | yorp inverts both bc12 signals and the bc12 driver needs to handle the inverted logic BRANCH=none BUG=b:74127309 TEST=none Change-Id: I6848375fc652251aecb553c3f53d62a5f775bec4 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/956321 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* driver/bc12/pi3usb9281: Make a few functions staticNicolas Boichat2018-01-031-5/+6
| | | | | | | | | | | | | | | Old oak boards that still use these functions have long been deprecated, let's make the unneeded functions static. BRANCH=none BUG=b:35573263 TEST=make buildall -j => makes newsizes: up to 64 bytes saved on a few boards. Change-Id: I8f2503ce324e34b87b3bbfa3c509079357880c9e Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/848574 Reviewed-by: Shawn N <shawnn@chromium.org>
* grunt: Initial USB PD board code.Edward Hill2017-11-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | Add USB PD tasks and start of board code. Update GPIOs to match V1.2 schematics. Grunt V1.2 USB HW: C0: TCPC ANX3429, Switch SN5S330, BC1.2 BQ24392 C1: TCPC PS8751, Switch SN5S330, BC1.2 BQ24392 A0: SN1702001 A1: SN1702001 Charger: ISL9238 BUG=b:69378796 BRANCH=none TEST=make BOARD=grunt Change-Id: I66918abe3e9452c8d60e51245e730d1bcc168fd3 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/777407 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* pi3usb9281: sync USB switch hardware control with switch stateRong Chang2017-11-131-0/+3
| | | | | | | | | | | | | | | | | When sysjump to another image, if USB switch state and HW switch control are not sychronized, the switch can be left in open state. This CL resets USB switch on init to close USB. BRANCH=oak BUG=b:36234142 TEST=manual plug BC1.2 charger, sysjump to another EC image and unplug the chager. check pi3usb9281 control register(02h) bit2 == 1. Change-Id: Iaadfaf51064ed1508271e974b9caf88b96bbe008 Signed-off-by: Rong Chang <rongchang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/502835 Reviewed-by: Shawn N <shawnn@chromium.org>
* bq24392: Make chip_en active low.Aseda Aboagye2017-10-231-9/+26
| | | | | | | | | | | | | | | | | | | | | | The GPIO that turns on Vbus for the BQ24392 is active low. This commit changes the driver to make it clear that the enable is active low. Additionally, the 5V rail is turned on prior to performing detection and will be turned off if the AP is off. For zoombini, since the chipset task can also control the 5V rail, CONFIG_POWER_PP5000_CONTROL is enabled to do so in a task-safe way. BUG=b:65992382, b:65991615 BRANCH=None TEST=Verify that Vbus is turned on and the BQ24392 can output high on charge detect pin. Change-Id: Ib96ef9736ccc7fa285a3642ec6f3824a1df8f931 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/676762 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* charge_ramp: Move ramp allowed / ilim callbacks to common codeShawn Nematbakhsh2017-10-062-2/+48
| | | | | | | | | | | | | | | | | | | | | The decision on whether to ramp (and how high) depends on the quirks of charger identification, so move the decision out of board, into the drivers that implement usb_charger. Also, rename CONFIG_CHARGE_RAMP to CONFIG_CHARGE_RAMP_SW, to better contrast with the existing CONFIG_CHARGE_RAMP_HW. BUG=None TEST=Manual on kevin, verify ramp occurs when port plugged into Z840 workstation. BRANCH=None Change-Id: I5b395274133837a18a4f4ac34b59b623287be175 Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/702681 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Fix inconsistent task function declarationsStefan Reinauer2017-08-082-2/+3
| | | | | | | | | | | | | | | Tasks are defined inconsistently across the code base. Signed-off-by: Stefan Reinauer <reinauer@google.com> BRANCH=none TEST=make buildall -j, also verify kevin boots to OS BUG=none Change-Id: I19a076395a9a8ee1e457e67a89d80d2f70277c97 Reviewed-on: https://chromium-review.googlesource.com/602739 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* bq24392: Remove unneeded variables.Aseda Aboagye2017-08-041-16/+10
| | | | | | | | | | | | | | | | | | | The variable is_high_power was only used if a board was using charge ramping. However, we can get rid of the variable entirely. Additionally some of the intermediate gpio_signal variables can be removed as well. BUG=none BRANCH=none TEST=Build a board that uses the bq24392 but does not charge ramp. Verify that there are no compliation errors. Change-Id: I7edaa74f5029c08662d8c4a15c973beae9729fdf Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/601533 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* driver: Move PI3USB9281 to bc12 directory.Aseda Aboagye2017-07-311-0/+433
| | | | | | | | | | | | | | | | | | | | The primary purpose of the Pericom PI3USB9281 is for BC1.2 detection. Therefore, move the driver to the bc12/ directory. Additonally, rename the config option to match. CONFIG_USB_SWITCH_PI3USB9281 => CONFIG_BC12_DETECT_PI3USB9281 BUG=None BRANCH=None TEST=`make -j buildall` Change-Id: I02f17064c0625e62d6779f895e69899c24898f74 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/594710 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* driver: Add support for TI BQ24392.Aseda Aboagye2017-07-311-0/+143
The BQ24932 is a dual single-pole single-throw USB 2.0 high-speed isolation switch with charger detection capabilities. The device's charger detection circuitry can support USB Battery Charging Specification version 1.2 (BC1.2), Apple, TomTom, and other non-standard chargers. BUG=None BRANCH=None TEST=`make -j buildall` TEST=Enable support for the BQ24392 on a board. Verify that it complies. Change-Id: I82f426f1eedabdbb6b951a6ce0252135de3368db Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/592133 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>