summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorMathew McBride <matt@traverse.com.au>2023-07-21 07:39:26 +0300
committerTom Rini <trini@konsulko.com>2023-08-03 16:40:50 +0300
commit06e19a6d3e2311efb4078806394954f39cbd15a2 (patch)
tree90d9937e3986a59478c8f66fa7c9929c7ebee6ff /board
parent56610ef5f39d465299f8032eae4efa9362a8a2e7 (diff)
downloadu-boot-06e19a6d3e2311efb4078806394954f39cbd15a2.tar.xz
board: traverse: ten64: set serial# to be 'label' MAC
The GE0 (first Gigabit Ethernet interface) is used as the 'serial number' for the board and appliance. To ensure the 'true' board S/N is available regardless of how the DPAA2 subsystem is configured, use serial# so it is passed in the device tree. Signed-off-by: Mathew McBride <matt@traverse.com.au> Reviewed-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'board')
-rw-r--r--board/traverse/ten64/ten64.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/board/traverse/ten64/ten64.c b/board/traverse/ten64/ten64.c
index 0febc0baf0..17057966c8 100644
--- a/board/traverse/ten64/ten64.c
+++ b/board/traverse/ten64/ten64.c
@@ -296,6 +296,7 @@ static void ten64_set_macaddrs_from_board_info(struct t64uc_board_info *boardinf
{
char ethaddr[18];
char enetvar[10];
+ char serial[18];
u8 intfidx, this_dpmac_num;
u64 macaddr = 0;
/* We will copy the MAC address returned from the
@@ -316,6 +317,19 @@ static void ten64_set_macaddrs_from_board_info(struct t64uc_board_info *boardinf
*/
macaddr = __be64_to_cpu(macaddr);
+ /* Set serial# to GE0/DPMAC7 MAC address
+ * (Matches the labels on the board and appliance)
+ */
+ snprintf(serial, 18, "%02X%02X%02X%02X%02X%02X",
+ MACADDRBITS(macaddr, 40),
+ MACADDRBITS(macaddr, 32),
+ MACADDRBITS(macaddr, 24),
+ MACADDRBITS(macaddr, 16),
+ MACADDRBITS(macaddr, 8),
+ MACADDRBITS(macaddr, 0));
+ if (!env_get("serial#"))
+ env_set("serial#", serial);
+
for (intfidx = 0; intfidx < 10; intfidx++) {
snprintf(ethaddr, 18, "%02X:%02X:%02X:%02X:%02X:%02X",
MACADDRBITS(macaddr, 40),