提交 4e88a862 编写于 作者: M Markos Chandras 提交者: Ralf Baechle

MIPS: Add cases for CPU_I6400

Add a CPU_I6400 case to various switch statements, doing the same thing
as for CPU_P5600.
Signed-off-by: NMarkos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/10635/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
上级 90b8baa2
...@@ -77,6 +77,10 @@ static inline int __pure __get_cpu_type(const int cpu_type) ...@@ -77,6 +77,10 @@ static inline int __pure __get_cpu_type(const int cpu_type)
*/ */
#endif #endif
#ifdef CONFIG_SYS_HAS_CPU_MIPS64_R6
case CPU_I6400:
#endif
#ifdef CONFIG_SYS_HAS_CPU_R3000 #ifdef CONFIG_SYS_HAS_CPU_R3000
case CPU_R2000: case CPU_R2000:
case CPU_R3000: case CPU_R3000:
......
...@@ -196,6 +196,7 @@ void __init check_wait(void) ...@@ -196,6 +196,7 @@ void __init check_wait(void)
case CPU_INTERAPTIV: case CPU_INTERAPTIV:
case CPU_M5150: case CPU_M5150:
case CPU_QEMU_GENERIC: case CPU_QEMU_GENERIC:
case CPU_I6400:
cpu_wait = r4k_wait; cpu_wait = r4k_wait;
if (read_c0_config7() & MIPS_CONF7_WII) if (read_c0_config7() & MIPS_CONF7_WII)
cpu_wait = r4k_wait_irqoff; cpu_wait = r4k_wait_irqoff;
......
...@@ -1556,6 +1556,7 @@ static const struct mips_perf_event *mipsxx_pmu_map_raw_event(u64 config) ...@@ -1556,6 +1556,7 @@ static const struct mips_perf_event *mipsxx_pmu_map_raw_event(u64 config)
#endif #endif
break; break;
case CPU_P5600: case CPU_P5600:
case CPU_I6400:
/* 8-bit event numbers */ /* 8-bit event numbers */
raw_id = config & 0x1ff; raw_id = config & 0x1ff;
base_id = raw_id & 0xff; base_id = raw_id & 0xff;
...@@ -1717,6 +1718,11 @@ init_hw_perf_events(void) ...@@ -1717,6 +1718,11 @@ init_hw_perf_events(void)
mipspmu.general_event_map = &mipsxxcore_event_map2; mipspmu.general_event_map = &mipsxxcore_event_map2;
mipspmu.cache_event_map = &mipsxxcore_cache_map2; mipspmu.cache_event_map = &mipsxxcore_cache_map2;
break; break;
case CPU_I6400:
mipspmu.name = "mips/I6400";
mipspmu.general_event_map = &mipsxxcore_event_map2;
mipspmu.cache_event_map = &mipsxxcore_cache_map2;
break;
case CPU_1004K: case CPU_1004K:
mipspmu.name = "mips/1004K"; mipspmu.name = "mips/1004K";
mipspmu.general_event_map = &mipsxxcore_event_map; mipspmu.general_event_map = &mipsxxcore_event_map;
......
...@@ -267,6 +267,7 @@ static int __init cps_gen_flush_fsb(u32 **pp, struct uasm_label **pl, ...@@ -267,6 +267,7 @@ static int __init cps_gen_flush_fsb(u32 **pp, struct uasm_label **pl,
/* CPUs which do not require the workaround */ /* CPUs which do not require the workaround */
case CPU_P5600: case CPU_P5600:
case CPU_I6400:
return 0; return 0;
default: default:
...@@ -671,6 +672,7 @@ static int __init cps_pm_init(void) ...@@ -671,6 +672,7 @@ static int __init cps_pm_init(void)
case CPU_PROAPTIV: case CPU_PROAPTIV:
case CPU_M5150: case CPU_M5150:
case CPU_P5600: case CPU_P5600:
case CPU_I6400:
stype_intervention = 0x2; stype_intervention = 0x2;
stype_memory = 0x3; stype_memory = 0x3;
stype_ordering = 0x10; stype_ordering = 0x10;
......
...@@ -209,6 +209,7 @@ void spram_config(void) ...@@ -209,6 +209,7 @@ void spram_config(void)
case CPU_PROAPTIV: case CPU_PROAPTIV:
case CPU_P5600: case CPU_P5600:
case CPU_QEMU_GENERIC: case CPU_QEMU_GENERIC:
case CPU_I6400:
config0 = read_c0_config(); config0 = read_c0_config();
/* FIXME: addresses are Malta specific */ /* FIXME: addresses are Malta specific */
if (config0 & (1<<24)) { if (config0 & (1<<24)) {
......
...@@ -1651,6 +1651,7 @@ static inline void parity_protection_init(void) ...@@ -1651,6 +1651,7 @@ static inline void parity_protection_init(void)
case CPU_PROAPTIV: case CPU_PROAPTIV:
case CPU_P5600: case CPU_P5600:
case CPU_QEMU_GENERIC: case CPU_QEMU_GENERIC:
case CPU_I6400:
{ {
#define ERRCTL_PE 0x80000000 #define ERRCTL_PE 0x80000000
#define ERRCTL_L2P 0x00800000 #define ERRCTL_L2P 0x00800000
......
...@@ -1276,6 +1276,7 @@ static void probe_pcache(void) ...@@ -1276,6 +1276,7 @@ static void probe_pcache(void)
case CPU_PROAPTIV: case CPU_PROAPTIV:
case CPU_M5150: case CPU_M5150:
case CPU_QEMU_GENERIC: case CPU_QEMU_GENERIC:
case CPU_I6400:
if (!(read_c0_config7() & MIPS_CONF7_IAR) && if (!(read_c0_config7() & MIPS_CONF7_IAR) &&
(c->icache.waysize > PAGE_SIZE)) (c->icache.waysize > PAGE_SIZE))
c->icache.flags |= MIPS_CACHE_ALIASES; c->icache.flags |= MIPS_CACHE_ALIASES;
......
...@@ -91,6 +91,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) ...@@ -91,6 +91,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
case CPU_INTERAPTIV: case CPU_INTERAPTIV:
case CPU_PROAPTIV: case CPU_PROAPTIV:
case CPU_P5600: case CPU_P5600:
case CPU_I6400:
case CPU_M5150: case CPU_M5150:
case CPU_LOONGSON1: case CPU_LOONGSON1:
case CPU_SB1: case CPU_SB1:
......
...@@ -392,6 +392,10 @@ static int __init mipsxx_init(void) ...@@ -392,6 +392,10 @@ static int __init mipsxx_init(void)
op_model_mipsxx_ops.cpu_type = "mips/P5600"; op_model_mipsxx_ops.cpu_type = "mips/P5600";
break; break;
case CPU_I6400:
op_model_mipsxx_ops.cpu_type = "mips/I6400";
break;
case CPU_M5150: case CPU_M5150:
op_model_mipsxx_ops.cpu_type = "mips/M5150"; op_model_mipsxx_ops.cpu_type = "mips/M5150";
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册