问题描述:
插入部分Type-C,提示:fusb302 1-0022: connection has disconnected ,
引起原因是type-c口默认使用的OTG控制器,OTG线与常用的type-c数据线并不相同,普通的type-c充电线CC管脚通过56K电阻上拉到vbus,而OTG数据线通常是通过5.1K电阻下拉到地,因此主板电路,在插入OTG线时,将CC管脚的电平通过MOS管和三极管到ID管脚检测为0V,而插入普通充电线时,ID管脚检测大于1.8V即可。
RK平台可以按如下修改:kernel\drivers\mfd\fusb302.c
static int tcpm_get_cc(struct fusb30x_chip *chip, int *cc1, int *cc2)
{
if (CC_STATE_ROLE(chip) == CC_STATE_TOGSS_IS_UFP) {
*cc1 = tcpm_get_cc_pull_down(chip, TYPEC_ORIENTATION_CC1);
- //*cc2 = tcpm_get_cc_pull_down(chip, TYPEC_ORIENTATION_CC2);
+ if (*cc1 == TYPEC_CC_VOLT_OPEN){
+ *cc2 = tcpm_get_cc_pull_down(chip, TYPEC_ORIENTATION_CC2);
+ } else {
+ *cc2 = TYPEC_CC_VOLT_OPEN;
+ }