At implementation of charging support for Lenovo Yoga Book (Intel Cherry
Trail based with Whiskey Cove PMIC), two pitfalls were found:
- for detection of charger type by PMIC, bit 6 in the CHGRCTRL1 register
should be set in 0 (and set to 1 for Host mode). Pick up its definition
and logic from from Intel code drop[1];
- "#CHARGE ENABLE" signal of external charger (bq25892) in Yoga Book is
connected to one of PMIC outputs controlled by CHGDISCTRL register.
Enable charging at driver initialization. Pick up this from Lenovo's code
drop[2,3].
v3 changes:
- Don't restore of initial state of CHGDISCTRL and CHGRCTRL0 at exit but
switch them into HW-controlled mode (as discussed in mailing list);
- Use regmap_update_bits() instead of regmap_readi()/regmap_write() in
the cht_wc_extcon_set_otgmode();
- Coding style and constant names changed as Andy and Hans recommended.