4 * Peng Fan <peng.fan@nxp.com>
6 * SPDX-License-Identifier: GPL-2.0+
10 #include <asm/arch/imx-regs.h>
12 #include <asm/arch/sys_proto.h>
24 #define MAC_FUSE_MX6_OFFSET 0x620
25 #define MAC_FUSE_MX7_OFFSET 0x640
27 void imx_get_mac_from_fuse(int dev_id, unsigned char *mac)
29 struct imx_mac_fuse *fuse;
33 offset = is_mx6() ? MAC_FUSE_MX6_OFFSET : MAC_FUSE_MX7_OFFSET;
34 fuse = (struct imx_mac_fuse *)(ulong)(OCOTP_BASE_ADDR + offset);
35 has_second_mac = is_mx7() || is_mx6sx() || is_mx6ul() || is_mx6ull();
37 if (has_second_mac && dev_id == 1) {
38 u32 value = readl(&fuse->mac_addr2);
45 value = readl(&fuse->mac_addr1);
50 u32 value = readl(&fuse->mac_addr1);
55 value = readl(&fuse->mac_addr0);