.. | .. |
---|
34 | 34 | #define REG_BCM6328_OTP ((void __iomem *)CKSEG1ADDR(0x1000062c)) |
---|
35 | 35 | #define BCM6328_TP1_DISABLED BIT(9) |
---|
36 | 36 | |
---|
| 37 | +extern bool bmips_rac_flush_disable; |
---|
| 38 | + |
---|
37 | 39 | static const unsigned long kbase = VMLINUX_LOAD_ADDRESS & 0xfff00000; |
---|
38 | 40 | |
---|
39 | 41 | struct bmips_quirk { |
---|
.. | .. |
---|
103 | 105 | * disable SMP for now |
---|
104 | 106 | */ |
---|
105 | 107 | bmips_smp_enabled = 0; |
---|
| 108 | + |
---|
| 109 | + /* |
---|
| 110 | + * RAC flush causes kernel panics on BCM6358 when booting from TP1 |
---|
| 111 | + * because the bootloader is not initializing it properly. |
---|
| 112 | + */ |
---|
| 113 | + bmips_rac_flush_disable = !!(read_c0_brcm_cmt_local() & (1 << 31)); |
---|
106 | 114 | } |
---|
107 | 115 | |
---|
108 | 116 | static void bcm6368_quirks(void) |
---|