diff options
author | Manuel Lauss <mano@roarinelk.homelinux.net> | 2007-12-06 03:07:55 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-01-29 05:14:59 -0500 |
commit | 237cfee1db66147aef4457f02b56a41e6f84bfd3 (patch) | |
tree | 75560d951a0a18184040d03184b9d4b2cff20f02 | |
parent | c5ec1983e45d25446a023e98207e30ab1bf2311a (diff) |
[MIPS] Alchemy: Au1210/Au1250 CPU support
This patch adds IDs for new Au1200 variants: Au1210 and Au1250.
They are essentially identical to the Au1200 except for the Au1210
which has a different SoC-ID in the PRId register [bits 31:24].
The Au1250 is a "Au1200 V0.2".
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 9 | ||||
-rw-r--r-- | arch/mips/mm/c-r4k.c | 2 | ||||
-rw-r--r-- | arch/mips/mm/tlbex.c | 2 | ||||
-rw-r--r-- | include/asm-mips/cpu.h | 4 |
4 files changed, 15 insertions, 2 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index 5c2794391bf5..5861a432a52f 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -188,6 +188,8 @@ static inline void check_wait(void) | |||
188 | case CPU_AU1500: | 188 | case CPU_AU1500: |
189 | case CPU_AU1550: | 189 | case CPU_AU1550: |
190 | case CPU_AU1200: | 190 | case CPU_AU1200: |
191 | case CPU_AU1210: | ||
192 | case CPU_AU1250: | ||
191 | if (allow_au1k_wait) | 193 | if (allow_au1k_wait) |
192 | cpu_wait = au1k_wait; | 194 | cpu_wait = au1k_wait; |
193 | break; | 195 | break; |
@@ -733,6 +735,11 @@ static inline void cpu_probe_alchemy(struct cpuinfo_mips *c) | |||
733 | break; | 735 | break; |
734 | case 4: | 736 | case 4: |
735 | c->cputype = CPU_AU1200; | 737 | c->cputype = CPU_AU1200; |
738 | if (2 == (c->processor_id & 0xff)) | ||
739 | c->cputype = CPU_AU1250; | ||
740 | break; | ||
741 | case 5: | ||
742 | c->cputype = CPU_AU1210; | ||
736 | break; | 743 | break; |
737 | default: | 744 | default: |
738 | panic("Unknown Au Core!"); | 745 | panic("Unknown Au Core!"); |
@@ -858,6 +865,8 @@ static __init const char *cpu_to_name(struct cpuinfo_mips *c) | |||
858 | case CPU_AU1100: name = "Au1100"; break; | 865 | case CPU_AU1100: name = "Au1100"; break; |
859 | case CPU_AU1550: name = "Au1550"; break; | 866 | case CPU_AU1550: name = "Au1550"; break; |
860 | case CPU_AU1200: name = "Au1200"; break; | 867 | case CPU_AU1200: name = "Au1200"; break; |
868 | case CPU_AU1210: name = "Au1210"; break; | ||
869 | case CPU_AU1250: name = "Au1250"; break; | ||
861 | case CPU_4KEC: name = "MIPS 4KEc"; break; | 870 | case CPU_4KEC: name = "MIPS 4KEc"; break; |
862 | case CPU_4KSC: name = "MIPS 4KSc"; break; | 871 | case CPU_4KSC: name = "MIPS 4KSc"; break; |
863 | case CPU_VR41XX: name = "NEC Vr41xx"; break; | 872 | case CPU_VR41XX: name = "NEC Vr41xx"; break; |
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index 06074948450d..02bd180f0e02 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
@@ -980,6 +980,8 @@ static void __init probe_pcache(void) | |||
980 | case CPU_AU1100: | 980 | case CPU_AU1100: |
981 | case CPU_AU1550: | 981 | case CPU_AU1550: |
982 | case CPU_AU1200: | 982 | case CPU_AU1200: |
983 | case CPU_AU1210: | ||
984 | case CPU_AU1250: | ||
983 | c->icache.flags |= MIPS_CACHE_IC_F_DC; | 985 | c->icache.flags |= MIPS_CACHE_IC_F_DC; |
984 | break; | 986 | break; |
985 | } | 987 | } |
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index c298344fcb71..d026302e0ecc 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
@@ -917,6 +917,8 @@ static void __init build_tlb_write_entry(u32 **p, struct label **l, | |||
917 | case CPU_AU1500: | 917 | case CPU_AU1500: |
918 | case CPU_AU1550: | 918 | case CPU_AU1550: |
919 | case CPU_AU1200: | 919 | case CPU_AU1200: |
920 | case CPU_AU1210: | ||
921 | case CPU_AU1250: | ||
920 | case CPU_PR4450: | 922 | case CPU_PR4450: |
921 | i_nop(p); | 923 | i_nop(p); |
922 | tlbw(p); | 924 | tlbw(p); |
diff --git a/include/asm-mips/cpu.h b/include/asm-mips/cpu.h index 54fc18a4e5a8..bf5bbc78a9f7 100644 --- a/include/asm-mips/cpu.h +++ b/include/asm-mips/cpu.h | |||
@@ -195,8 +195,8 @@ enum cpu_type_enum { | |||
195 | * MIPS32 class processors | 195 | * MIPS32 class processors |
196 | */ | 196 | */ |
197 | CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_74K, CPU_AU1000, | 197 | CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_74K, CPU_AU1000, |
198 | CPU_AU1100, CPU_AU1200, CPU_AU1500, CPU_AU1550, CPU_PR4450, | 198 | CPU_AU1100, CPU_AU1200, CPU_AU1210, CPU_AU1250, CPU_AU1500, CPU_AU1550, |
199 | CPU_BCM3302, CPU_BCM4710, | 199 | CPU_PR4450, CPU_BCM3302, CPU_BCM4710, |
200 | 200 | ||
201 | /* | 201 | /* |
202 | * MIPS64 class processors | 202 | * MIPS64 class processors |