[U-Boot] [PATCH v2 2/3] toradex: common: unify behaviour when config block is missing
Igor Opaniuk
igor.opaniuk at toradex.com
Thu Mar 28 14:29:56 UTC 2019
Reviewed-by: Igor Opaniuk <igor.opaniuk at toradex.com>
On Mon, Mar 25, 2019 at 6:19 PM Marcel Ziswiler <marcel at ziswiler.com> wrote:
>
> From: Bhuvanchandra DV <bhuvanchandra.dv at 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 at toradex.com>
> Acked-by: Marcel Ziswiler <marcel.ziswiler at 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 at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
More information about the U-Boot
mailing list