
Hi,
-------- Original-Nachricht -------- Datum: Thu, 21 Jun 2007 21:22:06 -0400 Von: Jerry Van Baren gvb.uboot@gmail.com An: Gerhard Pircher gerhard_pircher@gmx.net CC: u-boot-users@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