提交 bd2e27c0 编写于 作者: J Jason Liu 提交者: Albert ARIBAUD

i.mx6:imx6q: allign MAC address with burned-in ordering

For the i.mx6q, the burned-in MAC address will be the following odering,

fuse: 0x620[7:0]   MAC_ADDR[7:0]     ---> mac[5]
fuse: 0x620[15:8]  MAC_ADDR[15:8]    ---> mac[4]
fuse: 0x620[23:16] MAC_ADDR[23:16]   ---> mac[3]
fuse: 0x620[31:24] MAC_ADDR[31:24]   ---> mac[2]
fuse: 0x630[7:0]   MAC_ADDR[39:32]   ---> mac[1]
fuse: 0x630[15:8]  MAC_ADDR[47:40]   ---> mac[0]

This patch also fix the error caculation for the fuse bank[0] address
Signed-off-by: NJason Liu <jason.hui@linaro.org>
Cc: Stefano Babic <sbabic@denx.de>
上级 29f75a5c
......@@ -70,13 +70,15 @@ 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 mac_lo = readl(&fuse->mac_addr_low);
u32 mac_hi = readl(&fuse->mac_addr_high);
u32 value = readl(&fuse->mac_addr_high);
mac[0] = (value >> 8);
mac[1] = value ;
*(u32 *)mac = mac_lo;
mac[4] = mac_hi & 0xff;
mac[5] = (mac_hi >> 8) & 0xff;
value = readl(&fuse->mac_addr_low);
mac[2] = value >> 24 ;
mac[3] = value >> 16 ;
mac[4] = value >> 8 ;
mac[5] = value ;
}
#endif
......@@ -214,7 +214,7 @@ struct iim_regs {
u32 crc_value;
u32 rsvd6[3];
u32 version;
u32 rsvd7[0xd8];
u32 rsvd7[0xdb];
struct fuse_bank {
u32 fuse_regs[0x20];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册