From 169ecb4a83c86dba7d19442de05310f0c068f0d1 Mon Sep 17 00:00:00 2001
From: Paul Kocialkowski <contact@paulk.fr>
Date: Mon, 20 Jul 2015 15:17:13 +0200
Subject: [PATCH] sniper: Serial number support, obtained from die ID

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 | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c
index 44d422da1b9..f26855dd397 100644
--- a/board/lge/sniper/sniper.c
+++ b/board/lge/sniper/sniper.c
@@ -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;
 }
 
-- 
GitLab