diff options
author | Jean-Jacques Hiblot <jjhiblot@ti.com> | 2018-12-07 14:50:52 +0100 |
---|---|---|
committer | Heiko Schocher <hs@denx.de> | 2018-12-10 07:21:21 +0100 |
commit | f1d2bc9034053e7d8ad0e77b9a0399f451bb5b80 (patch) | |
tree | 94c06154f238caf9b027ee3a6d15063c8e76b144 /doc | |
parent | 78eee5e90d8965f79ba674fe77da781beb072c5b (diff) | |
download | u-boot-f1d2bc9034053e7d8ad0e77b9a0399f451bb5b80.tar.gz u-boot-f1d2bc9034053e7d8ad0e77b9a0399f451bb5b80.tar.bz2 u-boot-f1d2bc9034053e7d8ad0e77b9a0399f451bb5b80.zip |
lib: fdtdec: Add function re-setup the fdt more effeciently
In some cases it may be useful to be able to change the fdt we have been
using and use another one instead. For example, the TI platforms uses an
EEPROM to store board information and, based on the type of board,
different dtbs are used by the SPL. When DM_I2C is used, a first dtb must
be used before the I2C is initialized and only then the final dtb can be
selected.
To speed up the process and reduce memory usage, introduce a new function
fdtdec_setup_best_match() that re-use the DTBs loaded in memory by
fdtdec_setup() to select the best match.
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/README.fdt-control | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/README.fdt-control b/doc/README.fdt-control index d6ab7bf570..446401c9e9 100644 --- a/doc/README.fdt-control +++ b/doc/README.fdt-control @@ -184,6 +184,24 @@ The full device tree is available to U-Boot proper, but normally only a subset 'SPL Support' in doc/driver-model/README.txt for more details. +Using several DTBs in the SPL (CONFIG_SPL_MULTI_DTB) +---------------------------------------------------- +In some rare cases it is desirable to let SPL be able to select one DTB among +many. This usually not very useful as the DTB for the SPL is small and usually +fits several platforms. However the DTB sometimes include information that do +work on several platforms (like IO tuning parameters). +In this case it is possible to use CONFIG_SPL_MULTI_DTB. This option appends to +the SPL a FIT image containing several DTBs listed in SPL_OF_LIST. +board_fit_config_name_match() is called to select the right DTB. + +If board_fit_config_name_match() relies on DM (DM driver to access an EEPROM +containing the board ID for example), it possible to start with a generic DTB +and then switch over to the right DTB after the detection. For this purpose, +the platform code must call fdtdec_resetup(). Based on the returned flag, the +platform may have to re-initiliaze the DM subusystem using dm_uninit() and +dm_init_and_scan(). + + Limitations ----------- |