* Is anyone using the C67x00 USB Host ?
@ 2008-12-05 15:32 David H. Lynch Jr.
2008-12-08 9:13 ` Peter Korsgaard
2008-12-08 14:11 ` Michal Simek
0 siblings, 2 replies; 16+ messages in thread
From: David H. Lynch Jr. @ 2008-12-05 15:32 UTC (permalink / raw)
To: linuxppc-embedded
I am having two problems with it.
I can not get it working with interrupts,
I can not get the 2nd USB port working.
If someone has it working I would appreciate knowing.
Thanks
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too
numerous to list.
"Any intelligent fool can make things bigger and more complex... It
takes a touch of genius - and a lot of courage to move in the opposite
direction."
Albert Einstein
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-05 15:32 Is anyone using the C67x00 USB Host ? David H. Lynch Jr.
@ 2008-12-08 9:13 ` Peter Korsgaard
2008-12-09 20:22 ` David H. Lynch Jr.
2008-12-08 14:11 ` Michal Simek
1 sibling, 1 reply; 16+ messages in thread
From: Peter Korsgaard @ 2008-12-08 9:13 UTC (permalink / raw)
To: dhlii; +Cc: linuxppc-embedded
>>>>> "David" == David H Lynch <dhlii@dlasys.net> writes:
Hi,
David> I am having two problems with it.
David> I can not get it working with interrupts,
No activity on the interrupt pin or is it always active?
David> I can not get the 2nd USB port working.
Strange.
David> If someone has it working I would appreciate knowing.
I obviously had it working when I wrote the driver, but I don't have
access to any hardware with the c67x00 at the moment.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-05 15:32 Is anyone using the C67x00 USB Host ? David H. Lynch Jr.
2008-12-08 9:13 ` Peter Korsgaard
@ 2008-12-08 14:11 ` Michal Simek
2008-12-09 20:27 ` David H. Lynch Jr.
1 sibling, 1 reply; 16+ messages in thread
From: Michal Simek @ 2008-12-08 14:11 UTC (permalink / raw)
To: dhlii; +Cc: linuxppc-embedded
Hi David,
currently I am working on backport this driver to 2.6.20 to Microblaze but
a lot of things are the same.
>From HW site. Interrupt goes outside of IP directly to interrupt controller.
And you need to call platform_device_register with proper structure.
Could you send your kernel log?
Thanks,
Michal
> I am having two problems with it.
>
> I can not get it working with interrupts,
>
> I can not get the 2nd USB port working.
>
> If someone has it working I would appreciate knowing.
>
> Thanks
>
>
>
>
>
>
>
>
>
>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-08 9:13 ` Peter Korsgaard
@ 2008-12-09 20:22 ` David H. Lynch Jr.
2008-12-09 21:11 ` Peter Korsgaard
0 siblings, 1 reply; 16+ messages in thread
From: David H. Lynch Jr. @ 2008-12-09 20:22 UTC (permalink / raw)
To: Peter Korsgaard; +Cc: linuxppc-embedded
Peter Korsgaard wrote:
>>>>>> "David" == David H Lynch <dhlii@dlasys.net> writes:
>>>>>>
>
> Hi,
>
> David> I am having two problems with it.
> David> I can not get it working with interrupts,
>
> No activity on the interrupt pin or is it always active?
>
Neither:
The USB system does not function with interrupts, and the kernel reports
lots of unhandled IRQ's.
I beleive that
int_status = c67x00_ll_hpi_status(c67x00);
if (!int_status)
return IRQ_NONE;
is always exiting IRQ_NONE;
If I replace the request_irq() call with installation of a timer service
routine that basically periodically calls the interrupt handler,
everything works fine - albeit slowly.
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.
"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-08 14:11 ` Michal Simek
@ 2008-12-09 20:27 ` David H. Lynch Jr.
2008-12-10 9:20 ` Michal Simek
0 siblings, 1 reply; 16+ messages in thread
From: David H. Lynch Jr. @ 2008-12-09 20:27 UTC (permalink / raw)
To: monstr; +Cc: linuxppc-embedded
Michal Simek wrote:
> Hi David,
>
> currently I am working on backport this driver to 2.6.20 to Microblaze but
> a lot of things are the same.
>
> From HW site. Interrupt goes outside of IP directly to interrupt controller.
> And you need to call platform_device_register with proper structure.
>
> Could you send your kernel log?
>
I can post a log, but:
Interrupts are occuring, and being trapped.
The following code in the driver just seems to always return
IRQ_NONE when called from an interrupt.
int_status = c67x00_ll_hpi_status(c67x00);
if (!int_status)
return IRQ_NONE;
However, if I add a timer that just polls the interrupt handler, I
have the driver working (on the first port) but slowly.
> Thanks,
> Michal
>
>
>
>
>
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.
"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-09 20:22 ` David H. Lynch Jr.
@ 2008-12-09 21:11 ` Peter Korsgaard
0 siblings, 0 replies; 16+ messages in thread
From: Peter Korsgaard @ 2008-12-09 21:11 UTC (permalink / raw)
To: dhlii; +Cc: linuxppc-embedded
>>>>> "David" == David H Lynch <dhlii@dlasys.net> writes:
Hi,
>> No activity on the interrupt pin or is it always active?
>>
David> Neither:
David> The USB system does not function with interrupts, and the
David> kernel reports lots of unhandled IRQ's.
Of the correct IRQ number?
David> I beleive that
David> int_status = c67x00_ll_hpi_status(c67x00);
David> if (!int_status)
David> return IRQ_NONE;
David> is always exiting IRQ_NONE;
That would be suprising if the c67x00 is triggering the interrupt.
David> If I replace the request_irq() call with installation of a
David> timer service routine that basically periodically calls the
David> interrupt handler, everything works fine - albeit slowly.
And what does c67x00_ll_hpi_status() return in your timer routing?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-09 20:27 ` David H. Lynch Jr.
@ 2008-12-10 9:20 ` Michal Simek
2008-12-10 12:00 ` Peter Korsgaard
0 siblings, 1 reply; 16+ messages in thread
From: Michal Simek @ 2008-12-10 9:20 UTC (permalink / raw)
To: dhlii; +Cc: linuxppc-embedded
Hi David and Peter.
David:
Look to c67x00-ll-hpi.c and look at these values.
/* HPI registers */
#define HPI_DATA 0
#define HPI_MAILBOX 1
#define HPI_ADDR 2
#define HPI_STATUS 3
You should try to swap mailbox and addr address.
/* HPI registers */
#define HPI_DATA 0
#define HPI_MAILBOX 2
#define HPI_ADDR 1
#define HPI_STATUS 3
Peter:
What does it mean when I am getting TIMEOUT when kernel is trying to assign
address to device?
Here is the correspond log part. usb_control_msg 5 means address assigning. And
there is timeout description. Star means interrupt occur.
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
OK*... 0x14 ......*---c67x00_td_to_error---
*timeout
--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### TIMEOUT at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x14
*<6>c67x00 c67x00.0: retry_cnt: 0x00
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b9e60
*<6>c67x00 c67x00.0: data:*
* 0x00* 0x05* 0x05 0x00* 0x00 0x00* 0x00* 0x00
# cat /proc/bus/usb/devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.20-uc0 c67x00-hcd
S: Product=Cypress C67X00 Host Controller
S: SerialNumber=c67x00_sie
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
#
Don't you have your testing version for any kernel before 2.6.23? There were
some change in usb subsystem.
Best regards,
Michal
Transferring control to Linux (at address 90000000), 0x90000000 ramdisk
0x00000000, FDT 0x00000000...
Found romfs @ 0x901be08c (0x000f1000)
#### klimit 901ef000 ####
Moving 0x000f1000 bytes from 0x901be08c to 0x901ee7d8
New klimit: 0x902e0000
Linux version 2.6.20-uc0 (monstr@monstr.eu) (gcc version 3.4.1 ( PetaLinux 0.20
Build -rc1 050607 )) #122 Wed Dec 10 10:09:48 CET 2008
setup_cpuinfo: initialising
setup_cpuinfo: Using full CPU PVR support
setup_memory: max_mapnr: 0x9ffff
setup_memory: min_low_pfn: 0x90000
setup_memory: max_low_pfn: 0x10000
On node 0 totalpages: 65536
DMA zone: 512 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 65024 pages, LIFO batch:15
Normal zone: 0 pages used for memmap
Built 1 zonelists. Total pages: 65024
Kernel command line: mtdparts=$(mtdparts) macaddr=00:0a:35:00:22:01
console=ttyUL0,115200
OPB INTC #0 at 0x81800000
PID hash table entries: 1024 (order: 10, 4096 bytes)
TIMER at 0x83C00000
disabling early console
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256768k/262144k available
Calibrating delay loop... 49.56 BogoMIPS (lpj=247808)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
usbcore: registered new interface driver usbfs
usbfs_update_special ---------
usbfs_init ---------
usbcore: registered new interface driver hub
usbfs_update_special ---------
usbcore: registered new device driver usb
usbfs_update_special ---------
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 8192 bind 4096)
TCP reno registered
reg 0
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
uartlite.0: ttyUL0 at MMIO 0x84000000 (irq = 5) is a uartlite
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
xilinx_lltemac xilinx_lltemac.0: MAC address is now 0: a:35: 5: 5: 8
xilinx_lltemac xilinx_lltemac.0: XLlTemac: using DMA mode.
XLlTemac: Dma base address: phy: 0x84600080, virt: 0x84600080
XLlTemac: buffer descriptor size: 32768 (0x8000)
XLlTemac: Allocating DMA descriptors with kmalloc
XLlTemac: (buffer_descriptor_init) phy: 0x9ff90000, virt: 0x9ff90000, size: 0x8000
XTemac: PHY detected at address 7.
eth0: Dropping NETIF_F_SG since no checksum feature.
xilinx_lltemac xilinx_lltemac.0: eth0: Xilinx TEMAC at 0x81C00000 mapped to
0x81C00000, irq=4
uclinux[mtd]: RAM probe address=0x901ee7d8 size=0xf1000
Creating 1 MTD partitions on "RAM":
0x00000000-0x000f1000 : "ROMfs"
uclinux[mtd]: set ROMfs to be root filesystem index=0
c67x00_drv_probe
*c67x00_drv_probe before reset
*c67x00_drv_probe after reset
c67x00_probe_sie sie->mode 0x1 0
host mode sie->sie_num 0
c67x00_hcd_probe--1
2
3
4
5
*6
7
c67x00 c67x00.0: Cypress C67X00 Host Controller *******
usbfs_notify ---------
usbfs_add_bus ---------
create_special_files ---------
creating file 'devices'fs_create_by_name ---------devices
usbfs_create kkk
++++++++ 0
ok
ok2
ok4
creating file '001'fs_create_by_name ---------001
mkdir kkk
++++++++ 0
ok
ok2
ok3
usbfs_update_special ---------
c67x00 c67x00.0: new USB bus registered, assigned bus number 1
usb_control_msg 6, 18
usb_control_msg 6, 9
usb_control_msg 6, 25
usb_control_msg 6, 4
usb usb1: default language 0x0409
usb_control_msg 6, 63
usb_control_msg 6, 57
usb_control_msg 6, 23
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Cypress C67X00 Host Controller
usb usb1: Manufacturer: Linux 2.6.20-uc0 c67x00-hcd
usb usb1: SerialNumber: c67x00_sie
usb usb1: uevent
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
usb_control_msg 9, 0
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
usb_control_msg 6, 15
hub 1-0:1.0: 2 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: ganged power switching
hub 1-0:1.0: global over-current protection
hub 1-0:1.0: power on to power good time: 100ms
usb_control_msg 0, 2
usb_control_msg 0, 4
hub 1-0:1.0: local power source is good
hub 1-0:1.0: no over-current condition exists
hub 1-0:1.0: enabling power on all ports
usb_control_msg 3, 0
usb_control_msg 3, 0
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000
usbfs_notify ---------
usbfs_add_device ---------
creating file '001'fs_create_by_name ---------001
usbfs_create kkk
++++++++ 0
ok
ok2
ok3
ok4
usbfs_update_special ---------
8
9
c67x00_probe_sie sie->mode 0x0 1
c67x00 c67x00.0: Not using SIE 1 as requested
c67x00_drv_probe end
////////////////////cypress_init///////////////////
usb_control_msg 0, 4
usb_control_msg 0, 4
usbcore: registered new interface driver cypress_cy7c63
usbfs_update_special ---------
TCP cubic registered
NET: Registered protocol family 1
VFS: Mounted root (cramfs filesystem) readonly.
Freeing unused kernel memory: 80k freed
Mounting proc:
Mounting var:
Populating /var:
Running local start scripts.
Mounting debugfs:
Mounting /etc/config:
Populating /etc/config:
flatfsd: Nonexistent or bad flatfs (-48), creating new one...
flatfsd: Failed to write flatfs (-48): No such device
flatfsd: Created 5 configuration files (185 bytes)
Mounting sysfs:
Mounting usbfs:
Setting hostname:
Setting up interface lo:
Setting up interface eth0:
eth0: XLlTemac: Options: 0x3fa
eth0: XLlTemac: allocating interrupt 1 for dma mode tx.
eth0: XLlTemac: allocating interrupt 2 for dma mode rx.
eth0: XLlTemac: Not able to set the speed to 1000 (status: 0x7949)
eth0: XLlTemac: We renegotiated the speed to: 100
eth0: XLlTemac: speed set to 100Mb/s
eth0: XLlTemac: Send Threshold = 24, Receive Threshold = 4
eth0: XLlTemac: Send Wait bound = 254, Receive Wait bound = 254
Starting thttpd:
uclinux login: root
Password:
#
USB flash disk plug in
#
#
# hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
usb_control_msg 0, 4
usb_control_msg 1, 0
hub 1-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
usb_control_msg 0, 4
usb_control_msg 0, 4
usb_control_msg 0, 4
usb_control_msg 0, 4
usb_control_msg 0, 4
hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
*usb_control_msg 3, 0
usb_control_msg 0, 4
usb_control_msg 1, 0
usb 1-1: new full speed USB device using c67x00 and address 2
OK*... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 0
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b9e60
*<6>c67x00 c67x00.0: data:*
* 0x80* 0x06 0x00* 0x01* 0x00 0x00* 0x40 0x00*
OK**... 0x29 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 0
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0040
*<6>c67x00 c67x00.0: pid_ep: 0x90
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x41
*<6>c67x00 c67x00.0: status: 0x29
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x2e
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 64 0x9ff64598
*<6>c67x00 c67x00.0: data:*
0x12* 0x01 0x00* 0x02* 0x00 0x00* 0x00* 0x40
* 0x81* 0x07 0x06* 0x54 0x10* 0x00* 0x01 0x02*
* 0x03 0x01* 0x73 0x72* 0x2f* 0x62 0x69* 0x6e*
0x3a* 0x2f* 0x75 0x73* 0x72 0x2f* 0x73* 0x62
* 0x69* 0x6e 0x00* 0xff 0xff* 0xff* 0xff 0xff*
* 0xff 0xff* 0xff* 0xff 0xff* 0xff 0xff* 0xff*
0xff* 0xff* 0xff 0xff* 0xff* 0xff 0xff* 0xff
* 0xff* 0xff 0xff* 0xff* 0xff 0xff* 0xff 0xff*
OK**... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 0
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0000
*<6>c67x00 c67x00.0: pid_ep: 0x10
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x41
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 0 0x0
*<6>c67x00 c67x00.0: data:*
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 6, -115
*usb_control_msg 3, 0
usb_control_msg 0, 4
usb_control_msg 1, 0
*OK*... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b9e60
*<6>c67x00 c67x00.0: data:*
* 0x00* 0x05 0x02* 0x00* 0x00 0x00* 0x00* 0x00
OK**... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0000
*<6>c67x00 c67x00.0: pid_ep: 0x90
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x41
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 0 0x0
*<6>c67x00 c67x00.0: data:*
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
OK**... 0x14 ......*---c67x00_td_to_error---
*timeout
--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### TIMEOUT at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x14
*<6>c67x00 c67x00.0: retry_cnt: 0x00
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b9e60
*<6>c67x00 c67x00.0: data:*
0x00* 0x05 0x02* 0x00* 0x00 0x00* 0x00 0x00*
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
usb 1-1: device not accepting address 2, error -115
*usb_control_msg 1, 0
___c67x00_endpoint_disable____
___c67x00_endpoint_disable____
*usb_control_msg 3, 0
usb_control_msg 0, 4
usb_control_msg 1, 0
usb 1-1: new full speed USB device using c67x00 and address 3
OK**... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 0
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b9c40
*<6>c67x00 c67x00.0: data:*
* 0x80* 0x06 0x00* 0x01* 0x00 0x00* 0x40* 0x00
OK**... 0x29 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 0
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0040
*<6>c67x00 c67x00.0: pid_ep: 0x90
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x41
*<6>c67x00 c67x00.0: status: 0x29
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x2e
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 64 0x9ff64598
*<6>c67x00 c67x00.0: data:*
0x12* 0x01 0x00* 0x02* 0x00 0x00* 0x00* 0x40
* 0x81* 0x07 0x06* 0x54 0x10* 0x00* 0x01 0x02*
* 0x03 0x01* 0x45 0xa4* 0x05* 0x00 0x00* 0x00
* 0x90* 0x1b 0x9e* 0x60* 0x00 0x00* 0x00* 0x00
* 0x00 0x00* 0x00* 0x00 0x90* 0x1b* 0x9c 0x40*
* 0x80 0x00* 0x00 0x00* 0x00* 0x00 0x00* 0x00*
0x00* 0x00 0x00* 0x00* 0x00 0x00* 0x00* 0x00
* 0x00 0x00* 0x00* 0x00 0x00* 0x00* 0x00 0x00*
OK*... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 0
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0000
*<6>c67x00 c67x00.0: pid_ep: 0x10
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x41
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 0 0x0
*<6>c67x00 c67x00.0: data:*
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 6, -115
*usb_control_msg 3, 0
usb_control_msg 0, 4
usb_control_msg 1, 0
OK*... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b9c40
*<6>c67x00 c67x00.0: data:*
* 0x00* 0x05 0x03* 0x00* 0x00 0x00* 0x00 0x00*
OK**... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0000
*<6>c67x00 c67x00.0: pid_ep: 0x90
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x41
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 0 0x0
*<6>c67x00 c67x00.0: data:*
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
OK*... 0x14 ......*---c67x00_td_to_error---
*timeout
--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### TIMEOUT at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x14
*<6>c67x00 c67x00.0: retry_cnt: 0x00
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b9c40
*<6>c67x00 c67x00.0: data:**
0x00* 0x05* 0x03 0x00* 0x00 0x00* 0x00* 0x00
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
usb 1-1: device not accepting address 3, error -115
*usb_control_msg 1, 0
___c67x00_endpoint_disable____
___c67x00_endpoint_disable____
*usb_control_msg 3, 0
usb_control_msg 0, 4
usb_control_msg 1, 0
usb 1-1: new full speed USB device using c67x00 and address 4
OK**... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b98e0
*<6>c67x00 c67x00.0: data:*
* 0x00* 0x05 0x04* 0x00* 0x00 0x00* 0x00 0x00*
OK**... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0000
*<6>c67x00 c67x00.0: pid_ep: 0x90
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x41
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 0 0x0
*<6>c67x00 c67x00.0: data:*
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
OK*... 0x14 ......*---c67x00_td_to_error---
*timeout
--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### TIMEOUT at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x14
*<6>c67x00 c67x00.0: retry_cnt: 0x00
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b98e0
*<6>c67x00 c67x00.0: data:*
* 0x00* 0x05 0x04* 0x00* 0x00 0x00* 0x00* 0x00
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
usb 1-1: device not accepting address 4, error -115
*usb_control_msg 1, 0
___c67x00_endpoint_disable____
___c67x00_endpoint_disable____
*usb_control_msg 3, 0
usb_control_msg 0, 4
usb_control_msg 1, 0
usb 1-1: new full speed USB device using c67x00 and address 5
OK**... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
**<6>c67x00 c67x00.0: len: 8 0x901b9e60
*<6>c67x00 c67x00.0: data:*
0x00* 0x05 0x05* 0x00* 0x00 0x00* 0x00* 0x00
OK**... 0x0 ......*--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### SUCCESSFUL at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0000
*<6>c67x00 c67x00.0: pid_ep: 0x90
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x41
*<6>c67x00 c67x00.0: status: 0x00
*<6>c67x00 c67x00.0: retry_cnt: 0x01
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 0 0x0
*<6>c67x00 c67x00.0: data:*
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
OK*... 0x14 ......*---c67x00_td_to_error---
*timeout
--------------------------------------1-----------
*<6>c67x00 c67x00.0: ### TIMEOUT at 0x0500
*<6>c67x00 c67x00.0: urb: 0x906823cc
*<6>c67x00 c67x00.0: urb->error_count, status: 0, -115
*<6>c67x00 c67x00.0: endpoint: 0
*<6>c67x00 c67x00.0: pipeout: 1
*<6>c67x00 c67x00.0: ly_base_addr: 0x0700
*<6>c67x00 c67x00.0: port_length: 0x0008
*<6>c67x00 c67x00.0: pid_ep: 0xd0
*<6>c67x00 c67x00.0: dev_addr: 0x00
*<6>c67x00 c67x00.0: ctrl_reg: 0x01
*<6>c67x00 c67x00.0: status: 0x14
*<6>c67x00 c67x00.0: retry_cnt: 0x00
*<6>c67x00 c67x00.0: residue: 0x00
*<6>c67x00 c67x00.0: next_td_addr: 0x0000
*<6>c67x00 c67x00.0: len: 8 0x901b9e60
*<6>c67x00 c67x00.0: data:*
* 0x00* 0x05* 0x05 0x00* 0x00 0x00* 0x00* 0x00
c67x00_giveback_urb ++++++++++++++++++++++++++++++
*usb_control_msg 5, -115
hub_set_address 4 ffffff8d
hub_set_address 8 ffffff8d
+-------------retval ffffff8d ---------------+
usb 1-1: device not accepting address 5, error -115
*usb_control_msg 1, 0
___c67x00_endpoint_disable____
___c67x00_endpoint_disable____
*usb_control_msg 1, 0
USB-mon plug in flash disk
9ff853c4 250670102 C Ii:001:01 0 1 = 02
9ff853c4 250670798 S Ii:001:01 -115 2 <
90679970 250676322 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 250676407 C Ci:001:00 0 4 = 01010100
90679970 250678981 S Co:001:00 s 23 01 0010 0001 0000 0
90679970 250679050 C Co:001:00 0 0
90679970 250687913 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 250688001 C Ci:001:00 0 4 = 01010000
90679970 250730230 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 250730346 C Ci:001:00 0 4 = 01010000
90679970 250770209 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 250770321 C Ci:001:00 0 4 = 01010000
90679970 250810222 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 250810335 C Ci:001:00 0 4 = 01010000
90679970 250850223 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 250850336 C Ci:001:00 0 4 = 01010000
90679970 250860952 S Co:001:00 s 23 03 0004 0001 0000 0
90679970 250923848 C Co:001:00 0 0
90679970 251130223 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 251130335 C Ci:001:00 0 4 = 03010000
90679970 251190215 S Co:001:00 s 23 01 0014 0001 0000 0
90679970 251190308 C Co:001:00 0 0
90679970 251199878 S Ci:000:00 s 80 06 0100 0000 0040 64 <
90679970 251525090 C Ci:000:00 -115 18 = 12010002 00000040 81070654 10000102 0301
90679970 251528194 S Co:001:00 s 23 03 0004 0001 0000 0
90679970 251591102 C Co:001:00 0 0
90679970 251800208 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 251800322 C Ci:001:00 0 4 = 03010000
90679970 251860219 S Co:001:00 s 23 01 0014 0001 0000 0
90679970 251860312 C Co:001:00 0 0
90679970 251862897 S Co:000:00 s 00 05 000a 0000 0000 0
90679970 252047373 C Co:000:00 -115 0
90679970 252270220 S Co:000:00 s 00 05 000a 0000 0000 0
90679970 252372925 C Co:000:00 -115 0
90679970 252596167 S Co:001:00 s 23 01 0001 0001 0000 0
90679970 252659090 C Co:001:00 0 0
90679970 252669133 S Co:001:00 s 23 03 0004 0001 0000 0
90679970 252732038 C Co:001:00 0 0
90679970 252940214 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 252940327 C Ci:001:00 0 4 = 03010000
90679970 253000228 S Co:001:00 s 23 01 0014 0001 0000 0
90679970 253000318 C Co:001:00 0 0
90679970 253009882 S Ci:000:00 s 80 06 0100 0000 0040 64 <
90679970 253335736 C Ci:000:00 -115 18 = 12010002 00000040 81070654 10000102 0301
90679970 253338840 S Co:001:00 s 23 03 0004 0001 0000 0
90679970 253401740 C Co:001:00 0 0
90679970 253610223 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 253610334 C Ci:001:00 0 4 = 03010000
90679970 253670218 S Co:001:00 s 23 01 0014 0001 0000 0
90679970 253670311 C Co:001:00 0 0
90679970 253672901 S Co:000:00 s 00 05 000b 0000 0000 0
90679970 253856778 C Co:000:00 -115 0
90679970 254080219 S Co:000:00 s 00 05 000b 0000 0000 0
90679970 254182318 C Co:000:00 -115 0
90679970 254406171 S Co:001:00 s 23 01 0001 0001 0000 0
90679970 254469106 C Co:001:00 0 0
90679970 254479146 S Co:001:00 s 23 03 0004 0001 0000 0
90679970 254542042 C Co:001:00 0 0
90679970 254750225 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 254750337 C Ci:001:00 0 4 = 03010000
90679970 254810206 S Co:001:00 s 23 01 0014 0001 0000 0
90679970 254810300 C Co:001:00 0 0
90679970 254819873 S Co:000:00 s 00 05 000c 0000 0000 0
90679970 255004537 C Co:000:00 -115 0
90679970 255220222 S Co:000:00 s 00 05 000c 0000 0000 0
90679970 255322634 C Co:000:00 -115 0
90679970 255546177 S Co:001:00 s 23 01 0001 0001 0000 0
90679970 255609100 C Co:001:00 0 0
90679970 255619142 S Co:001:00 s 23 03 0004 0001 0000 0
90679970 255682051 C Co:001:00 0 0
90679970 255890210 S Ci:001:00 s a3 00 0000 0001 0004 4 <
90679970 255890324 C Ci:001:00 0 4 = 03010000
90679970 255950218 S Co:001:00 s 23 01 0014 0001 0000 0
90679970 255950313 C Co:001:00 0 0
90679970 255959879 S Co:000:00 s 00 05 000d 0000 0000 0
90679970 256144736 C Co:000:00 -115 0
90679970 256360220 S Co:000:00 s 00 05 000d 0000 0000 0
90679970 256462596 C Co:000:00 -115 0
90679970 256686172 S Co:001:00 s 23 01 0001 0001 0000 0
90679970 256749105 C Co:001:00 0 0
90679970 256758936 S Co:001:00 s 23 01 0001 0001 0000 0
90679970 256821834 C Co:001:00 0 0
Unglug flash disk
9ff853c4 278210107 C Ii:001:01 0 1 = 02
9ff853c4 278210799 S Ii:001:01 -115 2 <
9f9aadf4 278216322 S Ci:001:00 s a3 00 0000 0001 0004 4 <
9f9aadf4 278216406 C Ci:001:00 0 4 = 02010100
9f9aadf4 278218981 S Co:001:00 s 23 01 0010 0001 0000 0
9f9aadf4 278219051 C Co:001:00 0 0
9f9aadf4 278227913 S Ci:001:00 s a3 00 0000 0001 0004 4 <
9f9aadf4 278228000 C Ci:001:00 0 4 = 02010000
9f9aadf4 278270229 S Ci:001:00 s a3 00 0000 0001 0004 4 <
9f9aadf4 278270346 C Ci:001:00 0 4 = 02010000
9f9aadf4 278310223 S Ci:001:00 s a3 00 0000 0001 0004 4 <
9f9aadf4 278310336 C Ci:001:00 0 4 = 02010000
9f9aadf4 278350223 S Ci:001:00 s a3 00 0000 0001 0004 4 <
9f9aadf4 278350336 C Ci:001:00 0 4 = 02010000
9f9aadf4 278390224 S Ci:001:00 s a3 00 0000 0001 0004 4 <
9f9aadf4 278390337 C Ci:001:00 0 4 = 02010000
9f9aadf4 278400722 S Co:001:00 s 23 01 0001 0001 0000 0
9f9aadf4 278463633 C Co:001:00 0 0
> Michal Simek wrote:
>> Hi David,
>>
>> currently I am working on backport this driver to 2.6.20 to Microblaze but
>> a lot of things are the same.
>>
>> From HW site. Interrupt goes outside of IP directly to interrupt controller.
>> And you need to call platform_device_register with proper structure.
>>
>> Could you send your kernel log?
>>
> I can post a log, but:
> Interrupts are occuring, and being trapped.
> The following code in the driver just seems to always return
> IRQ_NONE when called from an interrupt.
>
> int_status = c67x00_ll_hpi_status(c67x00);
> if (!int_status)
> return IRQ_NONE;
>
> However, if I add a timer that just polls the interrupt handler, I
> have the driver working (on the first port) but slowly.
>
>
>
>
>
>> Thanks,
>> Michal
>>
>>
>>
>>
>>
>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-10 9:20 ` Michal Simek
@ 2008-12-10 12:00 ` Peter Korsgaard
2008-12-10 14:36 ` Michal Simek
0 siblings, 1 reply; 16+ messages in thread
From: Peter Korsgaard @ 2008-12-10 12:00 UTC (permalink / raw)
To: monstr; +Cc: dhlii, linuxppc-embedded
>>>>> "Michal" == Michal Simek <monstr@seznam.cz> writes:
Hi,
Michal> You should try to swap mailbox and addr address.
Michal> /* HPI registers */
Michal> #define HPI_DATA 0
Michal> #define HPI_MAILBOX 2
Michal> #define HPI_ADDR 1
Michal> #define HPI_STATUS 3
Why? Have you swapped your A0 / A1?
Michal> Peter:
Michal> What does it mean when I am getting TIMEOUT when kernel is
Michal> trying to assign address to device?
Michal> Here is the correspond log part. usb_control_msg 5 means
Michal> address assigning. And there is timeout description. Star
Michal> means interrupt occur.
Michal> *usb_control_msg 5, -115
Michal> hub_set_address 4 ffffff8d
Michal> hub_set_address 8 ffffff8d
Michal> +-------------retval ffffff8d ---------------+
Michal> OK*... 0x14 ......*---c67x00_td_to_error---
Michal> *timeout
Michal> --------------------------------------1-----------
Michal> *<6>c67x00 c67x00.0: ### TIMEOUT at 0x0500
I'm not quite following here - Is that the
wait_for_completion_timeout() in c67x00-sched.c?
USB questions are probably better asked on the
linux-usb@vger.kernel.org list.
Michal> Don't you have your testing version for any kernel before
Michal> 2.6.23? There were some change in usb subsystem.
There's some older patches at
http://peter.korsgaard.com/patches/linux, but why are you using such
an ancient kernel?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-10 12:00 ` Peter Korsgaard
@ 2008-12-10 14:36 ` Michal Simek
2008-12-10 14:43 ` Peter Korsgaard
0 siblings, 1 reply; 16+ messages in thread
From: Michal Simek @ 2008-12-10 14:36 UTC (permalink / raw)
To: Peter Korsgaard; +Cc: dhlii, linuxppc-embedded
Hi Peter,
>>>>>> "Michal" == Michal Simek <monstr@seznam.cz> writes:
>
> Hi,
>
> Michal> You should try to swap mailbox and addr address.
>
> Michal> /* HPI registers */
> Michal> #define HPI_DATA 0
> Michal> #define HPI_MAILBOX 2
> Michal> #define HPI_ADDR 1
> Michal> #define HPI_STATUS 3
>
> Why? Have you swapped your A0 / A1?
I found that ml40x designs have different connection that ml505 usb design. This
is no problem for me. But I think that in David case is that problem.
We used 2.6.20 kernel because we have this kernel well tested.
I found where the problem was.
Thanks for your driver and help,
Michal
>
> Michal> Peter:
>
> Michal> What does it mean when I am getting TIMEOUT when kernel is
> Michal> trying to assign address to device?
>
> Michal> Here is the correspond log part. usb_control_msg 5 means
> Michal> address assigning. And there is timeout description. Star
> Michal> means interrupt occur.
>
> Michal> *usb_control_msg 5, -115
> Michal> hub_set_address 4 ffffff8d
> Michal> hub_set_address 8 ffffff8d
> Michal> +-------------retval ffffff8d ---------------+
> Michal> OK*... 0x14 ......*---c67x00_td_to_error---
> Michal> *timeout
> Michal> --------------------------------------1-----------
> Michal> *<6>c67x00 c67x00.0: ### TIMEOUT at 0x0500
>
> I'm not quite following here - Is that the
> wait_for_completion_timeout() in c67x00-sched.c?
>
> USB questions are probably better asked on the
> linux-usb@vger.kernel.org list.
>
> Michal> Don't you have your testing version for any kernel before
> Michal> 2.6.23? There were some change in usb subsystem.
>
> There's some older patches at
> http://peter.korsgaard.com/patches/linux, but why are you using such
> an ancient kernel?
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-10 14:36 ` Michal Simek
@ 2008-12-10 14:43 ` Peter Korsgaard
2008-12-10 16:34 ` Michal Simek
0 siblings, 1 reply; 16+ messages in thread
From: Peter Korsgaard @ 2008-12-10 14:43 UTC (permalink / raw)
To: monstr; +Cc: dhlii, linuxppc-embedded
>>>>> "Michal" == Michal Simek <monstr@seznam.cz> writes:
Hi,
>> Why? Have you swapped your A0 / A1?
Michal> I found that ml40x designs have different connection that
Michal> ml505 usb design. This is no problem for me. But I think that
Michal> in David case is that problem.
OK. If this is something common, then maybe we should add support for
it in the driver?
Michal> We used 2.6.20 kernel because we have this kernel well tested.
Michal> I found where the problem was.
Ahh, what was it?
Michal> Thanks for your driver and help,
You're welcome.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-10 14:43 ` Peter Korsgaard
@ 2008-12-10 16:34 ` Michal Simek
2008-12-11 23:52 ` David H. Lynch Jr.
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Michal Simek @ 2008-12-10 16:34 UTC (permalink / raw)
To: Peter Korsgaard; +Cc: dhlii, linuxppc-embedded
Hi Peter,
>>>>>> "Michal" == Michal Simek <monstr@seznam.cz> writes:
>
> Hi,
>
> >> Why? Have you swapped your A0 / A1?
>
> Michal> I found that ml40x designs have different connection that
> Michal> ml505 usb design. This is no problem for me. But I think that
> Michal> in David case is that problem.
>
> OK. If this is something common, then maybe we should add support for
> it in the driver?
I think this is not necessary. Swapped A0/A1 is hw solution. And change which I
described is sw solution.
> Michal> We used 2.6.20 kernel because we have this kernel well tested.
> Michal> I found where the problem was.
>
> Ahh, what was it?
Problem was in different status handling for older kernel and I extend some
timeout value before. I am reverting my debug messages. Maybe I did any other
change which do some work too.
Thanks,
Michal
>
> Michal> Thanks for your driver and help,
>
> You're welcome.
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-10 16:34 ` Michal Simek
@ 2008-12-11 23:52 ` David H. Lynch Jr.
2008-12-12 7:14 ` David H. Lynch Jr.
2008-12-13 18:41 ` David H. Lynch Jr.
2 siblings, 0 replies; 16+ messages in thread
From: David H. Lynch Jr. @ 2008-12-11 23:52 UTC (permalink / raw)
To: linuxppc-embedded
Michal;
I tried the address swap you mentioned. That made things much worse.
I have also tried changing hpi_regstep from 4 to 1 & 2 with zero
change in behavior - which does not make sense to me.
The logs below are using a Toshiba 2G thumb drive moved between host
1 and host 2.
I have also tried a 3com KAWETH based USB NIC. In all instances with
the IRQ disabled and a timer in its place,
I can detect anything that I have drivers for on host 1 but not on
host 2.
in all cases enabling the IRQ causes either register dumps or sprays
the console with messages about unhandled IRQ's or both.
I have some logs below
First - this is the log of a boot with the IRQ enabled.
Linux version 2.6.26-rc4-dirty (root@hp-dhlii.dlasys.lcl) (gcc version
4.2.4) #9 Thu Dec 11 18:03:34 EST 2008
Pico Virtex-4 port
Port by DLA Systems (info@dlasys.net)
Zone PFN ranges:
DMA 0 -> 65535
Normal 65535 -> 65535
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0 -> 65535
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65023
Kernel command line: root=/dev/ram IP=172.16.0.154
Xilinx INTC #0 at 0x41200000 mapped to 0xF5FFB000
PID hash table entries: 1024 (order: 10, 4096 bytes)
console [ttyUL0] enabled
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 253952k available (1788k kernel code, 812k data, 3036k init, 0k
highmem)
Mount-cache hash table entries: 512
net_namespace: 192 bytes
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
io scheduler noop registered (default)
Serial: Pico Xilinx uartlite driver $Revision: 0.10 $ 1 ports
ttyUL0 at MMIO 0x40600000 (irq = 15) is a uartlite
brd: module loaded
xilinx_lltemac.c:v0.10a Dec 11 2008 Yoshio Kashiwagi
: temac addr d0000000 base 81c00000 len 128
: sdma addr d0002100 base 84600100 len 128
: temac IRQ tx 0 rx 1 phy 2 fifo 255
: xilinx_lltemac.c:v Dec 11 2008 Yoshio Kashiwagi
: temac_set_mac_address(00:50:C2:44:28:14)
eth0: Dropping NETIF_F_SG since no checksum feature.
eth0: ll_temac at d0000000,0 IRQ 1 MAC:00:50:C2:44:28:14
usbcore: registered new interface driver kaweth
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
Driver 'sd' needs updating - please use bus_type methods
usbmon: debugfs is not available
irq 14: nobody cared (try booting with the "irqpoll" option)
Call Trace:
[cf81fb40] [c00091bc] show_stack+0x44/0x1ac (unreliable)
[cf81fb80] [c0044718] __report_bad_irq+0x34/0xb8
[cf81fba0] [c0044a14] note_interrupt+0x278/0x2cc
[cf81fbd0] [c0043ca4] __do_IRQ+0x100/0x118
[cf81fbf0] [c00075d8] do_IRQ+0xbc/0xc0
[cf81fc00] [c0002f54] ret_from_except+0x0/0x14
[cf81fcc0] [00000000] 0x0
[cf81fce0] [c000735c] do_softirq+0x58/0x5c
[cf81fcf0] [c00253bc] irq_exit+0x48/0x58
[cf81fd00] [c0007588] do_IRQ+0x6c/0xc0
[cf81fd10] [c0002f54] ret_from_except+0x0/0x14
[cf81fdd0] [c00443fc] setup_irq+0x1c4/0x23c
[cf81fdf0] [c0044538] request_irq+0xc4/0xd8
[cf81fe20] [c01bbac8] c67x00_drv_probe+0x118/0x3e4
[cf81fe50] [c00fdc20] platform_drv_probe+0x20/0x30
[cf81fe60] [c00fcc9c] driver_probe_device+0xbc/0x1f4
[cf81fe80] [c00fce58] __driver_attach+0x84/0x88
[cf81fea0] [c00fc1a4] bus_for_each_dev+0x5c/0x98
[cf81fed0] [c00fcaa0] driver_attach+0x24/0x34
[cf81fee0] [c00fc6d8] bus_add_driver+0xb4/0x248
[cf81ff10] [c00fd068] driver_register+0x5c/0x158
[cf81ff30] [c00fdfcc] platform_driver_register+0x9c/0xac
[cf81ff40] [c024c188] c67x00_init+0x18/0x28
[cf81ff50] [c023b1a0] kernel_init+0x98/0x27c
[cf81fff0] [c0004b18] kernel_thread+0x44/0x60
handlers:
[<c013f28c>] (c67x00_irq+0x0/0x128)
Disabling IRQ #14
------------[ cut here ]------------
Badness at c013fd58 [verbose debug info unavailable]
NIP: c013fd58 LR: c013fd4c CTR: c0019a6c
REGS: cf81fd50 TRAP: 0700 Not tainted (2.6.26-rc4-dirty)
MSR: 00008030 <EE,IR,DR> CR: 35000033 XER: e0000000
TASK = cf814c00[1] 'swapper' THREAD: cf81e000
GPR00: 00000001 cf81fe00 cf814c00 00000000 c0222520 cf814028 000001f4
00000001
GPR08: 00000008 00200200 cf8496f8 cf8496f8 35000033 ffffb6b4 c01eab48
c01eab00
GPR16: c01eab70 c01eab30 cf81ff98 c0253124 c0250000 00000000 07010000
c0250000
GPR24: cf81ff58 00000000 c0223888 c0223758 cf8496e8 00000000 c0223558
cf8496e0
NIP [c013fd58] c67x00_ll_reset+0x48/0x88
LR [c013fd4c] c67x00_ll_reset+0x3c/0x88
Call Trace:
[cf81fe00] [c013fd4c] c67x00_ll_reset+0x3c/0x88 (unreliable)
[cf81fe20] [c01bbb4c] c67x00_drv_probe+0x19c/0x3e4
[cf81fe50] [c00fdc20] platform_drv_probe+0x20/0x30
[cf81fe60] [c00fcc9c] driver_probe_device+0xbc/0x1f4
[cf81fe80] [c00fce58] __driver_attach+0x84/0x88
[cf81fea0] [c00fc1a4] bus_for_each_dev+0x5c/0x98
[cf81fed0] [c00fcaa0] driver_attach+0x24/0x34
[cf81fee0] [c00fc6d8] bus_add_driver+0xb4/0x248
[cf81ff10] [c00fd068] driver_register+0x5c/0x158
[cf81ff30] [c00fdfcc] platform_driver_register+0x9c/0xac
[cf81ff40] [c024c188] c67x00_init+0x18/0x28
[cf81ff50] [c023b1a0] kernel_init+0x98/0x27c
[cf81fff0] [c0004b18] kernel_thread+0x44/0x60
Instruction dump:
90010024 4807cdb5 38800000 7fa3eb78 6084fa50 4bfff7bd 387d0014 388004e2
4807c491 707dffff 7c000026 54001ffe <0f000000> 3c00ffff 7fbd00d0 60000005
c67x00 c67x00.0: Device reset failed
c67x00: probe of c67x00.0 failed with error 65531
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
-------------------------------------------------------------------------------------------------------------------------------------
If I install a trimer that polls the IRQ handler rather than calling
request_irq()
I get this:
Linux version 2.6.26-rc4-dirty (root@hp-dhlii.dlasys.lcl) (gcc version
4.2.4) #10 Thu Dec 11 18:13:00 EST 2008
Pico Virtex-4 port
Port by DLA Systems (info@dlasys.net)
Zone PFN ranges:
DMA 0 -> 65535
Normal 65535 -> 65535
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0 -> 65535
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65023
Kernel command line: root=/dev/ram IP=172.16.0.154
Xilinx INTC #0 at 0x41200000 mapped to 0xF5FFB000
PID hash table entries: 1024 (order: 10, 4096 bytes)
console [ttyUL0] enabled
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 253952k available (1788k kernel code, 812k data, 3036k init, 0k
highmem)
Mount-cache hash table entries: 512
net_namespace: 192 bytes
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
io scheduler noop registered (default)
Serial: Pico Xilinx uartlite driver $Revision: 0.10 $ 1 ports
ttyUL0 at MMIO 0x40600000 (irq = 15) is a uartlite
brd: module loaded
xilinx_lltemac.c:v0.10a Dec 11 2008 Yoshio Kashiwagi
: temac addr d0000000 base 81c00000 len 128
: sdma addr d0002100 base 84600100 len 128
: temac IRQ tx 0 rx 1 phy 2 fifo 255
: xilinx_lltemac.c:v Dec 11 2008 Yoshio Kashiwagi
: temac_set_mac_address(00:50:C2:44:28:14)
eth0: Dropping NETIF_F_SG since no checksum feature.
eth0: ll_temac at d0000000,0 IRQ 1 MAC:00:50:C2:44:28:14
usbcore: registered new interface driver kaweth
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
Driver 'sd' needs updating - please use bus_type methods
usbmon: debugfs is not available
c67x00 c67x00.0: Cypress C67X00 Host Controller
c67x00 c67x00.0: new USB bus registered, assigned bus number 1
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Cypress C67X00 Host Controller
usb usb1: Manufacturer: Linux 2.6.26-rc4-dirty c67x00-hcd
usb usb1: SerialNumber: c67x00_sie
c67x00 c67x00.0: Cypress C67X00 Host Controller
c67x00 c67x00.0: new USB bus registered, assigned bus number 2
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: Cypress C67X00 Host Controller
usb usb2: Manufacturer: Linux 2.6.26-rc4-dirty c67x00-hcd
usb usb2: SerialNumber: c67x00_sie
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Freeing unused kernel memory: 3036k init
init started: BusyBox v1.12.0.svn (2008-07-30 00:35:26 EDT)
starting pid 124, tty '': '/etc/init.d/rcS'
Mounting FileSystems in fstabmount: mounting none on /config failed: No
such device
.
* Starting mdev .
Running hostname to set hostname.
Starting: klogd.
Starting: udhcpcnet eth0: temac_set_mac_address(00:50:C2:44:28:14)
.
Starting Dropbear SSH server: [183] Jan 01 00:00:08 Running in
backgrounddropbear.
Starting: httpd
.
Running rdate to synchronize clockrdate: bad address '0.us.pool.ntp.org'
Starting: telnetd.
starting pid 207, tty '': '/bin/sh'
/bin/sh: can't access tty; job control turned off
/ # [222] Jan 01 00:00:49 Child connection from 172.16.0.1:49453
sd 0:0:0:0: [sda] Assuming drive cache: write through
[222] Jan 01 00:00:55 password auth succeeded for 'root' from
172.16.0.1:49453
sd 0:0:0:0: [sda] Assuming drive cache: write through
And the following from dmesg
usbmon: debugfs is not available
c67x00 c67x00.0: Cypress C67X00 Host Controller
drivers/usb/core/inode.c: creating file 'devices'
drivers/usb/core/inode.c: creating file '001'
c67x00 c67x00.0: new USB bus registered, assigned bus number 1
usb usb1: default language 0x0409
usb usb1: uevent
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: ganged power switching
hub 1-0:1.0: global over-current protection
hub 1-0:1.0: power on to power good time: 100ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: no over-current condition exists
hub 1-0:1.0: enabling power on all ports
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Cypress C67X00 Host Controller
usb usb1: Manufacturer: Linux 2.6.26-rc4-dirty c67x00-hcd
usb usb1: SerialNumber: c67x00_sie
c67x00 c67x00.0: Cypress C67X00 Host Controller
drivers/usb/core/inode.c: creating file '002'
c67x00 c67x00.0: new USB bus registered, assigned bus number 2
usb usb2: default language 0x0409
usb usb2: uevent
usb usb2: usb_probe_device
usb usb2: configuration #1 chosen from 1 choice
usb usb2: adding 2-0:1.0 (config #1, interface 0)
usb 2-0:1.0: uevent
hub 2-0:1.0: usb_probe_interface
hub 2-0:1.0: usb_probe_interface - got id
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
hub 2-0:1.0: standalone hub
hub 2-0:1.0: ganged power switching
hub 2-0:1.0: global over-current protection
hub 2-0:1.0: power on to power good time: 100ms
hub 2-0:1.0: local power source is good
hub 2-0:1.0: no over-current condition exists
hub 2-0:1.0: enabling power on all ports
hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: Cypress C67X00 Host Controller
usb usb2: Manufacturer: Linux 2.6.26-rc4-dirty c67x00-hcd
usb usb2: SerialNumber: c67x00_sie
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Freeing unused kernel memory: 3036k init
net eth0: eth0: Xilinx Embedded Tri-Mode Ethernet MAC Dec 11 2008 17:56:55
net eth0: temac d0000000 sdma d0002100
net eth0: xilinx_lltemacEthernet connected at 1000Mbps Full-Duplex
net eth0: temac_set_mac_address(00:50:C2:44:28:14)
net eth0: eth0: Promiscuous mode disabled.
net eth0: eth0: Promiscuous mode disabled.
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
hub 1-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
c67x00 c67x00.0: ClearPortFeature (0): C_RESET
usb 1-1: new full speed USB device using c67x00 and address 2
c67x00 c67x00.0: ClearPortFeature (0): C_RESET
usb 1-1: default language 0x0409
usb 1-1: uevent
usb 1-1: usb_probe_device
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: adding 1-1:1.0 (config #1, interface 0)
usb 1-1:1.0: uevent
usb-storage 1-1:1.0: usb_probe_interface
usb-storage 1-1:1.0: usb_probe_interface - got id
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
drivers/usb/core/inode.c: creating file '002'
usb 1-1: New USB device found, idVendor=0930, idProduct=6545
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: TransMemory
usb 1-1: Manufacturer: TOSHIBA
usb 1-1: SerialNumber: 06D0AB60F18358C7
scsi 0:0:0:0: Direct-Access TOSHIBA TransMemory 5.00 PQ: 0
ANSI: 0 CCS
sd 0:0:0:0: [sda] 4028416 512-byte hardware sectors (2063 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 4028416 512-byte hardware sectors (2063 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
usb-storage: device scan complete
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.
"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-10 16:34 ` Michal Simek
2008-12-11 23:52 ` David H. Lynch Jr.
@ 2008-12-12 7:14 ` David H. Lynch Jr.
2008-12-13 18:41 ` David H. Lynch Jr.
2 siblings, 0 replies; 16+ messages in thread
From: David H. Lynch Jr. @ 2008-12-12 7:14 UTC (permalink / raw)
To: linuxppc-embedded
More info.
there are 3 USB connectors on this board
Host 1 - SIE1a
Host 2 - SIE1b
Peripheral 1 SIE2a
At the moment I do nto care about Peripheral 1.
I am virtually certain A0 and A1 are not switched.
with no USB devices plugged in
The status port is returning a value of 0x30 if I read it
immediately after iomapping the device.
It returns a value of 0x20 after calling c67x00_ll_init() and
c67x00_ll_hpi_reg_init()
The instant request_irq() is called before a single subsequent line
in the driver executes c67x00_irq() is called.
at that point c67x00_ll_hpi_status(c67x00); returns 0x20
the remainder of the interrupt handle is called and the status
changes to 0x0 - and remains there.
Howevr USB interrupts continue to occur until the kernel gets ticked
and turns them off.
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.
"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-10 16:34 ` Michal Simek
2008-12-11 23:52 ` David H. Lynch Jr.
2008-12-12 7:14 ` David H. Lynch Jr.
@ 2008-12-13 18:41 ` David H. Lynch Jr.
2008-12-13 18:58 ` Peter Korsgaard
2 siblings, 1 reply; 16+ messages in thread
From: David H. Lynch Jr. @ 2008-12-13 18:41 UTC (permalink / raw)
To: linuxppc-embedded
Worked out the interrupt problem - the FPGA parameters for the USB
interrupt were wrong.
But I still can not get host 1B working. Any sugestions as to something
I can look at ?
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too
numerous to list.
"Any intelligent fool can make things bigger and more complex... It
takes a touch of genius - and a lot of courage to move in the opposite
direction."
Albert Einstein
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-13 18:41 ` David H. Lynch Jr.
@ 2008-12-13 18:58 ` Peter Korsgaard
2008-12-13 20:27 ` David H. Lynch Jr.
0 siblings, 1 reply; 16+ messages in thread
From: Peter Korsgaard @ 2008-12-13 18:58 UTC (permalink / raw)
To: David H. Lynch Jr.; +Cc: linuxppc-embedded
>>>>> "David" == David H Lynch <dhlii@dlasys.net> writes:
David> Worked out the interrupt problem - the FPGA parameters
David> for the USB interrupt were wrong.
Ahh.
David> But I still can not get host 1B working. Any sugestions as to
David> something I can look at ?
Not right away. All the platforms I have been using have only used
port 1A, so there could potentially be a mistake in the driver /
firmware.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Is anyone using the C67x00 USB Host ?
2008-12-13 18:58 ` Peter Korsgaard
@ 2008-12-13 20:27 ` David H. Lynch Jr.
0 siblings, 0 replies; 16+ messages in thread
From: David H. Lynch Jr. @ 2008-12-13 20:27 UTC (permalink / raw)
To: Peter Korsgaard; +Cc: linuxppc-embedded
Peter Korsgaard wrote:
> David> But I still can not get host 1B working. Any sugestions as to
> David> something I can look at ?
>
> Not right away. All the platforms I have been using have only used
> port 1A, so there could potentially be a mistake in the driver /
> firmware.
Thanks, even knowing that helps.
I have spent most of this morning soldering a wirewraped USB connector
to my board.
If the interrupt firware was wrong, maybe somebody switched D+ and D- or
maybe I can connect to 2a and use it as a 2nd host.
Unfortunately no joy.
As best as I can tell the USB system is finding 1A,1B, amd 2A - ls
/dev/usbdev* lists
usbdev1.1 usbdev1.1_ep00 usbdev1.1_ep81 usbdev1.2 usbdev1.2_ep00
usbdev1.2_ep01 usbdev1.2_ep81 usbdev2.1 usbdev2.1_ep00 usbdev2.1_ep81
How about anybody used 2A or 2B ?
Anybody know of a Xilinx/Cypres test app that tests hosts on anything
but 1A ?
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.
"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2008-12-13 20:27 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-05 15:32 Is anyone using the C67x00 USB Host ? David H. Lynch Jr.
2008-12-08 9:13 ` Peter Korsgaard
2008-12-09 20:22 ` David H. Lynch Jr.
2008-12-09 21:11 ` Peter Korsgaard
2008-12-08 14:11 ` Michal Simek
2008-12-09 20:27 ` David H. Lynch Jr.
2008-12-10 9:20 ` Michal Simek
2008-12-10 12:00 ` Peter Korsgaard
2008-12-10 14:36 ` Michal Simek
2008-12-10 14:43 ` Peter Korsgaard
2008-12-10 16:34 ` Michal Simek
2008-12-11 23:52 ` David H. Lynch Jr.
2008-12-12 7:14 ` David H. Lynch Jr.
2008-12-13 18:41 ` David H. Lynch Jr.
2008-12-13 18:58 ` Peter Korsgaard
2008-12-13 20:27 ` David H. Lynch Jr.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).