锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

[RK3399]解决type-c无法连接adb

时间:2023-01-31 01:00:00 c电源连接器r

Platform: ROCKCHIP
Chip: RK3399
OS: Android7.1.2
Kernel: 4.4.126

现象

正常板接入type-c的打印如下
在这里插入图片描述
接入手中调试的板type-c的打印如下

RK3399的type-c原理

RK3399 SoC 内部 4 个 USB 控制器与 USB PHY 如下图所示 。
DP 是指 Display Port 控制器,DP 与 USB 3.0 共用 Type-C PHY。一个完整的type-C 功能,是由 Type-C USB 3.0 PHY & DP PHY 和 USB 2.0 OTG PHY 这两部分由两部分组成PHY
芯片内的硬件模块是独立的,电源是独立的。

修改

主要用于修改dts里,关于host使能模块和fusb的管脚绑定
1.原理图 usb2.0 Port,找到对应dts,绑定其管脚


 vcc5v0_host: vcc5v0-host-regulator { 
           compatible = "regulator-fixed";   enable-active-high;   gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;//host的enable管脚   pinctrl-names = "default";   pinctrl-0 = <&host_vbus_drv>;   regulator-name = "vcc5v0_host";   regulator-always-on;  }; 
 usb2 { 
           host_vbus_drv: host-vbus-drv { 
            rockchip,pins =     <4 28 RK_FUNC_GPIO &pcfg_pull_none>;   };  }; 

2.原理图USB Type-C Port:type-c 的int找到相应的管脚和电源管脚dts,绑定其管脚




 fusb0: fusb30x@22 { 
           compatible = "fairchild,fusb302";   reg = <0x22>;   pinctrl-names = "default"/span>; pinctrl-0 = <&fusb0_int>; int-n-gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; vbus-5v-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; status = "okay"; }; 

	fusb30x { 
        
		fusb0_int: fusb0-int { 
        
			rockchip,pins = <1 24 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

备注:其中要注意的是INT#引脚,,当有usb插拔时,INT#会被拉低,以通知cpu通过I2C去读取USB状态信息,如果dts中gpio配置得不对,usb也将无法被识别

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章