[U-Boot-Users] How to add device tree support to a board?

Gerhard Pircher gerhard_pircher at gmx.net
Fri Jun 22 14:40:15 CEST 2007


Hi,

-------- Original-Nachricht --------
Datum: Thu, 21 Jun 2007 21:22:06 -0400
Von: Jerry Van Baren <gvb.uboot at gmail.com>
An: Gerhard Pircher <gerhard_pircher at gmx.net>
CC: u-boot-users at lists.sourceforge.net
Betreff: Re: [U-Boot-Users] How to add device tree support to a board?

> It is hard to say.  I've done the Freescale MPC8360EMDS eval board, 
> which is a whole different animal than an AmigaOneG3SE (and I don't know 
> exactly what an AmigaOneG3SE is).
Sorry! My fault. Well, the AmigaOne is a ATX motherboard with a G3/G4 PPC
CPU, a common VIA 82C686B southbridge (with an i8259 interrupt controller,
IDE, USB, etc.), an onboard ethernet controller and a number of PCI/AGP
slots.

> If you don't have any fixups/additions necessary for the fdt, then it
> theoretically is "enable and it just works" but you will be blazing new
> ground and I wouldn't bet on it being quite that simple. It never seems
> to be. :-/
That depends on what U-boot automatically adds to the device tree. I don't
think that U-boot adds nodes for every ISA device found in the PCI2ISA
bridge, right? If so, I have to do some fixups anyway, either in U-boot
or in the Linux kernel.

> If you look at my page FDT page, you will see a table of known 
> conversions, most of which have not happened yet (only the MPC8360 
> family has been worked on).
>    <http://www.denx.de/wiki/UBoot/UBootFdtInfo#adapt>
Thanks! I was searching through the U-boot documentation on www.denx.de,
but didn't find anything about Fdt yet.

> There are three areas that fix up fdt entries: board setup, CPU setup, 
> and PCI setup.  These do fixups on things like ethernet MAC addresses 
> (set them from the env variables) and clock frequencies.  I would guess 
> that your AmigaOneG3SE won't need these fixed up, with the possible 
> exception of the MAC addresses.  The current boards that have fixups 
> have different boards and/or configurations that can run with different 
> PCI and CPU clock frequencies, for instance, so the fdt property has to 
> be fixed up with the correct frequency for the given configuration.
Looks like the AmigaOne U-boot code has to do a lot fixups (for different
CPU frequencies, resource fixups for invisible PCI I/O bars, ISA devices,
etc.).

> FWIIW, I'm coming out of my busy cycle of the month (first 2+ weeks) and 
> am getting ready to update the u-boot-fdt fork with respins of some of 
> the existing patches and some improvements (primarily addressing Kim's 
> concerns).  I hope to get this published and pushed to the u-boot-fdt 
> repo this week, probably spilling into next week.
BTW: As far as I understand there are two implementations for flattened
device trees in U-boot. Is libfdt compatible with operating systems that
expect only the old bd_t stucture? AFAIK the other implementation is
deprecated, but can be switched off by setting an environment variable.

> Good luck,
Thanks!

Gerhard
-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger




More information about the U-Boot mailing list