USB troubles with OMAP5910 based board
Ladislav Michl
ladis at linux-mips.org
Mon Feb 21 07:51:29 CST 2005
On Mon, Dec 20, 2004 at 08:18:40AM -0800, David Brownell wrote:
> Did you actually try HMC 4 and see it not work??
Today I did some more experiments with USB...
To avoid any troubles caused with wrong MUX configuration (OMAP5910 in
GDY package) and HMC setting I made cable for J1 connector (schematic here:
ftp://ftp.linux-mips.org/pub/linux/mips/people/ladis/omap-voiceblue-usb.pdf)
so internal tranceiver is used. Power is enabled via mpuio11.
First I ported linux-2.4.21-rmk1-omap1 to my board, because I found few
posts stating that it works with 5910 (Here big thanks to anyone who
was working on 2.6 OMAP port. Not until now I can fully appreciate amount
of work and ideas invested into 2.6 code) and because I had no luck with
2.4 kernel either I returned to 2.6.
omap_usb_config is initialized this way:
static struct omap_usb_config voiceblue_usb_config __initdata = {
.hmc_mode = 16,
.register_host = 1,
.pins[0] = 2,
};
* Before connecting Seitec USB bar (known to work with PC host)
# cat /sys/class/usb_host/usb1/registers
bus platform, device ohci
ohci_hcd version 2004 Nov 08
OHCI 1.0, with legacy support registers
control 0x083 HCFS=operational CBSR=3
cmdstatus 0x00000 SOC=0
intrstatus 0x00000040 RHSC
intrenable 0x8000001a MIE UE RD WDH
hcca frame 0x0000
fmintvl 0x27782edf FSMPS=0x2778 FI=0x2edf
fmremaining 0x00002781 FR=0x2781
periodicstart 0x2a2f
lsthresh 0x0628
roothub.a 0a001203 POTPGT=10 NOCP NPS NDP=3
roothub.b 00000000 PPCM=0000 DR=0000
roothub.status 00008000 DRWE
roothub.portstatus [0] 0x00000100 PPS
roothub.portstatus [1] 0x00000100 PPS
roothub.portstatus [2] 0x00000100 PPS
* connecting USB bar:
usb 1-1: new full speed USB device using ohci and address 2
ohci ohci: Unlink after no-IRQ? Controller is probably using the wrong IRQ.
* after USB bar connected
# cat /sys/class/usb_host/usb1/registers
bus platform, device ohci
ohci_hcd version 2004 Nov 08
OHCI 1.0, with legacy support registers
control 0x083 HCFS=operational CBSR=3
cmdstatus 0x00002 SOC=0 CLF
intrstatus 0x00000040 RHSC
intrenable 0x8000001e MIE UE RD SF WDH
ed_controlhead 33f04000
hcca frame 0x0000
fmintvl 0x27782edf FSMPS=0x2778 FI=0x2edf
fmremaining 0x00002bcb FR=0x2bcb
periodicstart 0x2a2f
lsthresh 0x0628
roothub.a 0a001203 POTPGT=10 NOCP NPS NDP=3
roothub.b 00000000 PPCM=0000 DR=0000
roothub.status 00008000 DRWE
roothub.portstatus [0] 0x00000103 PPS PES CCS
roothub.portstatus [1] 0x00000100 PPS
roothub.portstatus [2] 0x00000100 PPS
And /proc/interrupts indeed shows zero interrupts for ohci_hcd. The same
happens if low speed device is connected. Message above is printed only
once, further connections and disconnections have no effect.
Next test I did uses HMC mode 21 which provides internal loopback
between Host Port 3 and USB Function Controler. I assume that
g_file_storage module using omap_udc should be seen as mass storage
device. Unfortunately this doesn't work either :(
Does anyone have OMAP1510 or preferably OMAP5910 based board and can
confirm that USB host works using HMC mode 16? Is there any systematic
way to debug ohci-omap driver?
Thanks in advance,
ladis
More information about the Linux-omap-open-source
mailing list