
Reviewed-by: Igor Opaniuk igor.opaniuk@toradex.com
On Mon, Mar 25, 2019 at 6:19 PM Marcel Ziswiler marcel@ziswiler.com wrote:
From: Bhuvanchandra DV bhuvanchandra.dv@toradex.com
If the config block is missing, various things may fail or behave strangely on certain modules. This patch unifies that behaviour by using a fake MAC address, until user updates the config block.
Signed-off-by: Bhuvanchandra DV bhuvanchandra.dv@toradex.com Acked-by: Marcel Ziswiler marcel.ziswiler@toradex.com
Changes in v2:
- Introduced a define for the Toradex OUI ("0x00142dUL") as suggested by Igor.
- Removed redundant comment as suggested by Igor.
board/toradex/common/tdx-common.c | 34 ++++++++++++++++--------------- 1 file changed, 18 insertions(+), 16 deletions(-)
diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c index fde230c955..2d560cceaf 100644 --- a/board/toradex/common/tdx-common.c +++ b/board/toradex/common/tdx-common.c @@ -12,6 +12,8 @@ #include <asm/setup.h> #include "tdx-common.h"
+#define TORADEX_OUI 0x00142dUL
#ifdef CONFIG_TDX_CFG_BLOCK static char tdx_serial_str[9]; static char tdx_board_rev_str[6]; @@ -68,20 +70,25 @@ int show_board_info(void) unsigned char ethaddr[6];
if (read_tdx_cfg_block()) {
printf("Missing Toradex config block\n");
printf("MISSING TORADEX CONFIG BLOCK\n");
tdx_eth_addr.oui = htonl(TORADEX_OUI << 8);
tdx_eth_addr.nic = htonl(tdx_serial << 8); checkboard();
return 0;
} else {
sprintf(tdx_serial_str, "%08u", tdx_serial);
sprintf(tdx_board_rev_str, "V%1d.%1d%c",
tdx_hw_tag.ver_major,
tdx_hw_tag.ver_minor,
(char)tdx_hw_tag.ver_assembly + 'A');
env_set("serial#", tdx_serial_str);
printf("Model: Toradex %s %s, Serial# %s\n",
toradex_modules[tdx_hw_tag.prodid],
tdx_board_rev_str,
tdx_serial_str); }
/* board serial-number */
sprintf(tdx_serial_str, "%08u", tdx_serial);
sprintf(tdx_board_rev_str, "V%1d.%1d%c",
tdx_hw_tag.ver_major,
tdx_hw_tag.ver_minor,
(char)tdx_hw_tag.ver_assembly + 'A');
env_set("serial#", tdx_serial_str);
/* * Check if environment contains a valid MAC address, * set the one from config block if not
@@ -101,11 +108,6 @@ int show_board_info(void) } #endif
printf("Model: Toradex %s %s, Serial# %s\n",
toradex_modules[tdx_hw_tag.prodid],
tdx_board_rev_str,
tdx_serial_str);
return 0;
}
-- 2.20.1
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot