因为TI官方给的都是SD卡升级,现在想把它移植成U盘升级方式,插入u盘通过uboot更新kernel和fs,
应该如何修改,谢谢!
现在分析uboot中代码,发现ti8168evm平台相关的ehci_hcd_init函数没有实现,参考
drivers\usb\host\Ehci-fsl.c中的ehci_hcd_init函数主要实现
1.设置主控制器模式 /* Set to Host mode */
2.初始化phy /* Init phy */
3.使能接口 /* Enable interface. */
如果我要实现ti8168evm平台中dm8168芯片主控制器相关的初始化,应该怎么去实现ehci_hcd_init这个函数?
需要设置哪些寄存器?
建议TI应该把dm8168 + dvrrdk4.0.2环境的uboot增加支持u盘升级功能,以后我们做产品的时候
客户就可以直接通过u盘升级内核和系统了
————————————-
usb start
—>int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
—>usb_init //调用drivers\usb\host\Ehci-hcd.c
—>usb_lowlevel_init
//ti8168evm平台没有实现,如何实现ti8168evm中的ehci_hcd_init函数?
—>ehci_hcd_init
——————————————————–
TI8168_EVM_MULTI_V20#
USB is stopped. Please issue 'usb start' first.
TI8168_EVM_MULTI_V20#usb
usb – USB sub-system
Usage:
usb reset – reset (rescan) USB controller
usb stop [f] – stop USB [f]=force stop
usb tree – show USB device tree
usb info [dev] – show available USB devices
usb storage – show details of USB storage devices
usb dev [dev] – show or set current USB storage device
usb part [dev] – print partition table of one or all USB storage devices
usb read addr blk# cnt – read `cnt' blocks starting at block `blk#'
to memory address `addr'usb write addr blk# cnt – write `cnt' blocks starting at block `blk#'
from memory address `addr'
TI8168_EVM_MULTI_V20#usb stop
stopping USB..
TI8168_EVM_MULTI_V20#usb tree
USB is stopped. Please issue 'usb start' first.
TI8168_EVM_MULTI_V20#usb storage
USB is stopped. Please issue 'usb start' first.
TI8168_EVM_MULTI_V20#
Chris Meng:
你好,
请问你是否有参考过我们置顶精华贴的内容?
新一代Davici DM81xx Uboot中新增USB HOST功能http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/82325.aspx