Hello all, I recently implemented a platform bus glue for on-chip EHCI host controller (ARCs EHCI) which has roothub with built in TT. This uses most of the existing EHCI driver code. When I built kernel with this driver included, it loads without any major problems (please see the /proc/kmsg below).
<4>CPU: Arm920Tid(wb) revision 0 <4>Security risk: creating user accessible mapping for 0xf0000000 at 0xf0000000 <4>Security risk: creating user accessible mapping for 0xf0000000 at 0xf8000000 <4>On node 0 totalpages: 8192 <4>zone(0): 8192 pages. <4>zone(1): 0 pages. <4>zone(2): 0 pages. <4>Kernel command line: root=/dev/ram mem=32M <7>Relocating machine vectors to 0xffff0000 <4>Calibrating delay loop... 89.70 BogoMIPS <6>Memory: 32MB = 32MB total <5>Memory: 18144KB available (1431K code, 452K data, 60K init) <6>Dentry cache hash table entries: 4096 (order: 3, 32768 bytes) <6>Inode cache hash table entries: 2048 (order: 2, 16384 bytes) <6>Mount cache hash table entries: 512 (order: 0, 4096 bytes) <6>Buffer cache hash table entries: 1024 (order: 0, 4096 bytes) <4>Page-cache hash table entries: 8192 (order: 3, 32768 bytes) <6>CPU: Testing write buffer: pass <4>POSIX conformance testing by UNIFIX <6>PCI: bus0: Fast back to back transfers disabled <6>Linux NET4.0 for Linux 2.4 <6>Based upon Swansea University Computer Society NET3.039 <4>Initializing RT netlink socket <4>Starting kswapd <6>devfs: v1.12c (20020818) Richard Gooch ([EMAIL PROTECTED]) <6>devfs: devfs_debug: 0x0 <6>devfs: boot_options: 0x1 <6>i2c-core.o: i2c core module version 2.6.1 (20010830) <6>i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830) <4>ttyRI%d0 at MMIO 0xe0412000 (irq = 2) is a CNXTUART <4>pty: 256 Unix98 ptys configured <4>RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize <6>loop: loaded (max 8 devices) <6>8139too Fast Ethernet driver 0.9.26 <6>eth0: RealTek RTL8139 at 0x42800000, 00:40:f4:33:7b:8c, IRQ 37 <7>eth0: Identified 8139 chip type 'RTL-8139C' <6>SCSI subsystem driver Revision: 1.00 <6>scsi0 : scsi_debug, Version: 0.61 (20020815), num_devs=1, dev_size_mb=8, opts=0x0 <4> Vendor: Linux Model: scsi_debug Rev: 0004 <4> Type: Direct-Access ANSI SCSI revision: 03 <4>Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 <4>SCSI device sda: 16384 512-byte hdwr sectors (8 MB) <6>Partition check: <6> /dev/scsi/host0/bus0/target0/lun0: unknown partition table <6>usb.c: registered new driver usbdevfs <6>usb.c: registered new driver hub <6>usb.c: new USB bus registered, assigned bus number 1 <7>ehci_hcd <NULL>: ehci_start hcs_params 0x10011 dbg=0 ind cc=0 pcc=0 ordered ports=1 <7>ehci_hcd <NULL>: ehci_start hcc_params 0006 thresh 0 uframes 256/512/1024 park <7>ehci_hcd <NULL>: reset command 080b02 park=3 ithresh=8 period=1024 Reset HALT <7>ehci_hcd <NULL>: reset command 080b02 park=3 ithresh=8 period=1024 Reset HALT <7>ehci_hcd <NULL>: init command 010b09 park=3 ithresh=1 period=256 RUN <6>ehci_hcd <NULL>: USB enabled, EHCI 1.00, driver 2003-Dec-29/2.4 <7>hcd.c: hsx root hub device address 1 <7>usb.c: kmalloc IF 400139c0, numif 1 <7>usb.c: new device strings: Mfr=3, Product=2, SerialNumber=1 <7>usb.c: USB device number 1 default language ID 0x0 <6>Manufacturer: Linux 2.4.25-vrs1-cnxt ehci_hcd <6>Product: ARCs EHCI <6>SerialNumber: hsx <6>hub.c: USB hub found <6>hub.c: 1 port detected <7>hub.c: standalone hub <7>hub.c: individual port power switching <7>hub.c: individual port over-current protection <7>hub.c: Single TT <7>hub.c: TT requires at most 8 FS bit times <7>hub.c: Port indicators are supported <7>hub.c: power on to power good time: 0ms <7>hub.c: hub controller current requirement: 0mA <7>hub.c: port removable status: R <7>hub.c: local power source is good <7>hub.c: no over-current condition exists <7>hub.c: enabling power on all ports <7>usb.c: hub driver claimed interface 400139c0 <7>usb.c: kusbd: /sbin/hotplug add 1 <7>usb.c: kusbd policy returned 0xfffffffe <6>usb.c: registered new driver hiddev <6>usb.c: registered new driver hid <6>hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <[EMAIL PROTECTED]> <6>hid-core.c: USB HID support drivers <6>Initializing USB Mass Storage driver... <6>usb.c: registered new driver usb-storage <6>USB Mass Storage support registered. <6>NET4: Linux TCP/IP 1.0 for NET4.0 <6>IP Protocols: ICMP, UDP, TCP <6>IP: routing cache hash table of 512 buckets, 4Kbytes <6>TCP: Hash tables configured (established 2048 bind 4096) <6>NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. <4>Fast Floating Point Emulator V0.9 (c) Peter Teichmann. <5>RAMDISK: ext2 filesystem found at block 0 <5>RAMDISK: Loading 8192 blocks [1 disk] into ram disk... done. <6>Freeing initrd memory: 12288K <7>ehci_hcd <NULL>: GetStatus port 1 status 001403 POWER sig=k CSC CONNECT <7>hub.c: port 1, portstatus 101, change 1, 12 Mb/s <7>hub.c: port 1 connection change <7>hub.c: port 1, portstatus 101, change 1, 12 Mb/s <4>VFS: Mounted root (ext2 filesystem) readonly. <6>Mounted devfs on /dev <6>Freeing init memory: 60K <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>hub.c: port 1, portstatus 111, change 0, 12 Mb/s <7>hub.c: port 1 of hub 1 not reset yet, waiting 10ms <7>hub.c: port 1, portstatus 111, change 0, 12 Mb/s <7>hub.c: port 1 of hub 1 not reset yet, waiting 10ms <7>ehci_hcd <NULL>: port 1 high speed <7>ehci_hcd <NULL>: GetStatus port 1 status 00140d POWER sig=k PEC PE CONNECT <7>hub.c: port 1, portstatus 103, change 10, 12 Mb/s <6>hub.c: new USB device hsx-1, assigned address 2 <6>eth0: link up, 100Mbps, full-duplex, lpa 0x45E1 <4>usb_control/bulk_msg: timeout And also cat /proc/bus/usb/devices shows host controller: # cat /proc/bus/usb/devices T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.04 S: Manufacturer=Linux 2.4.25-vrs1-cnxt ehci_hcd S: Product=Conexant EHCI S: SerialNumber=hsx C:* #Ifs= 1 Cfg#= 1 Atr=40 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=256ms My question is: When I connected a USB flash disc, cat /proc/bus/usb/devices is not showing it. I'm using 2.4.25 kernel on ARM machine. I am wondering what might be the problem? Can anyone please explain where to look to solve this problem? I'm not experienced USB driver programmer, so pointers to source code or any resources is greatly appreciated! Thanks, Subhash ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel