Skip to contentSkip to conversation

ML403 USB driver

DISCUSSION Lorenz Kolb 3 participants 5 messages Nov 20, 2007 – Nov 23, 2007

lore
Share & tools
lore
#0 lore raw

Hi,

we just tried the USB driver (from Peter Korsgaard) from Grant's virtex tree.

Nevertheless we could not get the peripheral ports work as gadgets. Has anyone tried (and probably fixed) that before?

Anyway, only one of the two peripheral ports seems to be active.

We use kernel 2.6.22 (as some usb related stuff has recently changed and the driver would have to be changed), usb host works (usb-storage, cdc_ether, some more stuff we tested)

Regards,

Lorenz Kolb

Signature · 2 lines
View this message in context: http://www.nabble.com/ML403-USB-driver-tf4844098.html#a13858912
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#1 lore raw
Quoted 8 lines · Lorenz Kolb

Hi,

we just tried the USB driver (from Peter Korsgaard) from Grant's virtex tree.

Nevertheless we could not get the peripheral ports work as gadgets. Has anyone tried (and probably fixed) that before?

That driver does not work for gadget ports.

Quoted 2 lines

Anyway, only one of the two peripheral ports seems to be active.

Yes, I've got that problem here too. I haven't yet solved it. Any help would be appreciated.

Quoted 3 lines

We use kernel 2.6.22 (as some usb related stuff has recently changed and the driver would have to be changed), usb host works (usb-storage, cdc_ether, some more stuff we tested)

Cheers,
g.

Signature · 4 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
[email protected]
(403) 399-0195
#2 lore raw
Quoted 4 lines · Grant Likely-2 wrote:
Quoted 1 line · Lorenz Kolb
Quoted 9 lines
Quoted 1 line

Anyway, only one of the two peripheral ports seems to be active.

Yes, I've got that problem here too. I haven't yet solved it. Any help would be appreciated.

Cheers,
g.

Well that's what we have found out till now, maybe it helps, or at least what we think to have found out:
- First of all to the non functioning peripheral port:
It is "USB Peripheral 1".
According to the schematics it should be powered using the OTGVBus-Port of the Cypress-Controller (nevertheless it has currently no level)

- Secondly there is no configuration 1 Host + 2 Peripherals according to the datasheet from Cypress
- Thirdly the initial configuration (at least that is what we are guessing) seems to be done via some standalone program coming from an Eeprom.
- The three pins near the UART port are the serial console for the Cypress chip (we have not yet done any tests with that).
- At least the peripherals are connected in a right way, as one SIE can only have one peripheral

Some question aside the peripheral topic:
Has anyone any idea how to make the cypress chip to have a _normal_ Host not an OTG one (as some USB-Hub might save us from our dilemma why we tried to use gadgets in peripheral mode)?

Regards,

Lorenz Kolb

Signature · 2 lines
View this message in context: http://www.nabble.com/ML403-USB-driver-tf4844098.html#a13872475
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#3 lore raw
In reply to Lorenz Kolb
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Lorenz" == Lorenz Kolb <[email protected]> writes:

Lorenz> Hi,

Lorenz> we just tried the USB driver (from Peter Korsgaard) from Lorenz> Grant's virtex tree.

Lorenz> Nevertheless we could not get the peripheral ports work as gadgets. Lorenz> Has anyone tried (and probably fixed) that before?

My driver so far only has host support. I'm working on the peripheral support (or rather, a colleage of mine is) but it's quite early days ..

Lorenz> Anyway, only one of the two peripheral ports seems to be active.

The Linux gadget stack only support a single peripheral port.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

Hi Peter,

I've done a bunch more work on the host side of the c67x00 driver. I'd like to try and get it into 2.6.25. I'm planning to post a cleaned up set of patches to the usb-list this afternoon for review.

However, the change set between what you posted and what I have now is quite large so I've also pushed my incremental patch set to my git tree so you can see how it has changed from your original patchset.

(BTW, ignore the last patch in the series; that was for experimentation only and it won't be in the cleaned up patchset)

You can see the tree at:
http://git.secretlab.ca/git/gitweb.cgi?p=linux-2.6-virtex.git;a=shortlog;h=virtex-c67x00-dev

Or you can pull from:

git://git.secretlab.ca/git/linux-2.6-virtex.git virtex-c67x00-dev

Grant Likely (17):
[C67x00] Fix calculation of frame bandwidth
[c67x00] Remove unnecessary references to pt_regs
[C67x00] Added error handling paths to lowlevel interface code [C67x00] Change 'struct c67x00_drv' to 'struct c67x00_device'
C67x00: Add registration banner
[C67x00] Merge c67x00-hub.c into c67x00-hcd.c
C67x00: fixes for 2.6.24
c67x00: consolidate header files
C67x00: Eliminate done list lock
c67x00: Fix incorrectly handled error path.
c67x00: Tighten up error paths
c67x00: Fix race condition in ll_start()
c67x00: eliminate unnecessary INIT_COMPLETION() in low level interface.
c67x00: Use an inline function instead of #define for dbg_td
c67x00: Fix manipulation of urb_iso_count
c67x00: fix unnecessary list_for_each_entry_safe()
c67x00: eliminate done tasklet

Peter Korsgaard (4):
[C67x00] Make usb_hcd_irq work for multi-role USB controllers w/
shared irq
[C67x00] Base support for the Cypress c67x00 multi-role USB controllers [C67x00] HCD support for Cypress c67x00
[C67x00] Gadget support for Cypress c67x00

 drivers/usb/Kconfig                |    2 +
 drivers/usb/Makefile               |    2 +
 drivers/usb/c67x00/Kconfig         |   22 +
 drivers/usb/c67x00/Makefile        |   15 +
 drivers/usb/c67x00/c67x00-drv.c    |  301 +++++++++
 drivers/usb/c67x00/c67x00-hcd.c    |  390 ++++++++++++
 drivers/usb/c67x00/c67x00-hcd.h    |  162 +++++
 drivers/usb/c67x00/c67x00-ll-hpi.c |  512 ++++++++++++++++
 drivers/usb/c67x00/c67x00-sched.c  | 1188 ++++++++++++++++++++++++++++++++++++
 drivers/usb/c67x00/c67x00-udc.c    |  166 +++++
 drivers/usb/c67x00/c67x00-udc.h    |   59 ++
 drivers/usb/c67x00/c67x00.h        |  236 +++++++
 drivers/usb/core/hcd.c             |    6 +-
 drivers/usb/gadget/Kconfig         |    7 +
 include/linux/usb/c67x00.h         |   45 ++
 15 files changed, 3112 insertions(+), 1 deletions(-)
 create mode 100644 drivers/usb/c67x00/Kconfig
 create mode 100644 drivers/usb/c67x00/Makefile
 create mode 100644 drivers/usb/c67x00/c67x00-drv.c
 create mode 100644 drivers/usb/c67x00/c67x00-hcd.c
 create mode 100644 drivers/usb/c67x00/c67x00-hcd.h
 create mode 100644 drivers/usb/c67x00/c67x00-ll-hpi.c
 create mode 100644 drivers/usb/c67x00/c67x00-sched.c
 create mode 100644 drivers/usb/c67x00/c67x00-udc.c
 create mode 100644 drivers/usb/c67x00/c67x00-udc.h
 create mode 100644 drivers/usb/c67x00/c67x00.h
 create mode 100644 include/linux/usb/c67x00.h

Cheers,
g.

Quoted 25 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Lorenz" == Lorenz Kolb <[email protected]> writes:

Lorenz> Hi,

Lorenz> we just tried the USB driver (from Peter Korsgaard) from Lorenz> Grant's virtex tree.

Lorenz> Nevertheless we could not get the peripheral ports work as gadgets. Lorenz> Has anyone tried (and probably fixed) that before?

My driver so far only has host support. I'm working on the peripheral support (or rather, a colleage of mine is) but it's quite early days ..

Lorenz> Anyway, only one of the two peripheral ports seems to be active.

The Linux gadget stack only support a single peripheral port.

--
Bye, Peter Korsgaard
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Signature · 4 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
[email protected]
(403) 399-0195