aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/cpu-probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/cpu-probe.c')
-rw-r--r--arch/mips/kernel/cpu-probe.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 3e004161ebd5..97c03865c06a 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -159,6 +159,7 @@ static inline void check_wait(void)
159 case CPU_5KC: 159 case CPU_5KC:
160 case CPU_25KF: 160 case CPU_25KF:
161 case CPU_PR4450: 161 case CPU_PR4450:
162 case CPU_BCM3302:
162 cpu_wait = r4k_wait; 163 cpu_wait = r4k_wait;
163 break; 164 break;
164 165
@@ -793,6 +794,22 @@ static inline void cpu_probe_philips(struct cpuinfo_mips *c)
793} 794}
794 795
795 796
797static inline void cpu_probe_broadcom(struct cpuinfo_mips *c)
798{
799 decode_configs(c);
800 switch (c->processor_id & 0xff00) {
801 case PRID_IMP_BCM3302:
802 c->cputype = CPU_BCM3302;
803 break;
804 case PRID_IMP_BCM4710:
805 c->cputype = CPU_BCM4710;
806 break;
807 default:
808 c->cputype = CPU_UNKNOWN;
809 break;
810 }
811}
812
796__init void cpu_probe(void) 813__init void cpu_probe(void)
797{ 814{
798 struct cpuinfo_mips *c = &current_cpu_data; 815 struct cpuinfo_mips *c = &current_cpu_data;
@@ -815,6 +832,9 @@ __init void cpu_probe(void)
815 case PRID_COMP_SIBYTE: 832 case PRID_COMP_SIBYTE:
816 cpu_probe_sibyte(c); 833 cpu_probe_sibyte(c);
817 break; 834 break;
835 case PRID_COMP_BROADCOM:
836 cpu_probe_broadcom(c);
837 break;
818 case PRID_COMP_SANDCRAFT: 838 case PRID_COMP_SANDCRAFT:
819 cpu_probe_sandcraft(c); 839 cpu_probe_sandcraft(c);
820 break; 840 break;