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