aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/kernel/cpu-probe.c9
-rw-r--r--arch/mips/kernel/proc.c1
-rw-r--r--arch/mips/mm/c-r4k.c4
-rw-r--r--arch/mips/mm/pg-r4k.c1
-rw-r--r--arch/mips/mm/tlbex.c1
-rw-r--r--include/asm-mips/cpu.h4
6 files changed, 19 insertions, 1 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 17184921b71d..bef3e2dc7c52 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -433,6 +433,15 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
433 MIPS_CPU_LLSC; 433 MIPS_CPU_LLSC;
434 c->tlbsize = 64; 434 c->tlbsize = 64;
435 break; 435 break;
436 case PRID_IMP_R14000:
437 c->cputype = CPU_R14000;
438 c->isa_level = MIPS_CPU_ISA_IV;
439 c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX |
440 MIPS_CPU_FPU | MIPS_CPU_32FPR |
441 MIPS_CPU_COUNTER | MIPS_CPU_WATCH |
442 MIPS_CPU_LLSC;
443 c->tlbsize = 64;
444 break;
436 } 445 }
437} 446}
438 447
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index 197952c44467..9def554f335b 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -42,6 +42,7 @@ static const char *cpu_name[] = {
42 [CPU_R8000] = "R8000", 42 [CPU_R8000] = "R8000",
43 [CPU_R10000] = "R10000", 43 [CPU_R10000] = "R10000",
44 [CPU_R12000] = "R12000", 44 [CPU_R12000] = "R12000",
45 [CPU_R14000] = "R14000",
45 [CPU_R4300] = "R4300", 46 [CPU_R4300] = "R4300",
46 [CPU_R4650] = "R4650", 47 [CPU_R4650] = "R4650",
47 [CPU_R4700] = "R4700", 48 [CPU_R4700] = "R4700",
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 570bc4e30fd5..6b3541769602 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -335,6 +335,7 @@ static inline void local_r4k___flush_cache_all(void * args)
335 case CPU_R4400MC: 335 case CPU_R4400MC:
336 case CPU_R10000: 336 case CPU_R10000:
337 case CPU_R12000: 337 case CPU_R12000:
338 case CPU_R14000:
338 r4k_blast_scache(); 339 r4k_blast_scache();
339 } 340 }
340} 341}
@@ -833,6 +834,7 @@ static void __init probe_pcache(void)
833 834
834 case CPU_R10000: 835 case CPU_R10000:
835 case CPU_R12000: 836 case CPU_R12000:
837 case CPU_R14000:
836 icache_size = 1 << (12 + ((config & R10K_CONF_IC) >> 29)); 838 icache_size = 1 << (12 + ((config & R10K_CONF_IC) >> 29));
837 c->icache.linesz = 64; 839 c->icache.linesz = 64;
838 c->icache.ways = 2; 840 c->icache.ways = 2;
@@ -986,6 +988,7 @@ static void __init probe_pcache(void)
986 c->dcache.flags |= MIPS_CACHE_PINDEX; 988 c->dcache.flags |= MIPS_CACHE_PINDEX;
987 case CPU_R10000: 989 case CPU_R10000:
988 case CPU_R12000: 990 case CPU_R12000:
991 case CPU_R14000:
989 case CPU_SB1: 992 case CPU_SB1:
990 break; 993 break;
991 case CPU_24K: 994 case CPU_24K:
@@ -1113,6 +1116,7 @@ static void __init setup_scache(void)
1113 1116
1114 case CPU_R10000: 1117 case CPU_R10000:
1115 case CPU_R12000: 1118 case CPU_R12000:
1119 case CPU_R14000:
1116 scache_size = 0x80000 << ((config & R10K_CONF_SS) >> 16); 1120 scache_size = 0x80000 << ((config & R10K_CONF_SS) >> 16);
1117 c->scache.linesz = 64 << ((config >> 13) & 1); 1121 c->scache.linesz = 64 << ((config >> 13) & 1);
1118 c->scache.ways = 2; 1122 c->scache.ways = 2;
diff --git a/arch/mips/mm/pg-r4k.c b/arch/mips/mm/pg-r4k.c
index e4390dc3eb48..b7c749232ffe 100644
--- a/arch/mips/mm/pg-r4k.c
+++ b/arch/mips/mm/pg-r4k.c
@@ -357,6 +357,7 @@ void __init build_clear_page(void)
357 357
358 case CPU_R10000: 358 case CPU_R10000:
359 case CPU_R12000: 359 case CPU_R12000:
360 case CPU_R14000:
360 pref_src_mode = Pref_LoadStreamed; 361 pref_src_mode = Pref_LoadStreamed;
361 pref_dst_mode = Pref_StoreStreamed; 362 pref_dst_mode = Pref_StoreStreamed;
362 break; 363 break;
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index 4ff07e2efcb3..54507be2ab5b 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -875,6 +875,7 @@ static __init void build_tlb_write_entry(u32 **p, struct label **l,
875 875
876 case CPU_R10000: 876 case CPU_R10000:
877 case CPU_R12000: 877 case CPU_R12000:
878 case CPU_R14000:
878 case CPU_4KC: 879 case CPU_4KC:
879 case CPU_SB1: 880 case CPU_SB1:
880 case CPU_SB1A: 881 case CPU_SB1A:
diff --git a/include/asm-mips/cpu.h b/include/asm-mips/cpu.h
index 0117138149bc..dff2a0a52f8f 100644
--- a/include/asm-mips/cpu.h
+++ b/include/asm-mips/cpu.h
@@ -51,6 +51,7 @@
51#define PRID_IMP_R4300 0x0b00 51#define PRID_IMP_R4300 0x0b00
52#define PRID_IMP_VR41XX 0x0c00 52#define PRID_IMP_VR41XX 0x0c00
53#define PRID_IMP_R12000 0x0e00 53#define PRID_IMP_R12000 0x0e00
54#define PRID_IMP_R14000 0x0f00
54#define PRID_IMP_R8000 0x1000 55#define PRID_IMP_R8000 0x1000
55#define PRID_IMP_PR4450 0x1200 56#define PRID_IMP_PR4450 0x1200
56#define PRID_IMP_R4600 0x2000 57#define PRID_IMP_R4600 0x2000
@@ -198,7 +199,8 @@
198#define CPU_PR4450 61 199#define CPU_PR4450 61
199#define CPU_SB1A 62 200#define CPU_SB1A 62
200#define CPU_74K 63 201#define CPU_74K 63
201#define CPU_LAST 63 202#define CPU_R14000 64
203#define CPU_LAST 64
202 204
203/* 205/*
204 * ISA Level encodings 206 * ISA Level encodings