@@ -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+
536541static 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
707715static 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