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

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@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; }

On 19/01/2022 15:24, Mattijs Korpershoek wrote:
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@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;
}
Reviewed-by: Neil Armstrong narmstrong@baylibre.com

Hi,
On Wed, 19 Jan 2022 15:24:00 +0100, Mattijs Korpershoek wrote:
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
[...]
Thanks, Applied to https://source.denx.de/u-boot/custodians/u-boot-amlogic (u-boot-amlogic)
[1/1] board: amlogic: vim3: configure serial# from ethaddr https://source.denx.de/u-boot/custodians/u-boot-amlogic/-/commit/522c51839a6...
participants (2)
-
Mattijs Korpershoek
-
Neil Armstrong