
The SPL/TPL_BINMAN_SYMBOLS config only disables the u_boot_any symbol. Extend its #if directive to cover declarations for all phases. Update the Kconfig prompt and help message to make it clearer about this.
Signed-off-by: Alper Nebi Yasak alpernebiyasak@gmail.com ---
common/spl/Kconfig | 12 ++++++------ common/spl/Kconfig.tpl | 12 ++++++------ common/spl/spl.c | 3 ++- 3 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig index 2ad2351c6eb3..f32548b8c9a7 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -186,16 +186,16 @@ config SPL_SHOW_ERRORS This adds a small amount to SPL code size, perhaps 100 bytes.
config SPL_BINMAN_SYMBOLS - bool "Declare binman symbols in SPL" + bool "Declare binman symbols for U-Boot phases in SPL" depends on SPL_FRAMEWORK && BINMAN default y help - This enables use of symbols in SPL which refer to U-Boot, enabling SPL - to obtain the location of U-Boot simply by calling spl_get_image_pos() - and spl_get_image_size(). + This enables use of symbols in SPL which refer to U-Boot phases, + enabling SPL to obtain the location and size of its next phase simply + by calling spl_get_image_pos() and spl_get_image_size().
- For this to work, you must have a U-Boot image in the binman image, so - binman can update SPL with the location of it. + For this to work, you must have all U-Boot phases in the same binman + image, so binman can update SPL with the locations of everything.
source "common/spl/Kconfig.nxp"
diff --git a/common/spl/Kconfig.tpl b/common/spl/Kconfig.tpl index 834cb6b6dd82..3a97487c9983 100644 --- a/common/spl/Kconfig.tpl +++ b/common/spl/Kconfig.tpl @@ -9,16 +9,16 @@ config TPL_SIZE_LIMIT If this value is zero, it is ignored.
config TPL_BINMAN_SYMBOLS - bool "Declare binman symbols in TPL" + bool "Declare binman symbols for U-Boot phases in TPL" depends on TPL_FRAMEWORK && BINMAN default y help - This enables use of symbols in TPL which refer to U-Boot, enabling TPL - to obtain the location of U-Boot simply by calling spl_get_image_pos() - and spl_get_image_size(). + This enables use of symbols in TPL which refer to U-Boot phases, + enabling TPL to obtain the location and size of its next phase simply + by calling spl_get_image_pos() and spl_get_image_size().
- For this to work, you must have a U-Boot image in the binman image, so - binman can update TPL with the location of it. + For this to work, you must have all U-Boot phases in the same binman + image, so binman can update TPL with the locations of everything.
config TPL_FRAMEWORK bool "Support TPL based upon the common SPL framework" diff --git a/common/spl/spl.c b/common/spl/spl.c index 5630dcdb5c1e..4579289f9d83 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -55,7 +55,6 @@ u32 *boot_params_ptr = NULL; /* See spl.h for information about this */ binman_sym_declare(ulong, u_boot_any, image_pos); binman_sym_declare(ulong, u_boot_any, size); -#endif
#ifdef CONFIG_TPL binman_sym_declare(ulong, u_boot_spl, image_pos); @@ -67,6 +66,8 @@ binman_sym_declare(ulong, u_boot_vpl, image_pos); binman_sym_declare(ulong, u_boot_vpl, size); #endif
+#endif /* BINMAN_SYMBOLS */ + /* Define board data structure */ static struct bd_info bdata __attribute__ ((section(".data")));