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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot