ab8500-charger: Do not touch VBUSOVV bits
Do not touch the VBUSOVV in USBCHTRL2 when running on AB8505. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Reviewed-by: Marcus COOPER <marcus.xm.cooper@stericsson.com> Tested-by: Mian Yousaf KAUKAB <mian.yousaf.kaukab@stericsson.com>
This commit is contained in:
parent
1a793a1089
commit
0ed5107fa8
@ -2671,13 +2671,23 @@ static int ab8500_charger_init_hw_registers(struct ab8500_charger *di)
|
||||
}
|
||||
}
|
||||
|
||||
/* VBUS OVV set to 6.3V and enable automatic current limitiation */
|
||||
ret = abx500_set_register_interruptible(di->dev,
|
||||
AB8500_CHARGER,
|
||||
AB8500_USBCH_CTRL2_REG,
|
||||
VBUS_OVV_SELECT_6P3V | VBUS_AUTO_IN_CURR_LIM_ENA);
|
||||
if (is_ab9540_2p0(di->parent) || is_ab8505_2p0(di->parent))
|
||||
ret = abx500_mask_and_set_register_interruptible(di->dev,
|
||||
AB8500_CHARGER,
|
||||
AB8500_USBCH_CTRL2_REG,
|
||||
VBUS_AUTO_IN_CURR_LIM_ENA,
|
||||
VBUS_AUTO_IN_CURR_LIM_ENA);
|
||||
else
|
||||
/*
|
||||
* VBUS OVV set to 6.3V and enable automatic current limitation
|
||||
*/
|
||||
ret = abx500_set_register_interruptible(di->dev,
|
||||
AB8500_CHARGER,
|
||||
AB8500_USBCH_CTRL2_REG,
|
||||
VBUS_OVV_SELECT_6P3V | VBUS_AUTO_IN_CURR_LIM_ENA);
|
||||
if (ret) {
|
||||
dev_err(di->dev, "failed to set VBUS OVV\n");
|
||||
dev_err(di->dev,
|
||||
"failed to set automatic current limitation\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -346,4 +346,23 @@ static inline int is_ab8500_2p0(struct ab8500 *ab)
|
||||
return (is_ab8500(ab) && (ab->chip_id == AB8500_CUT2P0));
|
||||
}
|
||||
|
||||
static inline int is_ab8505_1p0_or_earlier(struct ab8500 *ab)
|
||||
{
|
||||
return (is_ab8505(ab) && (ab->chip_id <= AB8500_CUT1P0));
|
||||
}
|
||||
|
||||
static inline int is_ab8505_2p0(struct ab8500 *ab)
|
||||
{
|
||||
return (is_ab8505(ab) && (ab->chip_id == AB8500_CUT2P0));
|
||||
}
|
||||
|
||||
static inline int is_ab9540_1p0_or_earlier(struct ab8500 *ab)
|
||||
{
|
||||
return (is_ab9540(ab) && (ab->chip_id <= AB8500_CUT1P0));
|
||||
}
|
||||
|
||||
static inline int is_ab9540_2p0(struct ab8500 *ab)
|
||||
{
|
||||
return (is_ab9540(ab) && (ab->chip_id == AB8500_CUT2P0));
|
||||
}
|
||||
#endif /* MFD_AB8500_H */
|
||||
|
Loading…
Reference in New Issue
Block a user