|
|
|
@ -364,15 +364,29 @@ void imx_get_mac_from_fuse(int dev_id, unsigned char *mac) |
|
|
|
|
struct fuse_bank4_regs *fuse = |
|
|
|
|
(struct fuse_bank4_regs *)bank->fuse_regs; |
|
|
|
|
|
|
|
|
|
u32 value = readl(&fuse->mac_addr_high); |
|
|
|
|
mac[0] = (value >> 8); |
|
|
|
|
mac[1] = value ; |
|
|
|
|
|
|
|
|
|
value = readl(&fuse->mac_addr_low); |
|
|
|
|
mac[2] = value >> 24 ; |
|
|
|
|
mac[3] = value >> 16 ; |
|
|
|
|
mac[4] = value >> 8 ; |
|
|
|
|
mac[5] = value ; |
|
|
|
|
if ((is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL)) &&
|
|
|
|
|
dev_id == 1) { |
|
|
|
|
u32 value = readl(&fuse->mac_addr2); |
|
|
|
|
mac[0] = value >> 24 ; |
|
|
|
|
mac[1] = value >> 16 ; |
|
|
|
|
mac[2] = value >> 8 ; |
|
|
|
|
mac[3] = value ; |
|
|
|
|
|
|
|
|
|
value = readl(&fuse->mac_addr1); |
|
|
|
|
mac[4] = value >> 24 ; |
|
|
|
|
mac[5] = value >> 16 ; |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
u32 value = readl(&fuse->mac_addr1); |
|
|
|
|
mac[0] = (value >> 8); |
|
|
|
|
mac[1] = value ; |
|
|
|
|
|
|
|
|
|
value = readl(&fuse->mac_addr0); |
|
|
|
|
mac[2] = value >> 24 ; |
|
|
|
|
mac[3] = value >> 16 ; |
|
|
|
|
mac[4] = value >> 8 ; |
|
|
|
|
mac[5] = value ; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|