Dear Peter, Thank you for your response. I made some progress since my last email. I added some information to my platform in order to the driver is recognized. /************************************************************************/ static struct resource c67x00_resources[] = { [0] = { .start = 0x80800000, .end = 0x8080ffff, .flags = IORESOURCE_MEM, }, [1] = { .start = 17, .end = 17, .flags = IORESOURCE_IRQ, }, }; static struct c67x00_platform_data c67x00_data = { .sie_config = C67X00_SIE1_HOST | C67X00_SIE2_UNUSED, .hpi_regstep = 0x04, /*A0 and A1 not connected on 16bit bus */ }; static struct platform_device c67x00_dev = { .name = "c67x00", .id = 0, .num_resources = ARRAY_SIZE(c67x00_resources), .resource = c67x00_resources, .dev.platform_data = &c67x00_data, }; /*************************************************************************/ And I added the platform_device_register function to add the c67x00_dev device. /***********ajout****************/ platform_device_register(&c67x00_dev); /********************************/ It runs but I have some problems next. When I write a little file (<60kByte) to my USB Key, it's ok. It works. When I write a big file (>60kByte) to my USB Key, It doesn't works. My Linux kernel tries to do the "c67x00_ll_husb_reset" function and crashes because there is no ACK from the CY7C67300. So my question is: what is the configuration of the Cypress for your driver? I mean some registers are not initialized by the driver, like 0xC00E (Interrupt enable register), 0xC00A (Power Control Register) and 0xC002 (Bank Register). Does the driver support bulk transfers and isochronous transfers? Thank you for your help. Regards. Pierre -----Message d'origine----- De : Peter Korsgaard [mailto:jacmet@xxxxxxxxx] De la part de Peter Korsgaard Envoyé : jeudi 31 mars 2011 15:30 À : PEIXOTO Pierre Objet : Re: c67x00 driver >>>>> "PEIXOTO" == PEIXOTO Pierre <ppeixoto@xxxxxxxxxxxxxxx> writes: Hi, Sorry for the slow response - I've been really busy lately. PEIXOTO> Hello, PEIXOTO> I try to use the driver developed for Cypress CY7C67300 USB PEIXOTO> Host controller (c67x00 driver). I work with the Xilinx ML403 PEIXOTO> board and I download the Linux 2.6.37 Kernel from Xilinx web PEIXOTO> site. PEIXOTO> What platform have the driver been configured for? X86? Powerpc? I originally developed the driver on a ppc405 (Xilinx V2P) based platform back in 2007. I haven't done any work on it since some time early 2008. PEIXOTO> I try to implement the open firmware support but I have an PEIXOTO> error in the function ?device_add? (core.c). In the struct PEIXOTO> platform_device c67x00_dev, ?dev? is not initialized, only PEIXOTO> ?dev.platform_data? is initialized. Do you know why? Not offhand. I'm not quite sure what you mean by dev not being initialized, if the platform_data member is. Perhaps you could send some more details? This discussion should probably better be continued on the linux-usb@xxxxxxxxxxxxxxx list, so other people can help as well. -- Bye, Peter Korsgaard -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html