summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-03-06 08:33:57 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-03-06 08:33:57 +0100
commite9fe7ecc5f4d2dca46a1668db40ba2674e0c54a1 (patch)
tree8e720c4b9b6e96300d4f030bd43a55965c092e51 /arch/arm/mach-at91
parent6bcfcece08a68e57e01de4087f8fd036194744f3 (diff)
parent6c2a1c6769fb0450dd625555e158e5e04429c1a5 (diff)
downloadbarebox-e9fe7ecc5f4d2dca46a1668db40ba2674e0c54a1.tar.gz
barebox-e9fe7ecc5f4d2dca46a1668db40ba2674e0c54a1.tar.xz
Merge branch 'for-next/at91'
Diffstat (limited to 'arch/arm/mach-at91')
-rw-r--r--arch/arm/mach-at91/include/mach/cpu.h7
-rw-r--r--arch/arm/mach-at91/setup.c17
2 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/include/mach/cpu.h b/arch/arm/mach-at91/include/mach/cpu.h
index f684d32949..def49dc00d 100644
--- a/arch/arm/mach-at91/include/mach/cpu.h
+++ b/arch/arm/mach-at91/include/mach/cpu.h
@@ -48,6 +48,10 @@
#define ARCH_EXID_AT91SAM9G25 0x00000003
#define ARCH_EXID_AT91SAM9X25 0x00000004
+#define ARCH_EXID_AT91SAM9N12 0x00000006
+#define ARCH_EXID_AT91SAM9CN11 0x00000009
+#define ARCH_EXID_AT91SAM9CN12 0x00000005
+
#define ARCH_EXID_SAMA5D3 0x00004300
#define ARCH_EXID_SAMA5D31 0x00444300
#define ARCH_EXID_SAMA5D33 0x00414300
@@ -113,6 +117,9 @@ enum at91_soc_subtype {
AT91_SOC_SAM9G15, AT91_SOC_SAM9G35, AT91_SOC_SAM9X35,
AT91_SOC_SAM9G25, AT91_SOC_SAM9X25,
+ /* SAM9N12 */
+ AT91_SOC_SAM9CN11, AT91_SOC_SAM9CN12,
+
/* SAMA5D3 */
AT91_SOC_SAMA5D31, AT91_SOC_SAMA5D33, AT91_SOC_SAMA5D34,
AT91_SOC_SAMA5D35, AT91_SOC_SAMA5D36,
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 030b8a2c58..341979ae89 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -156,6 +156,20 @@ static void __init soc_detect(u32 dbgu_base)
}
}
+ if (at91_soc_initdata.type == AT91_SOC_SAM9N12) {
+ switch (at91_soc_initdata.exid) {
+ case ARCH_EXID_AT91SAM9N12:
+ at91_soc_initdata.subtype = AT91_SOC_SAM9N12;
+ break;
+ case ARCH_EXID_AT91SAM9CN11:
+ at91_soc_initdata.subtype = AT91_SOC_SAM9CN11;
+ break;
+ case ARCH_EXID_AT91SAM9CN12:
+ at91_soc_initdata.subtype = AT91_SOC_SAM9CN12;
+ break;
+ }
+ }
+
if (at91_soc_initdata.type == AT91_SOC_SAMA5D3) {
switch (at91_soc_initdata.exid) {
case ARCH_EXID_SAMA5D31:
@@ -229,6 +243,9 @@ static const char *soc_subtype_name[] = {
[AT91_SOC_SAM9X35] = "at91sam9x35",
[AT91_SOC_SAM9G25] = "at91sam9g25",
[AT91_SOC_SAM9X25] = "at91sam9x25",
+ [AT91_SOC_SAM9N12] = "at91sam9n12",
+ [AT91_SOC_SAM9CN11] = "at91sam9cn11",
+ [AT91_SOC_SAM9CN12] = "at91sam9cn12",
[AT91_SOC_SAMA5D31] = "sama5d31",
[AT91_SOC_SAMA5D33] = "sama5d33",
[AT91_SOC_SAMA5D34] = "sama5d34",