public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 05/10] arm: mvebu: Disable MBUS error propagation
Date: Thu, 23 Jul 2015 10:26:15 +0200	[thread overview]
Message-ID: <1437639980-16286-5-git-send-email-sr@denx.de> (raw)
In-Reply-To: <1437639980-16286-1-git-send-email-sr@denx.de>

Accessing MBUS windows not backed-up by e.g. PCIe devices will
hang the SoC. Disable MBUS error propagation back to CPU allows
to read 0xffffffff instead of hanging the SoC.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Luka Perkov <luka.perkov@sartura.hr>
---
 arch/arm/mach-mvebu/cpu.c              | 7 +++++++
 arch/arm/mach-mvebu/include/mach/soc.h | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/arch/arm/mach-mvebu/cpu.c b/arch/arm/mach-mvebu/cpu.c
index 23c2a97..451f308 100644
--- a/arch/arm/mach-mvebu/cpu.c
+++ b/arch/arm/mach-mvebu/cpu.c
@@ -182,6 +182,8 @@ static void set_cbar(u32 addr)
 
 int arch_cpu_init(void)
 {
+	u32 reg;
+
 #ifndef CONFIG_SPL_BUILD
 	if (mvebu_soc_family() == MVEBU_SOC_A38X) {
 		struct pl310_regs *const pl310 =
@@ -241,6 +243,11 @@ int arch_cpu_init(void)
 	 */
 	mvebu_mbus_probe(windows, ARRAY_SIZE(windows));
 
+	/* Disable MBUS error propagation */
+	reg = readl(SOC_COHERENCY_FABRIC_CTRL_REG);
+	reg &= ~MBUS_ERR_PROP_EN;
+	writel(reg, SOC_COHERENCY_FABRIC_CTRL_REG);
+
 	return 0;
 }
 #endif /* CONFIG_ARCH_CPU_INIT */
diff --git a/arch/arm/mach-mvebu/include/mach/soc.h b/arch/arm/mach-mvebu/include/mach/soc.h
index 71254c5..a29e5dc 100644
--- a/arch/arm/mach-mvebu/include/mach/soc.h
+++ b/arch/arm/mach-mvebu/include/mach/soc.h
@@ -66,6 +66,9 @@
 #define MVEBU_SATA0_BASE	(MVEBU_REGISTER(0xa8000))
 #define MVEBU_SDIO_BASE		(MVEBU_REGISTER(0xd8000))
 
+#define SOC_COHERENCY_FABRIC_CTRL_REG	(MVEBU_REGISTER(0x20200))
+#define MBUS_ERR_PROP_EN	(1 << 8)
+
 #define MBUS_BRIDGE_WIN_CTRL_REG (MVEBU_REGISTER(0x20250))
 #define MBUS_BRIDGE_WIN_BASE_REG (MVEBU_REGISTER(0x20254))
 
-- 
2.4.6

  parent reply	other threads:[~2015-07-23  8:26 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-23  8:26 [U-Boot] [PATCH 01/10] arm: marvell: Increase MAXARGS to 32 Stefan Roese
2015-07-23  8:26 ` [U-Boot] [PATCH 02/10] arm: mvebu: Change MBUS base addresses and sizes Stefan Roese
2015-07-23  8:26 ` [U-Boot] [PATCH 03/10] arm: mvebu: Setup the MBUS bridge registers Stefan Roese
2015-07-23  8:26 ` [U-Boot] [PATCH 04/10] arm: mvebu: Flush caches and disable MMU only on A38x Stefan Roese
2015-07-23  8:26 ` Stefan Roese [this message]
2015-07-23  8:26 ` [U-Boot] [PATCH 06/10] mtd: nand: Add mvebu (PXA / AXP / A38x) NAND device driver Stefan Roese
2015-07-23  8:26 ` [U-Boot] [PATCH 07/10] arm: mvebu: Enable NAND controller on MVEBU SoC's Stefan Roese
2015-07-23  8:26 ` [U-Boot] [PATCH 08/10] arm: mvebu: Enable NAND on db-mv784mp-gp Stefan Roese
2015-07-23  8:26 ` [U-Boot] [PATCH 09/10] arm: mvebu: Enable USB EHCI support on Armada XP Stefan Roese
2015-07-23  8:38   ` Marek Vasut
2015-07-23  8:26 ` [U-Boot] [PATCH 10/10] arm: mvebu: db-mv785mp-gp: Add USB/EHCI support Stefan Roese

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1437639980-16286-5-git-send-email-sr@denx.de \
    --to=sr@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox