summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/cpu/armv7/sunxi/cpu_info.c8
-rw-r--r--arch/arm/include/asm/arch-sunxi/cpu_sun9i.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/sunxi/cpu_info.c b/arch/arm/cpu/armv7/sunxi/cpu_info.c
index b9bc70ca86..86340e5792 100644
--- a/arch/arm/cpu/armv7/sunxi/cpu_info.c
+++ b/arch/arm/cpu/armv7/sunxi/cpu_info.c
@@ -83,6 +83,12 @@ int print_cpuinfo(void)
}
#endif
+#if defined(CONFIG_MACH_SUN9I)
+#define SUNXI_SID_CHIPID_OFFSET 0x200
+#else
+#define SUNXI_SID_CHIPID_OFFSET 0
+#endif
+
int sunxi_get_sid(unsigned int *sid)
{
#ifdef CONFIG_AXP221_POWER
@@ -91,7 +97,7 @@ int sunxi_get_sid(unsigned int *sid)
int i;
for (i = 0; i< 4; i++)
- sid[i] = readl(SUNXI_SID_BASE + 4 * i);
+ sid[i] = readl(SUNXI_SID_BASE + SUNXI_SID_CHIPID_OFFSET + 4 * i);
return 0;
#else
diff --git a/arch/arm/include/asm/arch-sunxi/cpu_sun9i.h b/arch/arm/include/asm/arch-sunxi/cpu_sun9i.h
index ec37bb9afb..63dcbdf08f 100644
--- a/arch/arm/include/asm/arch-sunxi/cpu_sun9i.h
+++ b/arch/arm/include/asm/arch-sunxi/cpu_sun9i.h
@@ -24,6 +24,7 @@
#define SUNXI_TSC_BASE (REGS_AHB0_BASE + 0x4000)
#define SUNXI_GTBUS_BASE (REGS_AHB0_BASE + 0x9000)
+#define SUNXI_SID_BASE (REGS_AHB0_BASE + 0xE000)
#define SUNXI_MMC0_BASE (REGS_AHB0_BASE + 0x0f000)
#define SUNXI_MMC1_BASE (REGS_AHB0_BASE + 0x10000)