Hi,
At 17 Jan 2002 11:02:03 -0800,
Pete Popov wrote:
>
> On Thu, 2002-01-17 at 02:36, Kunihiko IMAI wrote:
> > Hi,
> >
> > I'm trying SGI version of kernel-2.2.17.
> > And I get same message,
> >
> > At Thu, 10 Jan 2002 18:40:24 +0100,
> > Wolfgang Heidrich wrote:
> >
> > > hub.c: USB new device connect on bus1/1, assigned device number 3
> > > usb.c: USB device not accepting new address=3 (error=-145)
>
> I'm surprised the sgi kernel works with usb at all. We did a patch for
> non-pci usb devices which was not accepted by the usb project at that
> time because they were working on a different solution.
Of course, I patched usb-ohci code with memory mapped I/O support.
It is very ugly code, so Linux USB stuff will not accept, I think.
About two years ago, I ported USB OHCI to StrongARM SA1111 CPU and
SA1111 companion chip. At that time, I suggested to the author of
usb-ohci.c that it should be better to support of memory mapped I/O
device, but it was not accepted. On StrongARM, it has DMA memory
coherency problem, too. (Au1000 has bus snoop function, so this is not
a problem.)
> > The errata report says workaround method:
> > - set the CPU clock is 384MHz
> > - set the source of USB host controller is CPU clcck.
> >
> > And the code:
> >
> > /*
> > * Setup 48MHz FREQ2 from CPUPLL for USB Host
> > */
> > /* FRDIV2=3 -> div by 8 of 384MHz -> 48MHz */
> > sys_freqctrl |= ((3<<22) | (1<<21) | (0<<20));
> > outl(sys_freqctrl, FQ_CNTRL_1);
> >
> > Comment says "Setup FREQ2" but the code set FREQ5.
>
> It's the comment that's wrong, not the code. The code works and has been
> tested. Alchemy makes available the Linux Support Package (LSP) which
> we did. That kernel has been tested with all peripherals so I would
> recommend that you get that from them. Also,make sure your jumpers are
> setup correctly (S4).
In the source code:
sys_clksrc |= ((4<<12) | (0<<11) | (0<<10));
(snip...)
outl(sys_clksrc, CLOCK_SOURCE_CNTRL);
This code sets the clock source of USB host controller is FREQ2. So
FREQ5 clock source doesn't affect to USB host controller.
And I found HHL version of kernel source code in Pb1000 CD-ROM. I'll
read it.
> I do have a better USB workaround which checks the CPU silicon rev, but
> I haven't had time to send Ralf an updated patch. The current setup.c
> should work though. Get the latest LSP from Alchemy, check the S4
> jumpers (1-4 off, 5-6 on, 7-8 off), and let me know if it still doesn't
> work for you.
OK. I checked S4 DIP SW, it was setted same config.
# Pb1000 documentation doesn't clearly explain at this configration.
# So I looked schematics of Pb1000.
This switch affects only J24 connector setting. J2 connector is not
affected by S4.
Thanks.
_._. __._ _ . ... _ .___ ._. _____ _... ._ _._ _.._. .____ _ . ... _
Kunihiko IMAI
|