]> git.sur5r.net Git - u-boot/commitdiff
board: am335x: Set serial# variable
authorSam Protsenko <semen.protsenko@linaro.org>
Tue, 27 Feb 2018 22:26:15 +0000 (00:26 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 16 Mar 2018 13:42:24 +0000 (09:42 -0400)
serial# variable is needed to show the device correctly in "fastboot
devices" output. It's useful when we have several devices (in fastboot
mode) connected to single host and want to choose which one to flash.

We can't use omap_die_id_serial() for this, because AM335x lacks
DIE_ID, as can be seen from AM335x TRM. Let's do next:
 - reuse board_serial variable (obtained from EEPROM in
   set_board_info_env() function) to set serial#
 - if board_serial is "unknown", reuse ethaddr variable to set serial#

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
board/ti/am335x/board.c

index b144fd182154480ef89d46c142cdcc8c5406058d..f8026572997e19e9c8d5933182e3c7ff1ed9fb9c 100644 (file)
@@ -767,6 +767,16 @@ int board_late_init(void)
        }
 #endif
 
+       if (!env_get("serial#")) {
+               char *board_serial = env_get("board_serial");
+               char *ethaddr = env_get("ethaddr");
+
+               if (!board_serial || !strncmp(board_serial, "unknown", 7))
+                       env_set("serial#", ethaddr);
+               else
+                       env_set("serial#", board_serial);
+       }
+
        return 0;
 }
 #endif