summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYe.Li <B37916@freescale.com>2014-07-04 16:05:24 +0800
committerYe.Li <B37916@freescale.com>2014-07-04 16:40:11 +0800
commit8d355a9d6f138e1c1cd04dbadb7b5b3e2d692701 (patch)
treec67e1eed483945c080560571775afd05592a431b
parent40ed36029030b5a1167011366d532f5361cbd7fd (diff)
downloadu-boot-imx-8d355a9d6f138e1c1cd04dbadb7b5b3e2d692701.zip
u-boot-imx-8d355a9d6f138e1c1cd04dbadb7b5b3e2d692701.tar.gz
u-boot-imx-8d355a9d6f138e1c1cd04dbadb7b5b3e2d692701.tar.bz2
ENGR00321260-1 iMX6: Add support to get CPU serial number
The android boot needs get_board_serial function to get the CPU uid as the serial number. Implement this function to read the uid from fuse for all iMX6 platforms. Signed-off-by: Ye.Li <B37916@freescale.com>
-rw-r--r--arch/arm/cpu/armv7/mx6/soc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c
index 4662893..189463d 100644
--- a/arch/arm/cpu/armv7/mx6/soc.c
+++ b/arch/arm/cpu/armv7/mx6/soc.c
@@ -518,6 +518,19 @@ int board_postclk_init(void)
return 0;
}
+#ifdef CONFIG_SERIAL_TAG
+void get_board_serial(struct tag_serialnr *serialnr)
+{
+ struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR;
+ struct fuse_bank *bank = &ocotp->bank[0];
+ struct fuse_bank0_regs *fuse =
+ (struct fuse_bank0_regs *)bank->fuse_regs;
+
+ serialnr->low = fuse->uid_low;
+ serialnr->high = fuse->uid_high;
+}
+#endif
+
#ifndef CONFIG_SYS_DCACHE_OFF
void enable_caches(void)
{