At91rm9200 boot?
M. Warner Losh
imp at bsdimp.com
Thu Feb 15 16:46:29 UTC 2007
In message: <45D45269.4050509 at bulinfo.net>
Krassimir Slavchev <krassi at bulinfo.net> writes:
: M. Warner Losh wrote:
: > In message: <45D3119F.4020302 at bulinfo.net>
: > Krassimir Slavchev <krassi at 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.
: > (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
More information about the freebsd-arm
mailing list