[FAQ06610][USB] USB OTG功能如何打开及实现
[Description]
USB OTG功能如何打开及实现
[Keyword]
USB OTG U盘 U-disk 键盘 Keyboard 鼠标 Mouse PTP devcice
[Solution]
一、检查HW原理图,确认是否支持OTG功能(vbus是否供上电,IDDIG pin连接是否正确)
二、若HW确认支持OTG功能,则按照以下方法分别打开USB OTG功能及实现挂载:
如何打开USB OTG功能:
1).在alps/mediatek/config/[project]/autoconfig/kconfig/project中打开
CONFIG_USB_MTK_OTG和CONFIG_USB_MTK_HDRC_HCD
CONFIG_USB_MTK_OTG =y
CONFIG_USB_MTK_HDRC_HCD = y
2).在dws中设定OTG VBUS对应的输出控制pin配置为GPIO模式,var name为
GPIO_OTG_DRVVBUS_PIN。再设定IDDIG pin默认模式为IDDIG,var name为
GPIO_OTG_IDDIG_EINT_PIN
如何实现挂载:
1).alps/mediatek/config/[project]/起始位置处添加如下内容
对于KK以前的版本:
on early-init
xml文件怎么打开mkdir /mnt/usbotg 0000 system system
对于KK(包含)以后的版本:
on init
mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw
mkdir /storage/usbotg 0700 root root
2).fstab文件末尾添加如下一行
对于KK以前的版本:
修改alps/mediatek/config/[project]/vold.fstab
dev_mount usbotg /mnt/usbotg auto /devices/platform/mt_usb
对于KK(包含)以后的版本:
修改alps/mediatek/config/[project]/fstab
/devices/platform/mt_usb auto vfat defaults voldmanaged=usbotg:auto
3).l添加如下一个xml节点
对于KK以前的版本:
<storage android:mountPoint="/mnt/usbotg"
android:storageDescription="@string/storage_external_usb"
android:removable="true"
android:primary="false" />
对于KK(包含)以后的版本:
<storage android:mountPoint="/storage/usbotg"
android:storageDescription="@string/storage_external_usb"
android:removable="true"
android:primary="false" />
备注:具体修改哪个路径下的l文件,需要根据ProjectConfig.mk中的
resource_overlay_support的值来定
对于JB3以下版本,
如果RESOURCE_OVERLAY_SUPPORT的值为generic ==>> 则修改
alps/mediatek/custom/[project]/resource_overlay/generic/frameworks/base/core/res/res/xml
/l
如果RESOURCE_OVERLAY_SUPPORT的值为空 ==>> 则修改
alps/framework/base/core/res/res/xml/l
对于JB3(包含)以上版本,RESOURCE_OVERLAY_SUPPORT的值可根据需要配置为sd_in_ex_otg、
sd_ex_otg,则无需再修改该文件
对应文件在
alps/mediatek/custom/common/sd_in_ex_otg/resource_overlay/generic/frameworks/base/core/r
es/res/xml/l或
alps/mediatek/custom/common/sd_ex_otg/resource_overlay/generic/frameworks/base/core/res/
res/xml/l
[Attention]
目前USB OTG功能只支持U盘(FAT格式+一个分区)、Keyboard、Mouse、PTP device
发布评论