[PATCH] board: amlogic: vim3: configure serial# from ethaddr

Mattijs Korpershoek mkorpershoek at baylibre.com
Wed Jan 19 15:24:00 CET 2022


The Khadas VIM3 and VIM3L boards, which are supported in Android via
Yukawa [1] need a serial number for usb/fastboot enumeration.

Whenever the environment does not provide a serial#, use the eth mac
address as serial#.

[1] https://source.android.com/setup/build/devices#vim3_and_vim3l_boards
Signed-off-by: Mattijs Korpershoek <mkorpershoek at baylibre.com>
---
 board/amlogic/vim3/vim3.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c
index 5d9ac6458d68..fcd60ab1e058 100644
--- a/board/amlogic/vim3/vim3.c
+++ b/board/amlogic/vim3/vim3.c
@@ -153,6 +153,7 @@ int misc_init_r(void)
 {
 	u8 mac_addr[MAC_ADDR_LEN];
 	char efuse_mac_addr[EFUSE_MAC_SIZE], tmp[3];
+	char serial_string[EFUSE_MAC_SIZE + 1];
 	ssize_t len;
 
 	if (!eth_env_get_enetaddr("ethaddr", mac_addr)) {
@@ -177,5 +178,13 @@ int misc_init_r(void)
 		eth_env_get_enetaddr("ethaddr", mac_addr);
 	}
 
+	if (!env_get("serial#")) {
+		eth_env_get_enetaddr("ethaddr", mac_addr);
+		sprintf(serial_string, "%02X%02X%02X%02X%02X%02X",
+			mac_addr[0], mac_addr[1], mac_addr[2],
+			mac_addr[3], mac_addr[4], mac_addr[5]);
+		env_set("serial#", serial_string);
+	}
+
 	return 0;
 }
-- 
2.32.0



More information about the U-Boot mailing list