From: Ye Li <[email protected]>

Since iMX952 only has 2 pf and 2 vf, update the imx_get_mac_from_fuse
to adapt this layout.

Signed-off-by: Ye Li <[email protected]>
---
 arch/arm/mach-imx/imx9/scmi/soc.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/mach-imx/imx9/scmi/soc.c 
b/arch/arm/mach-imx/imx9/scmi/soc.c
index 18d00355999..796c9e8b18d 100644
--- a/arch/arm/mach-imx/imx9/scmi/soc.c
+++ b/arch/arm/mach-imx/imx9/scmi/soc.c
@@ -593,6 +593,18 @@ void imx_get_mac_from_fuse(int dev_id, unsigned char *mac)
                        eth_addr_add(mac, 8); /* enetc1 */
                if (dev_id == 2)
                        eth_addr_add(mac, 9); /* enetc2 */
+       } else if (is_imx952()) {
+               /*
+                * i.MX952 uses the following mac address offset list:
+                * | No. | Mac address user     |
+                * |-----|----------------------|
+                * | 0   | enetc mac pf0        |
+                * | 1   | enetc mac vf0        |
+                * | 2   | enetc mac pf1        |
+                * | 3   | enetc mac vf1        |
+                */
+               if (dev_id == 1)
+                       eth_addr_add(mac, 2);
        } else {
                if (dev_id == 1)
                        eth_addr_add(mac, 3);
-- 
2.50.1

Reply via email to