[i.MX] i.mx6Uboot支持USB(已解决)

[复制链接]
4839|19
 楼主| mx_jack 发表于 2014-4-16 18:49 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_imx 于 2014-5-6 17:58 编辑

最近再做imx6平台,uboot下的usb支持问题,加入usb命令是编译一直不能通过。。。:'(
FSL_TICS_ZJJ 发表于 2014-4-17 09:49 | 显示全部楼层
楼主你好,你的问题已经转交给我们的i.MX工程师,他会回答你,请耐心等待!
FSL_TICS_Rita 发表于 2014-4-18 14:55 | 显示全部楼层
楼主你好,你是否可以把你的环境描述的清楚一些呢?你用的板子是哪块板子?以及板子上跑的是Linux还是android?
FSL_TICS_Rita 发表于 2014-4-18 14:55 | 显示全部楼层
还有你是如何操作的?
 楼主| mx_jack 发表于 2014-4-18 17:21 | 显示全部楼层
FSL_TICS_Rita 发表于 2014-4-18 14:55
还有你是如何操作的?

是飞思卡尔i.MX 6Quqd Sabrelite开发板,跑的是android
在U-Boot中,在include/configs/mx6q_sabrelite_android.h添加了支持USB命令的宏定义
  1. #define CONFIG_CMD_USB
  2. #define CONFIG_USB_STORAGE
  3. #define CONFIG_USB_EHCI
  4. #define CONFIG_USB_EHCI_FSL
  5. #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
  6. #define CONFIG_SYS_FLS_USDHC_NUM 4
  7. #define CONFIG_DOS_PARTITION 1
  8. #define CONFIG_CMD_FAT 1

然后修改了了driver/usb/host/ehic-fsl.c文件的int ehci_hcd_init(void)
  1. int ehci_hcd_init(void)
  2. {
  3. struct usb_ehci *ehci;

  4. //ehci = (struct usb_ehci *)CONFIG_SYS_MPC8xxx_USB_ADDR;
  5. ehci = (struct usb_ehci *)0x02184200;
  6. hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
  7. hcor = (struct ehci_hcor *)((uint32_t) hccr +
  8. HC_LENGTH(ehci_readl(&hccr->cr_capbase)));

  9. /* Set to Host mode */
  10. /*
  11. setbits_le32(&ehci->usbmode, CM_HOST);
  12. out_be32(&ehci->snoop1, SNOOP_SIZE_2GB);
  13. out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
  14. */
  15.          
  16. /* Init phy */
  17. /*
  18. if (!strcmp(getenv("usb_phy_type"), "utmi"))
  19. out_le32(&(hcor->or_portsc[0]), PORT_PTS_UTMI);
  20. else
  21. out_le32(&(hcor->or_portsc[0]), PORT_PTS_ULPI);
  22. */
  23. /* Enable interface. */
  24. /*
  25.        setbits_be32(&ehci->control, USB_EN);

  26. out_be32(&ehci->prictrl, 0x0000000c);
  27. out_be32(&ehci->age_cnt_limit, 0x00000040);
  28. out_be32(&ehci->sictrl, 0x00000001);

  29. in_le32(&ehci->usbmode);*/
  30. return 0;
  31. }

由于编译不能通过所以就屏蔽了后面部分,结果就出现了
U-Boot > usb start
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices...
FSL_TICS_Rita 发表于 2014-4-21 14:54 | 显示全部楼层
楼主你好,关于你帖中提到的问题,目前飞思卡尔官网没有相关的文档和实现的案例,这里建议你到飞思卡尔的官方网站论坛上创建一个帖中来提问一下,因为该论坛有来自世界各地的工程师,看他们是否有更好的建议,链接为:https://community.freescale.com/community/imx/。这里建议你用英文发。
 楼主| mx_jack 发表于 2014-4-21 16:01 | 显示全部楼层
已解决:victory:
 楼主| mx_jack 发表于 2014-4-21 16:02 | 显示全部楼层
已解决:victory:
FSL_TICS_Rita 发表于 2014-4-21 16:19 | 显示全部楼层
mx_jack 发表于 2014-4-21 16:01
已解决

请问楼主是如何解决的,可否分享一下解决办法?:)
 楼主| mx_jack 发表于 2014-5-4 09:59 | 显示全部楼层
新版本UBOOT已经支持USB了
FSL_TICS_Rita 发表于 2014-5-4 11:32 | 显示全部楼层
mx_jack 发表于 2014-5-4 09:59
新版本UBOOT已经支持USB了

Great!
FSL_TICS_Rita 发表于 2014-5-4 11:33 | 显示全部楼层
楼主你好,如果你的问题已经解决麻烦帮我们把该贴结了,非常感谢。结贴方式参考:本论坛中结贴方式
weisy5 发表于 2014-5-29 10:32 | 显示全部楼层
请问imx6q sabrelite uboot支持USB吗  
lqland 发表于 2014-5-29 11:08 | 显示全部楼层
mx_jack 发表于 2014-5-4 09:59
新版本UBOOT已经支持USB了

Hi mx-jack
我现在用的U-BOOT是u-boot-2009.08
你所说的新版u-boot是指哪一版?
你的意思,你已修改新版的u-boot并已适用于I.MX开发板了?
FSL_TICS_Rita 发表于 2014-5-29 11:34 | 显示全部楼层
lqland 发表于 2014-5-29 11:08
Hi mx-jack
我现在用的U-BOOT是u-boot-2009.08
你所说的新版u-boot是指哪一版?

新的u-boot版本是高于2009的,比如2012,2013和2014的。
FSL_TICS_Rita 发表于 2014-5-29 11:35 | 显示全部楼层
weisy5 发表于 2014-5-29 10:32
请问imx6q sabrelite uboot支持USB吗


这个要看你的u-boot版本的。新的版本是支持的。
weisy5 发表于 2014-6-23 21:45 | 显示全部楼层
FSL_TICS_Rita 发表于 2014-5-29 11:35
这个要看你的u-boot版本的。新的版本是支持的。

能够告诉具体哪个版本支持usb吗,方便的话能否发一份,谢谢!
FSL_TICS_Rita 发表于 2014-6-25 16:42 | 显示全部楼层
weisy5 发表于 2014-6-23 21:45
能够告诉具体哪个版本支持usb吗,方便的话能否发一份,谢谢!

你好,更高版本的u-boot可以到http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/下载。
liuyanfeng1818 发表于 2015-5-11 17:30 | 显示全部楼层
楼主你好,我编译了sabrelite最新的uboot,2013.7份的那个。但是编译后无法烧写。总是报错误。错误如下:
262144 bytes (256.0KB) copied, 8.364445 seconds, 30.6KB/s
UTP: sending Non-success to kernel for command $ dd if=$FILE of=/dev/mtd0 bs=512.
utp_poll: exit with status 256。
各位能够帮忙看下吗?感激不尽。
mini1986 发表于 2015-5-12 17:08 | 显示全部楼层
关注一下......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部