charger:support typec high 2A current at non-turbo product

Support drive 2A current from type-c high charger
at non-support turbo charger project

Change-Id: Id41a4a307b519e6ae23dce1503de81386a77671c
Signed-off-by: xuwei9 <xuwei9@mt.com>
Reviewed-on: https://gerrit.mot.com/1750006
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
(cherry picked from commit f70893606fbb3b7d9a074cdd382aa977a797745e)
Reviewed-on: https://gerrit.mot.com/1751199
This commit is contained in:
xuwei9 2020-09-15 18:26:09 +08:00 committed by caoqian4
parent 8c308c2359
commit e84922711e
2 changed files with 14 additions and 8 deletions

View file

@ -4081,11 +4081,7 @@ static int smblib_get_prop_ufp_mode(struct smb_charger *chg)
return POWER_SUPPLY_TYPEC_SOURCE_MEDIUM;
case SNK_DAM_3000MA_BIT:
case SNK_RP_3P0_BIT:
if (chg->hvdcp_disable){
return POWER_SUPPLY_TYPEC_SOURCE_MEDIUM;
} else {
return POWER_SUPPLY_TYPEC_SOURCE_HIGH;
}
return POWER_SUPPLY_TYPEC_SOURCE_HIGH;
case SNK_RP_SHORT_BIT:
return POWER_SUPPLY_TYPEC_NON_COMPLIANT;
default:
@ -5443,7 +5439,10 @@ int smblib_get_charge_current(struct smb_charger *chg,
current_ua = TYPEC_MEDIUM_CURRENT_UA;
break;
case POWER_SUPPLY_TYPEC_SOURCE_HIGH:
current_ua = TYPEC_HIGH_CURRENT_UA;
if(chg->hvdcp_disable)
current_ua = TYPEC_HIGH_CURRENT_UA_NON_HVDCP;
else
current_ua = TYPEC_HIGH_CURRENT_UA;
break;
case POWER_SUPPLY_TYPEC_NON_COMPLIANT:
case POWER_SUPPLY_TYPEC_NONE:
@ -9943,7 +9942,10 @@ void mmi_chrg_rate_check(struct smb_charger *chip)
if (chip->typec_mode == POWER_SUPPLY_TYPEC_SOURCE_HIGH ||
mmi->hvdcp3_con) {
mmi->charger_rate = POWER_SUPPLY_CHARGE_RATE_TURBO;
if(chip->hvdcp_disable)
mmi->charger_rate = POWER_SUPPLY_CHARGE_RATE_NORMAL;
else
mmi->charger_rate = POWER_SUPPLY_CHARGE_RATE_TURBO;
goto end_rate_check;
}
@ -10295,7 +10297,10 @@ static void mmi_heartbeat_work(struct work_struct *work)
cl_cc = 1500;
break;
case POWER_SUPPLY_TYPEC_SOURCE_HIGH:
cl_cc = 3000;
if(chip->hvdcp_disable)
cl_cc = 2000;
else
cl_cc = 3000;
break;
case POWER_SUPPLY_TYPEC_SINK_AUDIO_ADAPTER:
cl_cc = 500;

View file

@ -113,6 +113,7 @@ enum print_reason {
#define TYPEC_DEFAULT_CURRENT_UA 900000
#define TYPEC_MEDIUM_CURRENT_UA 1500000
#define TYPEC_HIGH_CURRENT_UA 3000000
#define TYPEC_HIGH_CURRENT_UA_NON_HVDCP 2000000 // defined for non-support hvdcp project, only drive 2A current from type-c HIGH
#define DCIN_ICL_MIN_UA 100000
#define DCIN_ICL_MAX_UA 1500000
#define DCIN_ICL_STEP_UA 100000