sniper: Serial number support, obtained from die ID
authorPaul Kocialkowski <contact@paulk.fr>
Mon, 20 Jul 2015 13:17:13 +0000 (15:17 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 13 Aug 2015 00:47:38 +0000 (20:47 -0400)
The OMAP3 has some die-specific ID bits that we can use to give the device a
(more or less) unique serial number. This is particularly useful for e.g. USB.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
board/lge/sniper/sniper.c

index 44d422da1b97c624e16117ed9e981ded29189399..f26855dd39748239eb7c5638adde9900afdfe67a 100644 (file)
@@ -70,7 +70,9 @@ int board_init(void)
 
 int misc_init_r(void)
 {
+       char serial_string[17] = { 0 };
        char reboot_mode[2] = { 0 };
+       u32 dieid[4] = { 0 };
 
        /* Reboot mode */
 
@@ -82,6 +84,17 @@ int misc_init_r(void)
                omap_reboot_mode_clear();
        }
 
+       /* Serial number */
+
+       get_dieid((u32 *)&dieid);
+
+       if (!getenv("serial#")) {
+               snprintf(serial_string, sizeof(serial_string),
+                       "%08x%08x", dieid[0], dieid[3]);
+
+               setenv("serial#", serial_string);
+       }
+
        return 0;
 }