aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/bcm63xx/prom.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/bcm63xx/prom.c')
-rw-r--r--arch/mips/bcm63xx/prom.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/mips/bcm63xx/prom.c b/arch/mips/bcm63xx/prom.c
index 8ac4e095e68e..e1f27d653f60 100644
--- a/arch/mips/bcm63xx/prom.c
+++ b/arch/mips/bcm63xx/prom.c
@@ -59,14 +59,12 @@ void __init prom_init(void)
59 /* do low level board init */ 59 /* do low level board init */
60 board_prom_init(); 60 board_prom_init();
61 61
62 if (IS_ENABLED(CONFIG_CPU_BMIPS4350) && IS_ENABLED(CONFIG_SMP)) { 62 /* set up SMP */
63 /* set up SMP */ 63 if (!register_bmips_smp_ops()) {
64 register_smp_ops(&bmips_smp_ops);
65
66 /* 64 /*
67 * BCM6328 might not have its second CPU enabled, while BCM6358 65 * BCM6328 might not have its second CPU enabled, while BCM3368
68 * needs special handling for its shared TLB, so disable SMP 66 * and BCM6358 need special handling for their shared TLB, so
69 * for now. 67 * disable SMP for now.
70 */ 68 */
71 if (BCMCPU_IS_6328()) { 69 if (BCMCPU_IS_6328()) {
72 reg = bcm_readl(BCM_6328_OTP_BASE + 70 reg = bcm_readl(BCM_6328_OTP_BASE +
@@ -74,7 +72,7 @@ void __init prom_init(void)
74 72
75 if (reg & OTP_6328_REG3_TP1_DISABLED) 73 if (reg & OTP_6328_REG3_TP1_DISABLED)
76 bmips_smp_enabled = 0; 74 bmips_smp_enabled = 0;
77 } else if (BCMCPU_IS_6358()) { 75 } else if (BCMCPU_IS_3368() || BCMCPU_IS_6358()) {
78 bmips_smp_enabled = 0; 76 bmips_smp_enabled = 0;
79 } 77 }
80 78