RK3566 AndroidR usb otg host和peripheral切换软件手动切换,写/sys/devices/platform/fe8a0000.usb2-phy/otg_mode

一、先看OTG口USB的原理图,OTG控制器可以做host,也能做device,控制器的角色一般由USB ID电平来决定,会由个USB_OTG0_ID pin识别。RK3566 AndroidR usb otg host和peripheral切换软件手动切换,写/sys/devices/platform/fe8a0000.usb2-phy/otg_mode_第1张图片

RK3566 AndroidR usb otg host和peripheral切换软件手动切换,写/sys/devices/platform/fe8a0000.usb2-phy/otg_mode_第2张图片

二、通过读取/sys/devices/platform/fe8a0000.usb2-phy/otg_mode的值就可以知道当前的状态。测试发现,接U盘的时候可以识别U盘,otg_mode的值是otg;连着PC机读机子的存储和连接adb的时候该值也是otg。设置为host的也可以识别U盘。

RK3566 AndroidR usb otg host和peripheral切换软件手动切换,写/sys/devices/platform/fe8a0000.usb2-phy/otg_mode_第3张图片

 三、如果没有USB_OTG0_ID,可以用软件上写/sys/devices/platform/fe8a0000.usb2-phy/otg_mode的值就可以更改做host还是peripheral。

RK3566 AndroidR usb otg host和peripheral切换软件手动切换,写/sys/devices/platform/fe8a0000.usb2-phy/otg_mode_第4张图片

四、看一下底层的驱动

RK3566 AndroidR usb otg host和peripheral切换软件手动切换,写/sys/devices/platform/fe8a0000.usb2-phy/otg_mode_第5张图片

 

你可能感兴趣的:(Android,单片机,stm32,嵌入式硬件)