[PATCH] toradex: configblock: fix module revision in config block
Oleksandr Suvorov
oleksandr.suvorov at toradex.com
Wed Apr 7 16:28:53 CEST 2021
On Wed, Apr 7, 2021 at 3:31 PM <denys.drozdov at toradex.com> wrote:
>
> From: Denys Drozdov <denys.drozdov at toradex.com>
>
> U-boot might display wrong module revision information
> for modules with an assembly version 'K'. "cfgblock create"
> does not takes into account all revision digits from PID8.
>
> This fix takes into account all digits of PID8
> to store module revision.
>
> Signed-off-by: Denys Drozdov <denys.drozdov at toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov at toradex.com>
> ---
> board/toradex/common/tdx-cfg-block.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
> index adab0a0802..9be58d538b 100644
> --- a/board/toradex/common/tdx-cfg-block.c
> +++ b/board/toradex/common/tdx-cfg-block.c
> @@ -555,6 +555,8 @@ static int get_cfgblock_interactive(void)
> static int get_cfgblock_barcode(char *barcode, struct toradex_hw *tag,
> u32 *serial)
> {
> + char revision[3] = {barcode[6], barcode[7], '\0'};
> +
> if (strlen(barcode) < 16) {
> printf("Argument too short, barcode is 16 chars long\n");
> return -1;
> @@ -563,7 +565,7 @@ static int get_cfgblock_barcode(char *barcode, struct toradex_hw *tag,
> /* Get hardware information from the first 8 digits */
> tag->ver_major = barcode[4] - '0';
> tag->ver_minor = barcode[5] - '0';
> - tag->ver_assembly = barcode[7] - '0';
> + tag->ver_assembly = simple_strtoul(revision, NULL, 10);
>
> barcode[4] = '\0';
> tag->prodid = simple_strtoul(barcode, NULL, 10);
> --
> 2.17.1
>
--
Best regards
Oleksandr Suvorov
Toradex AG
Ebenaustrasse 10 | 6048 Horw | Switzerland | T: +41 41 500 48 00
More information about the U-Boot
mailing list