summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mvebu/armada-370-xp.c6
-rw-r--r--arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
index 666ae077f6..f2b991e5a7 100644
--- a/arch/arm/mach-mvebu/armada-370-xp.c
+++ b/arch/arm/mach-mvebu/armada-370-xp.c
@@ -47,10 +47,16 @@ static inline void armada_370_xp_memory_find(unsigned long *phys_base,
static int armada_370_xp_init_soc(void)
{
unsigned long phys_base, phys_size;
+ u32 reg;
barebox_set_model("Marvell Armada 370/XP");
barebox_set_hostname("armada");
+ /* Disable MBUS error propagation */
+ reg = readl(ARMADA_370_XP_FABRIC_BASE);
+ reg &= ~BIT(8);
+ writel(reg, ARMADA_370_XP_FABRIC_BASE);
+
armada_370_xp_memory_find(&phys_base, &phys_size);
mvebu_set_memory(phys_base, phys_size);
diff --git a/arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h b/arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h
index 5fd16e5733..ccc687c03b 100644
--- a/arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h
+++ b/arch/arm/mach-mvebu/include/mach/armada-370-xp-regs.h
@@ -42,6 +42,8 @@
#define DDR_SIZE_CS_SHIFT 2
#define DDR_SIZE_MASK 0xff000000
+#define ARMADA_370_XP_FABRIC_BASE (ARMADA_370_XP_INT_REGS_BASE + 0x20200)
+
#define ARMADA_370_XP_TIMER_BASE (ARMADA_370_XP_INT_REGS_BASE + 0x20300)
#endif /* __MACH_MVEBU_DOVE_REGS_H */