diff options
Diffstat (limited to 'arch/mips/kernel/cpu-probe.c')
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 20 |
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 | ||
797 | static 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 = ¤t_cpu_data; | 815 | struct cpuinfo_mips *c = ¤t_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; |