diff --git a/sharedconf/gf-functions.sh b/sharedconf/gf-functions.sh
index a6df3eef20729ba1d571e83de0919892ee49fa20..9523931fc32bba6172da4c716b55f012d4d9301c 100644
--- a/sharedconf/gf-functions.sh
+++ b/sharedconf/gf-functions.sh
@@ -572,10 +572,17 @@ fuse_get_mac()
     local _b
     local _value
 
-    get_fuse_value _a $BANK_MAC_ADDRESS 0
-    get_fuse_value _b $BANK_MAC_ADDRESS 1
+    if [ "$SOC_ID" == "i.MX8MM" ]; then
+        get_fuse_value _a $BANK_MAC_ADDRESS 0
+        get_fuse_value _b $BANK_MAC_ADDRESS 1
 
-    _value="$(( ( _b << 32 ) + _a ))"
+        _value="$(( ( _b << 32 ) + _a ))"
+    elif [ "$SOC_ID" == "i.MX8MP" ]; then
+        get_fuse_value _a $BANK_MAC_ADDRESS 1
+        get_fuse_value _b $BANK_MAC_ADDRESS 2
+
+        _value="$(( ( _a >> 16 ) + ( _b << 16 ) ))"
+    fi
 
     eval "$_ret"="$_value"
 }