gerryzhou
驱动小牛
驱动小牛
  • 注册日期2006-05-14
  • 最后登录2009-04-18
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望133点
  • 贡献值0点
  • 好评度132点
  • 原创分0分
  • 专家分0分
阅读:1924回复:3

请教sm501 usb问题?

楼主#
更多 发布于:2007-12-12 13:38
搞了两天,也没有进展。按照siliconmotion公司提供的驱动和说明文档进行修改,但是现在usb还没有正常工作。请教有使用这个芯片的朋友,usb 中断是采用上升沿还是下降沿,如果使用270 gpio1,需要在bsp中的中断代码中对sm501进行清中断吗?501太不详细,这些都没讲。

501 usb host 在debug打印如下:
0x83fcb400: +SMIVGX::HcdPdd_Init - sm501 Pdd_Init
0x83fcb400: +SMIVGX::InitializeUHCI - start to Initialize sm501 ohci
0x83fcb400: UHCD: Read config from registry: Mem Base Address: 0x47F0000, Length: 0x70, I/O Port: NO, SysIntr: 0x20, Interface Type: 0, Bus Number: 0
0x83fcb400: InitializeUHCI::MemPhysAddr!=0,RegPhysAddr!=0
0x83fcb400: InitializeUHCI::ioPortBase=0x7e00000,ioBufBase=0x47f0000
0x83fcb400: VGX_USB::not PCI bus,use host mode.
0x83fcb400: VGX_USB::portBase=0x7e00000.
0x83fcb400: VGX_USB::pioPortBase = 0x46300000.

0x83fcb400: UHCD: ioPhysicalBase 0x47F0000, IoSpace 0x0
0x83fcb400: UHCD: ioPortBase 0x46300000, portBase 0x7E00000


0x83fcb400: CPhysMem   Total Alloc Region PhysAddr = 0x007F0000, VirtAddr = 0x006C0000, size = 65536
0x83fcb400: CPhysMem Special Alloc Region PhysAddr = 0x007F0000, VirtAddr = 0x006C0000, size = 4096


0x83fcb400: CPhysMem HighPri Alloc Region PhysAddr = 0x007F1000, VirtAddr = 0x006C1000, size = 16384
0x83d4a400: ATADISK: pATAReg = 0x6e01f0
0x83fcb400: CPhysMem  Normal Alloc Region PhysAddr = 0x007F5000, VirtAddr = 0x006C5000, size = 45056


0x83fcb400: +CHW::Initialize base=0x46340000, intr=0x20

0x83d3c4a8: CHub::GetDescriptor - forcing descr type 0x0 to 0x1
0x83d3c4a8: CHub(Root tier 0)::AttachDevice - failure on DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST step
0x83d3c4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT, failures = 1
gerryzhou
驱动小牛
驱动小牛
  • 注册日期2006-05-14
  • 最后登录2009-04-18
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望133点
  • 贡献值0点
  • 好评度132点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-12-12 14:23
u 盘插拨一次打印信息如下:
0x83d3e4a8: CHub(Root tier 0)::HubStatusChangeThread - port 1, change = 0x0001, status = 0x0100
0x83d3e4a8: CHub(Root tier 0)::HubStatusChangeThread - port 1, change = 0x0001, status = 0x0301
0x83d3e4a8: CHub(Root tier 0)::HubStatusChangeThread - device attached on port 1
0x83d3e4a8: +CHub(Root tier 0)::AttachDevice - port = 1, fIsLowSpeed = 1
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_OPENING_ENDPOINT0_PIPE, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_USING_ADDRESS0, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST, failures = 0
0x83d3e4a8: CHub::GetDescriptor - forcing descr type 0x0 to 0x1
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - failure on DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST step
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT, failures = 1
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST, failures = 1
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - failure on DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST step
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT, failures = 2
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST, failures = 2
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - failure on DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST step
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_FAILED, failures = 3
0x83d3e4a8: -CHub(Root tier 0)::AttachDevice - port = 1, fIsLowSpeed = 1, address = 1
gerryzhou
驱动小牛
驱动小牛
  • 注册日期2006-05-14
  • 最后登录2009-04-18
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望133点
  • 贡献值0点
  • 好评度132点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-12-12 15:04
交换了D+和D-信号线,这样就和designguid连接方式不一样,打印信息如下:
0x83d3e4a8: CHub(Root tier 0)::HubStatusChangeThread - device attached on port 1
0x83d3e4a8: +CHub(Root tier 0)::AttachDevice - port = 1, fIsLowSpeed = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_OPENING_ENDPOINT0_PIPE, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_USING_ADDRESS0, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_SET_ADDRESS, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_LEAVE_ADDRESS0, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_INITIAL_DEVICE_DESCRIPTOR, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SETUP_CONFIGURATION_DESCRIPTOR_ARRAY, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_INITIAL_CONFIG_DESCRIPTOR, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_CONFIG_DESCRIPTOR, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_DETERMINE_CONFIG_TO_CHOOSE, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - Select Configuration 0 on DEVICE_CONFIG_STATUS_DETERMINE_CONFIG_TO_CHOOSE step
0x83d3e4a8: +SMIVGX::HcdPdd_CheckConfigPower - 0x64mA
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_SET_CONFIG, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_CREATE_NEW_FUNCTION, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_INSERT_NEW_DEVICE_INTO_UPSTREAM_HUB_PORT_ARRAY, failures = 0
0x83d3e4a8: CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SIGNAL_NEW_DEVICE_ENTER_OPERATIONAL_STATE, failures = 0
0x83d3e4a8: +USBD:OpenPipe, EP: 0x2, MaxPkt: 64, Type: Bulk
0x83d3e4a8: -USBD:OpenPipe success, hPipe = 629960
0x83d3e4a8: +USBD:OpenPipe, EP: 0x82, MaxPkt: 64, Type: Bulk
0x83d3e4a8: -USBD:OpenPipe success, hPipe = 62A190
0x83d3e4a8: DEVICE!RegReadActivationValues RegQueryValueEx(Drivers\USB\ClientDrivers\Mass_Storage_Class\6\BusPrefix) returned 2
0x83d3e4a8: Command Block Status: Command Failed
0x83d3e4a8: ScsiGetSenseData error:0
0x83d3e4a8: USBDISK6!ScsiModeSense10: Failed to issue MODE SENSE (10) (0)
0x83fcba40: [NOTIFY] HandleSystemEvent 7 /ADD DSK2:
0x83fcbca4: USBDISK6>DSK_IOControl> A device is not attached or does not contain media
0x83fcbca4: Unsupported IOCTL:0x71c24
0x83fcbca4: DSK_IOControl error: 50
0x83fcbca4: Loading partition driver mspart.dll hModule=83D3E7FC
0x83fcbca4: Driver mspart.dll loaded
0x83fcbca4: USBDISK6>DSK_IOControl> A device is not attached or does not contain media
0x83fcbca4: CStore Destructor(000B2010)
0x83d3e4a8: -CHub(Root tier 0)::AttachDevice - port = 1, fIsLowSpeed = 0, address = 1
gerryzhou
驱动小牛
驱动小牛
  • 注册日期2006-05-14
  • 最后登录2009-04-18
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望133点
  • 贡献值0点
  • 好评度132点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-12-12 18:47
原来 sm501 design guide usb部分有错误,D+,D-刚好反接。正式发布的文档居然还有这种错误。
现在鼠标能工作一段时间,然后就挂了,跟它的驱动说明一样,不过按照驱动说明来改中断修正芯片usb bug,居然不成功,明天还要咨询siliconmotion
游客

返回顶部