主题 : Tiny210v2 Linux reboot后 找不到USB设备 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 8892
精华: 0
发帖: 88
金钱: 440 两
威望: 88 点
综合积分: 176 分
注册时间: 2009-09-09
最后登录: 2019-04-07
楼主  发表于: 2013-10-11 10:52

 Tiny210v2 Linux reboot后 找不到USB设备

开发板tiny210v2, Smart210SDK,Linux下重启,不是硬件reset,无法找到USB设备。
系统需要通过USB接3G modem上网, 我们的应用在软件升级后需要系统重启,这样重启后就无法找到modem。无法连接服务器。
搜索论坛有人提过类似问题,但没有给出解决方案。
盼给个线索
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
1楼  发表于: 2013-10-11 17:31
配置内核,关闭 EHCI 驱动试试
级别: 侠客
UID: 8892
精华: 0
发帖: 88
金钱: 440 两
威望: 88 点
综合积分: 176 分
注册时间: 2009-09-09
最后登录: 2019-04-07
2楼  发表于: 2013-10-15 16:01

 已解决Re:Tiny210v2 Linux reboot后 找不到USB设备

下载最新Android linux-3.0.8-20130722.tgz内核后,看到 arch/arm/mach-s5pv210/setup-usb-phy.c + 87 处已经注释掉了, 强制执行以下语句。问题解决

  if (type == S5P_USB_PHY_HOST) {
#if 0 /* Always do USB reset to fix issue on soft reboot */
    if (readl(S5P_USB_PHY_CONTROL) & (0x1<<1))
      return -1;
#endif

    __raw_writel(__raw_readl(S5P_USB_PHY_CONTROL) | (0x1<<1),
        S5P_USB_PHY_CONTROL);
    __raw_writel((__raw_readl(S3C_USBOTG_PHYPWR)
          & ~(0x1<<7) & ~(0x1<<6)) | (0x1<<8) | (0x1<<5),
        S3C_USBOTG_PHYPWR);
    __raw_writel((__raw_readl(S3C_USBOTG_PHYCLK) & ~(0x1<<7)) | (0x3<<0),
        S3C_USBOTG_PHYCLK);
    __raw_writel((__raw_readl(S3C_USBOTG_RSTCON)) | (0x1<<4) | (0x1<<3),
        S3C_USBOTG_RSTCON);
    udelay(10);

    __raw_writel(__raw_readl(S3C_USBOTG_RSTCON) & ~(0x1<<4) & ~(0x1<<3),
        S3C_USBOTG_RSTCON);

    host_phy_initialized++;
  }