summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJean-Jacques Hiblot <jjhiblot@ti.com>2018-12-07 14:50:52 +0100
committerHeiko Schocher <hs@denx.de>2018-12-10 07:21:21 +0100
commitf1d2bc9034053e7d8ad0e77b9a0399f451bb5b80 (patch)
tree94c06154f238caf9b027ee3a6d15063c8e76b144 /doc
parent78eee5e90d8965f79ba674fe77da781beb072c5b (diff)
downloadu-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-control18
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
-----------