All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] i.mx6:imx6q: allign MAC address with burned-in ordering
@ 2011-12-19 12:38 Jason Liu
  2011-12-29  8:38 ` Jason Liu
  2011-12-29  9:40 ` Stefano Babic
  0 siblings, 2 replies; 3+ messages in thread
From: Jason Liu @ 2011-12-19 12:38 UTC (permalink / raw)
  To: u-boot

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: Jason Liu <jason.hui@linaro.org>
Cc: Stefano Babic <sbabic@denx.de>
---
 arch/arm/cpu/armv7/mx6/soc.c             |   14 ++++++++------
 arch/arm/include/asm/arch-mx6/imx-regs.h |    2 +-
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c
index dff5e4e..bd59cf5 100644
--- a/arch/arm/cpu/armv7/mx6/soc.c
+++ b/arch/arm/cpu/armv7/mx6/soc.c
@@ -70,13 +70,15 @@ void imx_get_mac_from_fuse(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
diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h
index 85d55b7..5fe9748 100644
--- a/arch/arm/include/asm/arch-mx6/imx-regs.h
+++ b/arch/arm/include/asm/arch-mx6/imx-regs.h
@@ -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];
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] i.mx6:imx6q: allign MAC address with burned-in ordering
  2011-12-19 12:38 [U-Boot] [PATCH] i.mx6:imx6q: allign MAC address with burned-in ordering Jason Liu
@ 2011-12-29  8:38 ` Jason Liu
  2011-12-29  9:40 ` Stefano Babic
  1 sibling, 0 replies; 3+ messages in thread
From: Jason Liu @ 2011-12-29  8:38 UTC (permalink / raw)
  To: u-boot

Stefano,

2011/12/19 Jason Liu <jason.hui@linaro.org>:
> 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: Jason Liu <jason.hui@linaro.org>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
> ?arch/arm/cpu/armv7/mx6/soc.c ? ? ? ? ? ? | ? 14 ++++++++------
> ?arch/arm/include/asm/arch-mx6/imx-regs.h | ? ?2 +-
> ?2 files changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c
> index dff5e4e..bd59cf5 100644
> --- a/arch/arm/cpu/armv7/mx6/soc.c
> +++ b/arch/arm/cpu/armv7/mx6/soc.c
> @@ -70,13 +70,15 @@ void imx_get_mac_from_fuse(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
> diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h
> index 85d55b7..5fe9748 100644
> --- a/arch/arm/include/asm/arch-mx6/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx6/imx-regs.h
> @@ -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];

Ping. Any comments?

> --
> 1.7.4.1
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] i.mx6:imx6q: allign MAC address with burned-in ordering
  2011-12-19 12:38 [U-Boot] [PATCH] i.mx6:imx6q: allign MAC address with burned-in ordering Jason Liu
  2011-12-29  8:38 ` Jason Liu
@ 2011-12-29  9:40 ` Stefano Babic
  1 sibling, 0 replies; 3+ messages in thread
From: Stefano Babic @ 2011-12-29  9:40 UTC (permalink / raw)
  To: u-boot

On 19/12/2011 13:38, Jason Liu wrote:
> 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

Applied to u-boot-imx, thanks.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-12-29  9:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-19 12:38 [U-Boot] [PATCH] i.mx6:imx6q: allign MAC address with burned-in ordering Jason Liu
2011-12-29  8:38 ` Jason Liu
2011-12-29  9:40 ` Stefano Babic

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.