RE: c67x00 driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux