diff options
| -rw-r--r-- | arch/arm/mach-mvebu/board-v7.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/arch/arm/mach-mvebu/board-v7.c b/arch/arm/mach-mvebu/board-v7.c index 8bb742fdf5ca..804c952329e2 100644 --- a/arch/arm/mach-mvebu/board-v7.c +++ b/arch/arm/mach-mvebu/board-v7.c | |||
| @@ -78,10 +78,17 @@ static void __init mvebu_timer_and_clk_init(void) | |||
| 78 | mvebu_scu_enable(); | 78 | mvebu_scu_enable(); |
| 79 | coherency_init(); | 79 | coherency_init(); |
| 80 | BUG_ON(mvebu_mbus_dt_init(coherency_available())); | 80 | BUG_ON(mvebu_mbus_dt_init(coherency_available())); |
| 81 | } | ||
| 82 | |||
| 83 | static void __init external_abort_quirk(void) | ||
| 84 | { | ||
| 85 | u32 dev, rev; | ||
| 81 | 86 | ||
| 82 | if (of_machine_is_compatible("marvell,armada375")) | 87 | if (mvebu_get_soc_id(&dev, &rev) == 0 && rev > ARMADA_375_Z1_REV) |
| 83 | hook_fault_code(16 + 6, armada_375_external_abort_wa, SIGBUS, 0, | 88 | return; |
| 84 | "imprecise external abort"); | 89 | |
| 90 | hook_fault_code(16 + 6, armada_375_external_abort_wa, SIGBUS, 0, | ||
| 91 | "imprecise external abort"); | ||
| 85 | } | 92 | } |
| 86 | 93 | ||
| 87 | static void __init i2c_quirk(void) | 94 | static void __init i2c_quirk(void) |
| @@ -169,8 +176,10 @@ static void __init mvebu_dt_init(void) | |||
| 169 | { | 176 | { |
| 170 | if (of_machine_is_compatible("plathome,openblocks-ax3-4")) | 177 | if (of_machine_is_compatible("plathome,openblocks-ax3-4")) |
| 171 | i2c_quirk(); | 178 | i2c_quirk(); |
| 172 | if (of_machine_is_compatible("marvell,a375-db")) | 179 | if (of_machine_is_compatible("marvell,a375-db")) { |
| 180 | external_abort_quirk(); | ||
| 173 | thermal_quirk(); | 181 | thermal_quirk(); |
| 182 | } | ||
| 174 | 183 | ||
| 175 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 184 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
| 176 | } | 185 | } |
