[U-Boot] [PATCH 07/12] env: Update serial baudrate in env_relocate()
Joe Hershberger
joe.hershberger at ni.com
Fri Aug 17 22:49:41 CEST 2012
After the env is relocated, make sure that the serial baudrate is
applied in case it's different (such as the env_nand case).
Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
---
common/env_common.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/common/env_common.c b/common/env_common.c
index 0c7e845..e58971d 100644
--- a/common/env_common.c
+++ b/common/env_common.c
@@ -232,6 +232,10 @@ int env_import(const char *buf, int check)
void env_relocate(void)
{
+#ifdef CONFIG_BAUDRATE_UPDATE_ON_RELOC
+ const char *baudrate_str;
+#endif
+
#if defined(CONFIG_NEEDS_MANUAL_RELOC)
env_reloc();
#endif
@@ -253,6 +257,21 @@ void env_relocate(void)
else
gd->flags &= ~GD_FLG_SILENT;
#endif
+
+#ifdef CONFIG_BAUDRATE_UPDATE_ON_RELOC
+ baudrate_str = getenv("baudrate");
+ if (baudrate_str != NULL) {
+ int baudrate = simple_strtoul(baudrate_str, NULL, 10);
+
+ if (baudrate != gd->baudrate) {
+ gd->baudrate = baudrate;
+#if defined(CONFIG_PPC) || defined(CONFIG_MCF52x2)
+ gd->bd->bi_baudrate = baudrate;
+#endif
+ serial_setbrg();
+ }
+ }
+#endif
}
#ifdef CONFIG_AUTO_COMPLETE
--
1.7.11.5
More information about the U-Boot
mailing list