diff options
author | Denys Drozdov <denys.drozdov@toradex.com> | 2021-04-05 17:33:21 +0300 |
---|---|---|
committer | Denys Drozdov <denys.drozdov@toradex.com> | 2021-04-07 10:39:50 +0300 |
commit | f48710dc4d9ee201f63a82242a4611d0f1f5f9b2 (patch) | |
tree | c6d8472b7aeb3fcfc10827cac535ef0cfd8d2119 | |
parent | 5c2d46b32533cd873c7d821d9842905c9ef48765 (diff) |
toradex: configblock: fix module revision in config block
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 6th,7th digits of PID8
to store module revision.
Related-to: ELB-3893
Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
-rw-r--r-- | board/toradex/common/tdx-cfg-block.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c index 68ec51f3ec9..aff3dd4d324 100644 --- a/board/toradex/common/tdx-cfg-block.c +++ b/board/toradex/common/tdx-cfg-block.c @@ -421,6 +421,8 @@ static int get_cfgblock_interactive(void) static int get_cfgblock_barcode(char *barcode) { + char revision[3] = {barcode[6], barcode[7], '\0'}; + if (strlen(barcode) < 16) { printf("Argument too short, barcode is 16 chars long\n"); return -1; @@ -429,7 +431,7 @@ static int get_cfgblock_barcode(char *barcode) /* Get hardware information from the first 8 digits */ tdx_hw_tag.ver_major = barcode[4] - '0'; tdx_hw_tag.ver_minor = barcode[5] - '0'; - tdx_hw_tag.ver_assembly = barcode[7] - '0'; + tdx_hw_tag.ver_assembly = simple_strtoul(revision, NULL, 10); barcode[4] = '\0'; tdx_hw_tag.prodid = simple_strtoul(barcode, NULL, 10); |