From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus =?iso-8859-1?Q?Klotzb=FCcher?= Date: Thu, 11 Jan 2007 15:11:08 +0100 Subject: [U-Boot-Users] reg ISP 1561 integration with u-boot1.1.6 In-Reply-To: <200701111339.01196.matthias.fuchs@esd-electronics.com> (Matthias Fuchs's message of "Thu, 11 Jan 2007 13:39:00 +0100") References: <4ac2955e0701040358u5699f021o163696f8cf70ba4a@mail.gmail.com> <200701110950.08710.matthias.fuchs@esd-electronics.com> <873b6hna01.fsf@denx.de> <200701111339.01196.matthias.fuchs@esd-electronics.com> Message-ID: <877ivtu003.fsf@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Matthias, Matthias Fuchs writes: > On Thursday 11 January 2007 11:17, Markus Klotzb?cher wrote: >> Hi Matthias, >> >> Matthias Fuchs writes: >> >> > On Wednesday 10 January 2007 23:01, Markus Klotzb?cher wrote: >> >> Matthias Fuchs writes: >> >> >> > The main changes concern endianess fixes. The former code only supports OHCI >> >> > controller with the same endianess as the CPU. The other fix allows a offset >> >> >> >> IIRC same problem with the 440EP and MPC5200, thats what the extra >> >> #ifdef in drivers/usb_ohci.c:103 is for. >> > These are different issues! usb_ohci.c uses readl and writel to access the >> > controller's registers from the CPU (e.g. ohci.regs). The original code never >> > swaps here. But a PCI OHCI controller on a PowerPC needs it. The mXX_swap >> > macros are used to swap data fields in structures that are passed to the host >> > controller indirectly. >> >> I get it. So in the end we have four cases: byte swapping register >> access or not _and_ byte swapping data or not. Right? Doesn't sound too >> complicated. > What about taking some code / macros from the linux kernel (usb/host/ohci.h)? > It seems that all we need is the CONFIG_USB_OHCI_BIG_ENDIAN define. Seems reasonable. So we'll use these for register accesses, and the rest stays as is doing CPU dependant byteswapping based on the LITTLEENDIAN define (include/usb.h). Ok? >> >> > 2) I had to disable the 'return -1' statement for an unfinished urb in >> >> > sohci_submit_job(). Why isn't it finished? >> >> >> >> I really don't know, I guess only you can answer this! >> > This answer helps me a lot. Why is the urb_finished stuff needed? I go better >> > without :-) >> >> Did you see the comment in usb_ohci.c:1355? It's to make sure a >> transaction has completed before a new one is started. I'm not insisting >> to keep this if it's useless, but we need to prove that first. Obviously >> it was put there for some reason. > The code makes sense. But it does not work for me. I will investigate some more time > on this and figure it out. Thanks! Regards Markus Klotzbuecher