|
@@ -90,7 +90,9 @@ void __init prom_init_env(void)
|
|
|
|
|
|
cpu_clock_freq = ecpu->cpu_clock_freq;
|
|
|
loongson_sysconf.cputype = ecpu->cputype;
|
|
|
- if (ecpu->cputype == Loongson_3A) {
|
|
|
+ switch (ecpu->cputype) {
|
|
|
+ case Legacy_3A:
|
|
|
+ case Loongson_3A:
|
|
|
loongson_sysconf.cores_per_node = 4;
|
|
|
loongson_sysconf.cores_per_package = 4;
|
|
|
smp_group[0] = 0x900000003ff01000;
|
|
@@ -111,7 +113,9 @@ void __init prom_init_env(void)
|
|
|
loongson_freqctrl[3] = 0x900030001fe001d0;
|
|
|
loongson_sysconf.ht_control_base = 0x90000EFDFB000000;
|
|
|
loongson_sysconf.workarounds = WORKAROUND_CPUFREQ;
|
|
|
- } else if (ecpu->cputype == Loongson_3B) {
|
|
|
+ break;
|
|
|
+ case Legacy_3B:
|
|
|
+ case Loongson_3B:
|
|
|
loongson_sysconf.cores_per_node = 4; /* One chip has 2 nodes */
|
|
|
loongson_sysconf.cores_per_package = 8;
|
|
|
smp_group[0] = 0x900000003ff01000;
|
|
@@ -132,7 +136,8 @@ void __init prom_init_env(void)
|
|
|
loongson_freqctrl[3] = 0x900060001fe001d0;
|
|
|
loongson_sysconf.ht_control_base = 0x90001EFDFB000000;
|
|
|
loongson_sysconf.workarounds = WORKAROUND_CPUHOTPLUG;
|
|
|
- } else {
|
|
|
+ break;
|
|
|
+ default:
|
|
|
loongson_sysconf.cores_per_node = 1;
|
|
|
loongson_sysconf.cores_per_package = 1;
|
|
|
loongson_chipcfg[0] = 0x900000001fe00180;
|