Peter Korsgaard wrote: > I don't see anything with platform devices for the c67x00 driver. I added the relevant struct information. The patch is attached. > Either you do this by hand or you > create XPAR_* macros which take the needed info out of xparameter.h > (sorry, I don't have an xparameters.h with those defines at hand). I generate the xparameters_ml403.h file using Xilinx's EDK base system builder wizard. However, the wizard does not automatically enable the Cypress device to be interrupt driven. I have manually done this as described in the attached patch. The resulting xparameters_ml403.h has the following defines: sellsa@SS-SBIR-Ubuntu:~/spacesuit/linux-2.6-xlnx$ cat arch/ppc/platforms/4xx/xparameters/xparameters_ml403.h | grep USB /* Definitions for peripheral CYPRESS_USB */ #define XPAR_CYPRESS_USB_PRH0_BASEADDR 0x80800000 #define XPAR_CYPRESS_USB_PRH0_HIGHADDR 0x8080FFFF #define XPAR_SYSTEM_USB_INT_PIN_MASK 0X000001 #define XPAR_XPS_INTC_0_SYSTEM_USB_INT_PIN_INTR 0 When I boot the Xilinx ML403 board up, I get the following: [ 9.256329] ------------[ cut here ]------------ [ 9.260000] Badness at drivers/usb/c67x00/c67x00-ll-hpi.c:244 [ 9.260000] NIP: c01b5d6c LR: c01b5d60 CTR: c00170f4 [ 9.260000] REGS: c3c19d70 TRAP: 0700 Not tainted (2.6.24-rc8-xlnx-dirty) [ 9.260000] MSR: 00029030 CR: 24000082 XER: 20000073 [ 9.260000] TASK = c3c178a0[1] 'swapper' THREAD: c3c18000 [ 9.260000] GPR00: 00000001 c3c19e20 c3c178a0 00000000 c032f518 c0372730 27b38fa6 00000001 [ 9.260000] GPR08: 00000000 00200200 c3d2b164 c3d2b164 24000082 ffffcd64 c02d4c5c c02d4c6c [ 9.260000] GPR16: c02d4c90 c02d4c98 c02d4ca8 c02d4cd4 c02d4ce8 00000000 c02d7114 c0370e78 [ 9.260000] GPR24: c0360000 c02d4c54 c0330724 00000000 c3d2b148 00000000 c3d2b140 c0330708 [ 9.260000] NIP [c01b5d6c] c67x00_ll_reset+0x48/0x88 [ 9.260000] LR [c01b5d60] c67x00_ll_reset+0x3c/0x88 [ 9.260000] Call Trace: [ 9.260000] [c3c19e20] [c01b5d60] c67x00_ll_reset+0x3c/0x88 (unreliable) [ 9.260000] [c3c19e40] [c02885e0] c67x00_drv_probe+0x16c/0x2d8 [ 9.260000] [c3c19e70] [c01694b0] platform_drv_probe+0x20/0x30 [ 9.260000] [c3c19e80] [c01674f8] driver_probe_device+0xec/0x194 [ 9.260000] [c3c19ea0] [c0167750] __driver_attach+0x88/0xf4 [ 9.260000] [c3c19ec0] [c0166648] bus_for_each_dev+0x58/0x98 [ 9.260000] [c3c19ef0] [c01672f4] driver_attach+0x24/0x34 [ 9.260000] [c3c19f00] [c016706c] bus_add_driver+0xb4/0x218 [ 9.260000] [c3c19f20] [c0167a64] driver_register+0x78/0x10c [ 9.260000] [c3c19f40] [c016982c] platform_driver_register+0x9c/0xac [ 9.260000] [c3c19f50] [c035fa44] c67x00_init+0x18/0x28 [ 9.260000] [c3c19f60] [c034e200] kernel_init+0xfc/0x294 [ 9.260000] [c3c19ff0] [c00047d8] kernel_thread+0x44/0x60 [ 9.260000] Instruction dump: [ 9.260000] 90010024 480d56c5 38800000 7fa3eb78 6084fa50 4bfff2f5 387d0020 388004e2 [ 9.260000] 480d48d9 707dffff 7c000026 54001ffe <0f000000> 3c00ffff 7fbd00d0 60000005 [ 11.316192] c67x00 c67x00.0: Device reset failed [ 11.364172] c67x00: probe of c67x00.0 failed with error 65531 Sam, since you have this working, any help would be greatly appreciated. What else do I need to do in order to get USB host working on this board?