diff options
author | Baruch Siach <baruch@tkos.co.il> | 2010-08-02 14:58:52 +0300 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-08-04 09:28:15 +0200 |
commit | 8d657541aa73dea3472b72ea8bb5c960cffdd962 (patch) | |
tree | 282353f10134bd3503e787e5492a339a4b32a519 /arch/arm | |
parent | e74f2160e7f0ea36f3b74fb3271b08c75f77b547 (diff) | |
download | barebox-8d657541aa73dea3472b72ea8bb5c960cffdd962.tar.gz barebox-8d657541aa73dea3472b72ea8bb5c960cffdd962.tar.xz |
imx25: add support for UID read from eFuse
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-imx/imx25.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/generic.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/imx25-regs.h | 3 |
3 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx25.c b/arch/arm/mach-imx/imx25.c index 00a1e4eec4..de70247b16 100644 --- a/arch/arm/mach-imx/imx25.c +++ b/arch/arm/mach-imx/imx25.c @@ -16,6 +16,8 @@ */ #include <common.h> +#include <mach/imx-regs.h> +#include <asm/io.h> #include "gpio.h" @@ -28,3 +30,13 @@ void *imx_gpio_base[] = { int imx_gpio_count = ARRAY_SIZE(imx_gpio_base) * 32; +u64 imx_uid(void) +{ + u64 uid = 0; + int i; + + for (i = 0; i < 8; i++) + uid = (uid << 8) | readb(IMX_IIM_BASE + IIM_UID + i*4); + + return uid; +} diff --git a/arch/arm/mach-imx/include/mach/generic.h b/arch/arm/mach-imx/include/mach/generic.h index 48ed336cee..4b89838685 100644 --- a/arch/arm/mach-imx/include/mach/generic.h +++ b/arch/arm/mach-imx/include/mach/generic.h @@ -6,6 +6,7 @@ int imx_silicon_revision(void); #define IMX35_CHIP_REVISION_1_0 0x10 #define IMX35_CHIP_REVISION_2_0 0x20 +u64 imx_uid(void); #ifdef CONFIG_ARCH_IMX1 diff --git a/arch/arm/mach-imx/include/mach/imx25-regs.h b/arch/arm/mach-imx/include/mach/imx25-regs.h index e91e7b69ad..7c2b5f9af0 100644 --- a/arch/arm/mach-imx/include/mach/imx25-regs.h +++ b/arch/arm/mach-imx/include/mach/imx25-regs.h @@ -140,5 +140,8 @@ /* important definition of some bits of WCR */ #define WCR_WDE 0x04 +/* IIM fuse definitions */ +#define IIM_UID 0x820 + #endif /* __ASM_ARCH_MX25_REGS_H */ |