Cypress C67X00 driver question

2 messages, 2 authors, 2007-08-09 · open the first message on its own page

Cypress C67X00 driver question

From: Robertson, Joseph M. <hidden>
Date: 2007-08-08 20:34:48

Hi all,
First off big thanks to the guys working on the Cypress USB C67X00 driver!  
Without them I would not even be this far.

But my question for them is:  How are you guys initializing the Cypress chip?
It looks like the driver is expecting the cypress to be programmed and ready.

I have a FPGA design with a Cypress C67300 which has no eeprom or cpld, so it just comes up blank in coprocessor mode.

I believe I need to 'program' the chip and kick it before the driver loads is that right?
Has anyone ever done this before?  
The Cypress docs do not even begin to provide a simple example of the minimum registers to set
before the usb will 'work'.  I just need 2 hosts.

Thanks,

Joe Robertson
x8259
Joseph.Robertson@sanmina-sci.com


CONFIDENTIALITY
This e-mail message and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail message, you are hereby notified that any dissemination, distribution or copying of this e-mail message, and any attachments thereto, is strictly prohibited.  If you have received this e-mail message in error, please immediately notify the sender and permanently delete the original and any copies of this email and any prints thereof.
ABSENT AN EXPRESS STATEMENT TO THE CONTRARY HEREINABOVE, THIS E-MAIL IS NOT INTENDED AS A SUBSTITUTE FOR A WRITING.  Notwithstanding the Uniform Electronic Transactions Act or the applicability of any other law of similar substance and effect, absent an express statement to the contrary hereinabove, this e-mail message its contents, and any attachments hereto are not intended to represent an offer or acceptance to enter into a contract and are not otherwise intended to bind the sender, Sanmina-SCI Corporation (or any of its subsidiaries), or any other person or entity.

Re: Cypress C67X00 driver question

From: Peter Korsgaard <peter.korsgaard@barco.com>
Date: 2007-08-09 07:08:48

quoted
quoted
quoted
quoted
"RJM" == Robertson, Joseph M [off-list ref] writes:
Hi,

RJM> Hi all, First off big thanks to the guys working on the Cypress
RJM> USB C67X00 driver!  Without them I would not even be this far.

You're welcome.

RJM> But my question for them is: How are you guys initializing the
RJM> Cypress chip?  It looks like the driver is expecting the cypress
RJM> to be programmed and ready.

No, you don't need to program anything. The driver only uses he
Cypress BIOS programmed in ROM in the chip.

You just need to register a struct platform_device in your board code
with the base address, IRQ and port configuration - Something like:

#include <linux/usb/c67x00.h

..

static struct resource c67x00_resources[] = {
        [0] = {
                .start  = 0x84000000,
                .end    = 0x8400000f,
                .flags  = IORESOURCE_MEM,
        },
        [1] = {
                .start  = 3,
                .end    = 3,
                .flags  = IORESOURCE_IRQ,
        },
};

static struct c67x00_platform_data c67x00_data = {
        .sie_config             = C67X00_SIE1_HOST | C67X00_SIE2_HOST,
        .hpi_regstep            = 0x02,
};

static struct platform_device c67x00 = {
        .name                   = "c67x00",
        .id                     = 0,
        .num_resources          = ARRAY_SIZE(c67x00_resources),
        .resource               = c67x00_resources,
        .dev.platform_data      = &c67x00_data,
};

-- 
Bye, Peter Korsgaard
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help