Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Feb 2007 19:22:05 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        xride@x12.dk
Cc:        freebsd-arm@freebsd.org
Subject:   Re: At91rm9200 boot?
Message-ID:  <20070217.192205.547446193.imp@bsdimp.com>
In-Reply-To: <20070217201021.GB66059@x12.dk>
References:  <20070215192810.GC78895@x12.dk> <20070215.134941.104122801.imp@bsdimp.com> <20070217201021.GB66059@x12.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20070217201021.GB66059@x12.dk>
            Soeren Straarup <xride@x12.dk> writes:
: On Thu, Feb 15, 2007 at 01:49:41PM -0700, Warner Losh wrote:
: > From: Soeren Straarup <xride@x12.dk>
: > Subject: Re: At91rm9200 boot?
: > Date: Thu, 15 Feb 2007 20:28:10 +0100
: > 
: > > On Thu, Feb 15, 2007 at 09:46:42AM -0700, M. Warner Losh wrote:
: > > > In message: <45D45269.4050509@bulinfo.net>
: > > >             Krassimir Slavchev <krassi@bulinfo.net> writes:
: > > > : M. Warner Losh wrote:
: > > > : > In message: <45D3119F.4020302@bulinfo.net>
: > > > : >             Krassimir Slavchev <krassi@bulinfo.net> writes:
: > > > : > : I have board with at91rm9200, 64Mb SDRAM, 4Mb dataflash and 64kb iic.
: > > > : > : There is bootloader installed in iic which boots linux kernel from 
: > > > : > : dataflash.
: > > > : > : What I need to know for this bootloader to be able to boot FreeBSD kernel?
: > > > : >
: > > > : > How to install the FreeBSD kernel in place of the linux kernel
: > > > : > currently in dataflash.
: > > > : >
: > > > : > Depending on the dataflash, you may also be able to do any or all of
: > > > : > the following:
: > > > : >     (1) install the freebsd boot loader that boots from SD cards (boot2)
: > > > : >     (2) install the freebsd boot loader that boots from dataflash (bootspi)
: > > > : >   
: > > > : These boot loaders can't be fitted in the 8kbytes eeprom (24C64).
: > > > 
: > > > Well, they could be made to fit into 8KB, but they don't right now.  A
: > > > lot of effort has been made to make them small.  bootspi likely is the
: > > > easiest candidate, since it is closest.  I tried really hard to make
: > > > boot2 fit into 8k, but ran out of time.  I did manage to slim down the
: > > > boot loaders from about 48k when I started to 9-10k after all was said
: > > > and done.  The at91rm9200 parts have 16k of SRAM, of which 12k are
: > > > useful.
: > > > 
: > > > The newer AT91SAM926x parts have only 4kb of SRAM, so I'm unsure what
: > > > I'll be doing there.
: > > 
: > > Is there support at all for AT91SAM9260? Or should i stick to
: > > AT91RM9200 ?
: > 
: > only in my trees.  Atmel gave me a board a couple of weeks ago to add
: > support for it, but I've not yet had time to integrate it into the p4
: > tree or to -current.  Short term at91rm9200 is what is there and
: > supported.
: > 
: > The work will be at my own pace, since I'm not funded to do it at the
: > moment... If that changes, the pace will pick up.
: > 
: > Warner
: > 
: > 
: > > > : >     (3) Use the FreeBSD dataflash support to manage this situation.
: > > > : >   
: > > > : Where to find  more information about this support?
: > > > 
: > > > At the moment there's only source.  src/sys/dev/flash/at45d.c has the
: > > > main support for dataflash.  SPI infrastructure is in src/sys/dev/spi
: > > > and src/sys/arm/at91/at91_spi.c.  /dev/flash/spi0, etc, appears when
: > > > these devices are active.  The block size that the dataflash supports
: > > > is, alas, hard coded into at45d.c file at the moment, but I think that
: > > > most parts have at least some support in there.
: > > > 
: > > > Warner
: > > 
: > > /Soeren
: > > 
: 
: Hmm.. i can't really get started, looked through how linux is beeing booted
: via u-boot, but that doesn't seem to be the same for this board:
: http://www.mechatronicbrick.dk/index.php?option=com_content&task=view&id=13&Itemid=35

OK.  I have a u-boot based board that I should try to get FreeBSD
booting on.  Maybe a good project for the lurkers would be to document
how each of the different boot systems work and write some guidance on
how to pick the one that's right for you...

: If i wanna test boot it at first without placing anything in flash how can i
: then make it boot, supply a patched version of bootspi or should it be boot0spi?

If you put the board into recovery mode, you can download bootspi to
the SRAM using xmodem.  It will then execute there.  Once executing,
it can pull down a kernel via tftp (you'll likely have to hack the
locations in the sources).  There's no bootp/dhcp client built into
these sources.

: And then tftp the kernel down? and then nfs mount everything?

The kernel can be configured to get its data via bootp, etc.  These
parameters include where to boot from.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070217.192205.547446193.imp>