Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jan 2009 17:33:17 +0100
From:      Rafal Jaworowski <raj@semihalf.com>
To:        Daan Vreeken <Daan@vehosting.nl>
Cc:        FreeBSD-Embedded@freebsd.org, freebsd-ppc@freebsd.org
Subject:   Re: PowerPC embedded board?
Message-ID:  <4974AB4D.9040204@semihalf.com>
In-Reply-To: <200901191618.06297.Daan@vehosting.nl>
References:  <200901191259.50518.Daan@vehosting.nl> <49747ABA.9090606@semihalf.com> <200901191618.06297.Daan@vehosting.nl>

index | next in thread | previous in thread | raw e-mail

Hi Daan,

Daan Vreeken wrote:
>>> Searching the internet I've already stumbled upon the Efika [1] and
>>> SAM440 [2] boards, which both look promising, but as far as my
>>> Google-skills go, it looks like both boards need more work to get FreeBSD
>>> fully functional on them.
>>> I'm thinking of buying a couple of boards and helping an interested
>>> developer by either setting up a compile & test environment that is
>>> accessible over ssh, or donating an entire board (or both :)
>> Both MPC5200 (Efika) and PPC440 (SAM440 and others) require quite a bit of
>> work to turn into a reliable system to be used in a commercial product.
>> They are both at a very similar stage: the kernel initially boots,
>> interrupt controller driver ready, console (UART), work is in progress
>> towards getting user-space pieces together, getting single user shell etc.
>> In both cases virtually all remaining on-chip peripherals need respective
>> drivers newly developed.
> 
> Given enough hardware documentation, I have no problem with writing a couple 
> of drivers. The thing I'm not familiar with, is the lower level development 
> of getting a new platform to run FreeBSD. (I have never touched FreeBSD's VM 
> subsystem for example.)
> What would be needed to get either of these boards to a single user shell?

We're almost there with regards to running from ramdisk based mini-root fs. In
case of a more elaborate (full) environment you'd need some kind of storage
for the root fs:

1. MPC5200
- built-in ATA controller (getting this to work with DMA will be painful as
relies on bringing operation to the microcode-based BestComm engine first)

- built-in USB (OHCI), should be relatively easy, with a bit of luck only bus
attachment is required


2. 440EP
- no integrated S/ATA, the SAM board you mentioned has some external Silicon
Image controller, so a driver would be needed for that

- built-in USB (not sure if this has any standard host I/F implementation though)

>>> So I've got some questions :
>>> o Are there more interresting boards I could/should consider? (Or even
>>> boards that can already run FreeBSD?)
>>> o What board is most likely to grow FreeBSD support in the near future?
>>> o What parts are currently missing to get these boards up and running?
>> Ready to use and stable is the port for higher-end PowerPC systems:
>> PowerQUICC MPC85xx series based on the E500 (BookE) core. You'll find all
>> integrated peripherals supported, although the default environment with
>> regards to the floating point support is running with emulation and not
>> native hard-floats (due to various implemetations of the FPU, or the lack
>> of).
> 
> What would be needed to get hardware floating point to be supported? Is it 
> something that could be imported from NetBSD?

Note we're talking about hard-floats for Book-E systems, which are very
different from the traditional PowerPC FPU. Since NetBSD doesn't have support
for any Book-E system, so it wouldn't be of direct help I think.

There are at least two ways to support this:

- gcc level - newer gcc (4.2.x IIRC) are able to produce machine code for
native E500 FP

- interface libc with native E500 FP

Neither should be enormously difficult, so let me know if you'd like to work
on this :-) The problem is in varieties: some Book-E cores don't have the FP
APU and from the FreeBSD/powerpc project perspective we'd need something
flexible and uniform enough so that different core variations still work (not
to mention the traditional, AIM, PowerPC FPU..).

Rafal


home | help

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