From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Jones Date: Wed, 14 Dec 2011 11:12:46 +0100 Subject: [U-Boot] OMAP4 u-boot broken (was [PATCH] usb: align usb_endpoint_descriptor to 16-bit boundary) In-Reply-To: <4EE75349.1060802@ti.com> References: <1319138737-10443-1-git-send-email-stefan.kristiansson@saunalahti.fi> <4EE75349.1060802@ti.com> Message-ID: <4EE8769E.3030500@matrix-vision.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 12/13/2011 02:29 PM, Aneesh V wrote: > Hi Kristiansson, > > On Friday 21 October 2011 12:55 AM, Stefan Kristiansson wrote: >> The usb_endpoint_descriptor struct is 7 bytes large and is >> defined as an array (ep_desc[USB_MAXENDPOINTS]) >> in the usb_interface struct in include/usb.h >> >> This fact will result in that every odd index in that >> array will start at an uneven address, this in >> turn makes accesses to u16 wMaxPacketSize unaligned. >> Such accesses are illegal on the OpenRISC architecture >> (as well as other architectures) and will render a bus error. >> >> Setting the aligned(2) attribute on usb_endpoint_descriptor >> will force wMaxPacketSize to a 16-bit boundary. >> >> Signed-off-by: Stefan Kristiansson >> --- > > OMAP4 U-Boot is broken in the mainline. U-Boot wouldn't boot up on any > OMAP4 platforms. I suspect this will be the case with any ARM platform > that has enabled USB tty code. I git-bisected the issue to this patch. > I did some analysis on it and here are my findings. I can confirm this on my OMAP3 platform with CONFIG_USB_TTY set. I can get it to boot again by either reverting this patch or unsetting CONFIG_USB_TTY. Looking forward to the fix. -Michael MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Erhard Meier