diff options
Diffstat (limited to 'arch/mips/kernel/cpu-probe.c')
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index 89c3304cb93c..335a6ae3d594 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -169,6 +169,7 @@ static inline void check_wait(void) | |||
169 | 169 | ||
170 | case CPU_24K: | 170 | case CPU_24K: |
171 | case CPU_34K: | 171 | case CPU_34K: |
172 | case CPU_1004K: | ||
172 | cpu_wait = r4k_wait; | 173 | cpu_wait = r4k_wait; |
173 | if (read_c0_config7() & MIPS_CONF7_WII) | 174 | if (read_c0_config7() & MIPS_CONF7_WII) |
174 | cpu_wait = r4k_wait_irqoff; | 175 | cpu_wait = r4k_wait_irqoff; |
@@ -675,6 +676,12 @@ static void __cpuinit decode_configs(struct cpuinfo_mips *c) | |||
675 | return; | 676 | return; |
676 | } | 677 | } |
677 | 678 | ||
679 | #ifdef CONFIG_CPU_MIPSR2 | ||
680 | extern void spram_config(void); | ||
681 | #else | ||
682 | static inline void spram_config(void) {} | ||
683 | #endif | ||
684 | |||
678 | static inline void cpu_probe_mips(struct cpuinfo_mips *c) | 685 | static inline void cpu_probe_mips(struct cpuinfo_mips *c) |
679 | { | 686 | { |
680 | decode_configs(c); | 687 | decode_configs(c); |
@@ -711,7 +718,12 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c) | |||
711 | case PRID_IMP_74K: | 718 | case PRID_IMP_74K: |
712 | c->cputype = CPU_74K; | 719 | c->cputype = CPU_74K; |
713 | break; | 720 | break; |
721 | case PRID_IMP_1004K: | ||
722 | c->cputype = CPU_1004K; | ||
723 | break; | ||
714 | } | 724 | } |
725 | |||
726 | spram_config(); | ||
715 | } | 727 | } |
716 | 728 | ||
717 | static inline void cpu_probe_alchemy(struct cpuinfo_mips *c) | 729 | static inline void cpu_probe_alchemy(struct cpuinfo_mips *c) |
@@ -778,7 +790,7 @@ static inline void cpu_probe_sandcraft(struct cpuinfo_mips *c) | |||
778 | } | 790 | } |
779 | } | 791 | } |
780 | 792 | ||
781 | static inline void cpu_probe_philips(struct cpuinfo_mips *c) | 793 | static inline void cpu_probe_nxp(struct cpuinfo_mips *c) |
782 | { | 794 | { |
783 | decode_configs(c); | 795 | decode_configs(c); |
784 | switch (c->processor_id & 0xff00) { | 796 | switch (c->processor_id & 0xff00) { |
@@ -787,7 +799,7 @@ static inline void cpu_probe_philips(struct cpuinfo_mips *c) | |||
787 | c->isa_level = MIPS_CPU_ISA_M32R1; | 799 | c->isa_level = MIPS_CPU_ISA_M32R1; |
788 | break; | 800 | break; |
789 | default: | 801 | default: |
790 | panic("Unknown Philips Core!"); /* REVISIT: die? */ | 802 | panic("Unknown NXP Core!"); /* REVISIT: die? */ |
791 | break; | 803 | break; |
792 | } | 804 | } |
793 | } | 805 | } |
@@ -876,6 +888,7 @@ static __cpuinit const char *cpu_to_name(struct cpuinfo_mips *c) | |||
876 | case CPU_24K: name = "MIPS 24K"; break; | 888 | case CPU_24K: name = "MIPS 24K"; break; |
877 | case CPU_25KF: name = "MIPS 25Kf"; break; | 889 | case CPU_25KF: name = "MIPS 25Kf"; break; |
878 | case CPU_34K: name = "MIPS 34K"; break; | 890 | case CPU_34K: name = "MIPS 34K"; break; |
891 | case CPU_1004K: name = "MIPS 1004K"; break; | ||
879 | case CPU_74K: name = "MIPS 74K"; break; | 892 | case CPU_74K: name = "MIPS 74K"; break; |
880 | case CPU_VR4111: name = "NEC VR4111"; break; | 893 | case CPU_VR4111: name = "NEC VR4111"; break; |
881 | case CPU_VR4121: name = "NEC VR4121"; break; | 894 | case CPU_VR4121: name = "NEC VR4121"; break; |
@@ -925,8 +938,8 @@ __cpuinit void cpu_probe(void) | |||
925 | case PRID_COMP_SANDCRAFT: | 938 | case PRID_COMP_SANDCRAFT: |
926 | cpu_probe_sandcraft(c); | 939 | cpu_probe_sandcraft(c); |
927 | break; | 940 | break; |
928 | case PRID_COMP_PHILIPS: | 941 | case PRID_COMP_NXP: |
929 | cpu_probe_philips(c); | 942 | cpu_probe_nxp(c); |
930 | break; | 943 | break; |
931 | default: | 944 | default: |
932 | c->cputype = CPU_UNKNOWN; | 945 | c->cputype = CPU_UNKNOWN; |