• 如何打开USB OTG功能:


    一、检查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]/init.project.rc起始位置处添加如下内容
    对于KK以前的版本:
    on early-init
        mkdir /mnt/usbotg 0000 system system
    对于KK(包含)以后的版本:
    #需要特别注意的是,这里是要另外添加on init,不是加在on early-init:
    on init
        mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw
        mkdir /storage/usbotg 0700 root root
    ...
    #service加在on boot:
    on boot
    service fuse_usbotg /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/usbotg /storage/usbotg
        class late_start
        disabled
    #
    # Connectivity related services (Begin)
    #
    2).fstab文件末尾添加如下一行
    对于KK以前的版本:
    修改alps/mediatek/config/[project]/vold.fstab
    dev_mount usbotg /mnt/usbotg auto /devices/platform/mt_usb
    对于KK(包含)以后的版本(注意,这里的fstab文件如果[project]中没有,从common中拷贝一个过来对应修改即可):
    修改alps/mediatek/config/[project]/fstab
    /devices/platform/mt_usb auto vfat  defaults voldmanaged=usbotg:auto
    3).storage_list.xml添加如下一个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" />
    备注:具体修改哪个路径下的storage_list.xml文件,需要根据ProjectConfig.mk中的resource_overlay_support的值来定
    对于JB3以下版本,
    如果RESOURCE_OVERLAY_SUPPORT的值为generic  ==>>  则修改alps/mediatek/custom/[project]/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml
    如果RESOURCE_OVERLAY_SUPPORT的值为空  ==>> 则修改alps/framework/base/core/res/res/xml/storage_list.xml
    对于JB3(包含)以上版本,RESOURCE_OVERLAY_SUPPORT的值可根据需要配置为sd_in_ex_otg或sd_ex_otg,则无需再修改该文件
    sd_in_ex_otg或sd_ex_otg分别表示内卡+外卡+otg或外卡+otg
    对应文件分别在alps/mediatek/custom/common/sd_in_ex_otg/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml或alps/mediatek/custom/common/sd_ex_otg/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml
     
    [Attention]
    目前USB OTG功能只支持U盘(FAT格式+一个分区)、Keyboard、Mouse、PTP device

  • 相关阅读:
    android的窗口创建过程
    android的Binder
    Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释
    android的事件分发测试结果
    Don't Store Data in the Application Object
    关于算法
    自定义控件其实很简单3/4
    自定义控件其实很简单2/3
    建设一个能承受500万PV/每天的网站
    strust2里面package的元素排列顺序
  • 原文地址:https://www.cnblogs.com/senior-engineer/p/4853606.html
Copyright © 2020-2023  润新知