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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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