MIPS: Netlogic XLR/XLS processor IDs.
Add Netlogic Microsystems company ID and processor IDs for XLR and XLS processors for CPU probe. Add CPU_XLR to cpu_type_enum. Signed-off-by: Jayachandran C <jayachandranc@netlogicmicro.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2367/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
committed by
Ralf Baechle
parent
61c4f2c81c
commit
a7117c6bdd
@@ -988,6 +988,59 @@ static inline void cpu_probe_ingenic(struct cpuinfo_mips *c, unsigned int cpu)
|
||||
}
|
||||
}
|
||||
|
||||
static inline void cpu_probe_netlogic(struct cpuinfo_mips *c, int cpu)
|
||||
{
|
||||
decode_configs(c);
|
||||
|
||||
c->options = (MIPS_CPU_TLB |
|
||||
MIPS_CPU_4KEX |
|
||||
MIPS_CPU_COUNTER |
|
||||
MIPS_CPU_DIVEC |
|
||||
MIPS_CPU_WATCH |
|
||||
MIPS_CPU_EJTAG |
|
||||
MIPS_CPU_LLSC);
|
||||
|
||||
switch (c->processor_id & 0xff00) {
|
||||
case PRID_IMP_NETLOGIC_XLR732:
|
||||
case PRID_IMP_NETLOGIC_XLR716:
|
||||
case PRID_IMP_NETLOGIC_XLR532:
|
||||
case PRID_IMP_NETLOGIC_XLR308:
|
||||
case PRID_IMP_NETLOGIC_XLR532C:
|
||||
case PRID_IMP_NETLOGIC_XLR516C:
|
||||
case PRID_IMP_NETLOGIC_XLR508C:
|
||||
case PRID_IMP_NETLOGIC_XLR308C:
|
||||
c->cputype = CPU_XLR;
|
||||
__cpu_name[cpu] = "Netlogic XLR";
|
||||
break;
|
||||
|
||||
case PRID_IMP_NETLOGIC_XLS608:
|
||||
case PRID_IMP_NETLOGIC_XLS408:
|
||||
case PRID_IMP_NETLOGIC_XLS404:
|
||||
case PRID_IMP_NETLOGIC_XLS208:
|
||||
case PRID_IMP_NETLOGIC_XLS204:
|
||||
case PRID_IMP_NETLOGIC_XLS108:
|
||||
case PRID_IMP_NETLOGIC_XLS104:
|
||||
case PRID_IMP_NETLOGIC_XLS616B:
|
||||
case PRID_IMP_NETLOGIC_XLS608B:
|
||||
case PRID_IMP_NETLOGIC_XLS416B:
|
||||
case PRID_IMP_NETLOGIC_XLS412B:
|
||||
case PRID_IMP_NETLOGIC_XLS408B:
|
||||
case PRID_IMP_NETLOGIC_XLS404B:
|
||||
c->cputype = CPU_XLR;
|
||||
__cpu_name[cpu] = "Netlogic XLS";
|
||||
break;
|
||||
|
||||
default:
|
||||
printk(KERN_INFO "Unknown Netlogic chip id [%02x]!\n",
|
||||
c->processor_id);
|
||||
c->cputype = CPU_XLR;
|
||||
break;
|
||||
}
|
||||
|
||||
c->isa_level = MIPS_CPU_ISA_M64R1;
|
||||
c->tlbsize = ((read_c0_config1() >> 25) & 0x3f) + 1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
/* For use by uaccess.h */
|
||||
u64 __ua_limit;
|
||||
@@ -1035,6 +1088,9 @@ __cpuinit void cpu_probe(void)
|
||||
case PRID_COMP_INGENIC:
|
||||
cpu_probe_ingenic(c, cpu);
|
||||
break;
|
||||
case PRID_COMP_NETLOGIC:
|
||||
cpu_probe_netlogic(c, cpu);
|
||||
break;
|
||||
}
|
||||
|
||||
BUG_ON(!__cpu_name[cpu]);
|
||||
|
Reference in New Issue
Block a user