From owner-freebsd-arm@FreeBSD.ORG Sat May 21 08:27:37 2011 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07AC91065674; Sat, 21 May 2011 08:27:37 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from out4.smtp.messagingengine.com (out4.smtp.messagingengine.com [66.111.4.28]) by mx1.freebsd.org (Postfix) with ESMTP id C4A318FC0A; Sat, 21 May 2011 08:27:36 +0000 (UTC) Received: from compute4.internal (compute4.nyi.mail.srv.osa [10.202.2.44]) by gateway1.messagingengine.com (Postfix) with ESMTP id BB00C20595; Sat, 21 May 2011 04:27:35 -0400 (EDT) Received: from frontend1.messagingengine.com ([10.202.2.160]) by compute4.internal (MEProxy); Sat, 21 May 2011 04:27:35 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=messagingengine.com; h=date:from:to:cc:subject:message-id:in-reply-to:references:mime-version:content-type:content-transfer-encoding; s=smtpout; bh=j0PKu2UXgjAj15BEKelQTALsUCU=; b=Ijlq0OFgycWrCc6OgQhcFFVrsFcnmQrO8MMFOe6hz733U1CYb6SJTQ/M1af6ZievweuU+0Uwe9+mW2u0PEP1/By4xCh00JQZMSZaNkgp+UvCbwmqKWoz7gZYg7X7Iiih/1Bjv3qMfvGlRfPA1kcXFLrW45WjRivTLNn9mU64LUs= X-Sasl-enc: Y1tydHM/qyK89Meh7KnKkIsn90hcnOI0pg+aTKWJOZbS 1305966455 Received: from localhost (222-154-122-100.jetstream.xtra.co.nz [222.154.122.100]) by mail.messagingengine.com (Postfix) with ESMTPA id 7CB814021FF; Sat, 21 May 2011 04:27:34 -0400 (EDT) Date: Sat, 21 May 2011 20:27:34 +1200 From: Andrew Turner To: Mark Murray Message-ID: <20110521202734.51d042e6@fubar.geek.nz> In-Reply-To: References: <20110425163549.2bcc8551@fubar.geek.nz> <20110425170105.37c7d853@fubar.geek.nz> <20110426035423.1b4b592c@fubar.geek.nz> <20110518083117.761cf4c7@fubar.geek.nz> X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.1; i386-portbld-freebsd8.0) X-Pirate: Arrrr Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Cc: freebsd-arm@freebsd.org Subject: Re: OMAP3 patch X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 May 2011 08:27:37 -0000 On Wed, 18 May 2011 11:32:53 +0100 Mark Murray wrote: > Andrew Turner writes: > > It appears you have a Beagleboard-xM. I haven't had a chance to test > > booting on the xM yet so it may be broken. >=20 > Oh bother :-) Yes I have an -xM. =46rom a software point of view the DM3730 in the -xM and the OMAP3530 are almost identical. The main differences between the boards are the peripherals. I've tested the same binary on both now and it boots (see below). > > The xM also needs a driver written to enable the USB host hardware. >=20 > I've seen some traffic on that sobject recently. The 4 USB Host connectors are attached to a USB PHY that is enabled via the TPS65950 chip's LED interface. The only requirement to get USB working should be to set the appropriate line high. Alternatively you could try to get the USB OTG working as a host if you have the appropriate cable. >=20 > > > ** Unable to read "user.scr" from mmc 1:1 ** > > > reading uImage > > >=20 > > > 3994161 bytes read > > > Booting from mmc ... > > > ## Booting kernel from Legacy Image at 80200000 ... > > > Image Name: FreeBSD > > > Image Type: ARM Linux Kernel Image (uncompressed) > > > Data Size: 3994097 Bytes =3D 3.8 MB > > > Load Address: 80200000 > > > Entry Point: 802000e0 > > > Verifying Checksum ... OK > > > XIP Kernel Image ... OK > > These addresses are interesting. I don't think XIP will work. You > > can try to load the image to a different address in U-Boot or build > > FreeBSD to run at a different address. >=20 > Erm, OK. :-) >=20 > Suggestions of where to look to find alternatives? I've put an updated copy of std.omap3 at [1]. Place it in sys/arm/cortexa8/omap3. With it I've managed to get FreeBSD to the mountroot prompt. Because the kernel is running from a different address you will need to do a full buildkernel. I've updated the kernel build script at [2] to be smarter about setting the load address (i.e. not hard coded). As far as I can tell U-Boot uses memmove to copy the kernel from where it is loaded to where it will be run from. This means the requirements for the kernel's load address are: * Don't overwrite the U-Boot code * Be different from the loadaddr U-Boot variable > Try what instead of XIP? Normally U-Boot will load the kernel to $loadaddr then copy it to the correct location. There is a short header with the information it needs to do this. When this $loadaddr and the value printed after "Load Address:" are the same no copy takes place. Andrew [1] http://fubar.geek.nz/files/freebsd/omap/std.omap3 [2] http://fubar.geek.nz/files/freebsd/omap/build_beagle.sh