[U-Boot] [RFC PATCH 0/4] Run-time configuration of U-Boot via a flat device tree (fdt)
Jerry Van Baren
gvb.uboot at gmail.com
Fri Sep 2 13:42:32 CEST 2011
Hi Simon,
On 09/01/2011 04:49 PM, Simon Glass wrote:
> At present in U-Boot configuration is mostly done using CONFIG options in the
> board file. This patch set aims to make it possible for a single U-Boot
> binary to support multiple boards, with the exact configuration of each board
> controlled by a flat device tree (fdt). This is the approach recently taken
> by the ARM Linux kernel and has been used by PowerPC for some time.
Very exciting. I've thought about doing this for years, but never had
the ambition (or time).
[snip]
> and add some defines to your board (only ARM is currently supported):
>
> #define CONFIG_OF_CONTROL (to enable run-time config control via fdt)
> #define CONFIG_OF_EMBED or CONFIG_OF_SEPARATE
> (either build the fdt blob into U-Boot, or create a separate u-boot.dtb)
> #define CONFIG_DEFAULT_DEVICE_TREE "<your name>"
> (to specify the name of the device tree file is
> board/<vendor>/<board>/<your name>.dts)
>
> This patch set does not include any drivers which actually use the fdt. I have
> some concerns about spreading fdt code around the U-Boot code base so am
> thinking of having a support file which makes this easier. I can provide a
> UART driver modified to use fdt if there is interest.
Please. A concrete reference is very useful, especially for discussion.
> It is important to understand that the fdt only selects options available in
> the platform / drivers. It cannot add new drivers (yet). So you must still
> have the CONFIG option to enable the driver. For example, you need to define
> CONFIG_SYS_NS16550 to bring in the NS16550 driver, but can use the fdt to
> specific the UART clock, peripheral address, etc. In very broad terms, the
> CONFIG options in general control *what* driver files are pulled in, and the
> fdt controls *how* those files work.
Sounds reasonable and practical. One of the things u-boot struggles
with is staying small (but it is nice to be able to make it all
inclusive and big if you have the flash).
> While only ARM is supported in this patch series, it should be easy enough to
> add support for other architectures.
Exercise left for the students. :-)
[snip]
Thanks!
gvb
More information about the U-Boot
mailing list