Skip to content

Commit ecfd048

Browse files
power-xsfrkhuangtao
authored andcommitted
power: rk817_charger: the system voltage can't be shutdown in bat_off mode
Change-Id: I4d2edc98fd6397a09527d500096f29a0b9f068ff Signed-off-by: shengfei Xu <xsf@rock-chips.com>
1 parent 1cb7b3e commit ecfd048

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

drivers/power/rk817_charger.c

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,11 @@ static void rk817_charge_usb_to_sys_enable(struct rk817_charger *charge)
533533
rk817_charge_field_write(charge, USB_SYS_EN, ENABLE);
534534
}
535535

536+
static void rk817_charge_sys_can_sd_disable(struct rk817_charger *charge)
537+
{
538+
rk817_charge_field_write(charge, SYS_CAN_SD, DISABLE);
539+
}
540+
536541
static int rk817_charge_get_charge_status(struct rk817_charger *charge)
537542
{
538543
int status;
@@ -693,15 +698,18 @@ static void rk817_charge_set_term_current_analog(struct rk817_charger *charge,
693698
{
694699
int value;
695700

696-
if (chrg_current < 150)
697-
chrg_current = 150;
698-
if (chrg_current > 400)
699-
chrg_current = 400;
701+
if (chrg_current < 200)
702+
value = CHRG_TERM_150MA;
703+
else if (chrg_current < 300)
704+
value = CHRG_TERM_200MA;
705+
else if (chrg_current < 400)
706+
value = CHRG_TERM_300MA;
707+
else
708+
value = CHRG_TERM_400MA;
700709

701-
value = (chrg_current - 150) / 50;
702710
rk817_charge_field_write(charge,
703711
CHRG_TERM_ANA_SEL,
704-
CHRG_TERM_150MA + value);
712+
value);
705713
}
706714

707715
static void rk817_charge_set_term_current_digital(struct rk817_charger *charge,
@@ -1257,7 +1265,7 @@ static void rk817_charge_pre_init(struct rk817_charger *charge)
12571265
rk817_charge_set_chrg_finish_condition(charge);
12581266

12591267
rk817_charge_otg_disable(charge);
1260-
1268+
rk817_charge_sys_can_sd_disable(charge);
12611269
rk817_charge_usb_to_sys_enable(charge);
12621270
rk817_charge_enable_charge(charge);
12631271

0 commit comments

Comments
 (0)