1. Code Overview
高通SDX12平台使用synopsys dwc3的USB3.0控制器IP。早期的初始化是分两部分进行的,一个在高通官方提供的驱动中初始化,位于kernel/msm-5.4/drivers/usb/dwc3/dwc3-msm.c文件中,主要初始化和CPU相关的内容,比如clk、reset、pm、extcon(用于USB模式切换);另一个在synopsys提供的驱动中初始化,位于kernel/msm-5.4/drivers/usb/dwc3/core.c文件中,这部分和USB3.0控制器密切相关,如USB3.0控制器内部reg addr、USB3.0的PHY、interrupt等。只有两个模块都初始化完毕后,USB3.0的控制器才能正常工作。
2. DeviceTree
&usb3 {
extcon = <&usb_detect