summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThor Thayer <thor.thayer@linux.intel.com>2019-11-03 14:32:08 -0600
committerThor Thayer <thor.thayer@linux.intel.com>2019-11-03 14:34:16 -0600
commit2113e85dbccb22d6ec4df1c4e2149c9c9a7c44b6 (patch)
tree5bb4500dd70945db9cf24c4b3bcea6d6d3d17ebe
parent8c4cd804d6d77fbc4d7201d19755b6e89d43ae65 (diff)
downloadu-boot-socfpga-2113e85dbccb22d6ec4df1c4e2149c9c9a7c44b6.tar.gz
HSD #1707095796: Remove MPFE Firewall for SMMU
Remove firewall on MPFE so that SMMU can setup/walk tables in the DDR. Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com> --- v2 Move to firewall.c Define MPFE_SCR for both Stratix10 and Agilex
-rw-r--r--arch/arm/mach-socfpga/firewall.c6
-rw-r--r--arch/arm/mach-socfpga/include/mach/base_addr_s10.h1
-rw-r--r--arch/arm/mach-socfpga/include/mach/firewall.h1
3 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-socfpga/firewall.c b/arch/arm/mach-socfpga/firewall.c
index c67650158a..06765c84d8 100644
--- a/arch/arm/mach-socfpga/firewall.c
+++ b/arch/arm/mach-socfpga/firewall.c
@@ -94,4 +94,10 @@ void firewall_setup(void)
firewall_l4_per_disable();
firewall_l4_sys_disable();
firewall_bridge_disable();
+
+#ifdef CONFIG_TARGET_SOCFPGA_AGILEX
+ /* Disable the MPFE Firewall for SMMU */
+ writel(FIREWALL_MPFE_SCR_DISABLE_ALL, SOCFPGA_FW_MPFE_SCR_ADDRESS);
+#endif
+
}
diff --git a/arch/arm/mach-socfpga/include/mach/base_addr_s10.h b/arch/arm/mach-socfpga/include/mach/base_addr_s10.h
index e29944680b..269e639159 100644
--- a/arch/arm/mach-socfpga/include/mach/base_addr_s10.h
+++ b/arch/arm/mach-socfpga/include/mach/base_addr_s10.h
@@ -10,6 +10,7 @@
#define SOCFPGA_SDR_SCHEDULER_ADDRESS 0xf8000400
#define SOCFPGA_HMC_MMR_IO48_ADDRESS 0xf8010000
#define SOCFPGA_SDR_ADDRESS 0xf8011000
+#define SOCFPGA_FW_MPFE_SCR_ADDRESS 0xf8020000
#ifdef CONFIG_TARGET_SOCFPGA_AGILEX
#define SOCFPGA_FW_MPU_DDR_SCR_ADDRESS 0xf8020200
#else
diff --git a/arch/arm/mach-socfpga/include/mach/firewall.h b/arch/arm/mach-socfpga/include/mach/firewall.h
index 516bd1c0e1..852938c85d 100644
--- a/arch/arm/mach-socfpga/include/mach/firewall.h
+++ b/arch/arm/mach-socfpga/include/mach/firewall.h
@@ -73,6 +73,7 @@ struct socfpga_firwall_l4_sys {
};
#define FIREWALL_L4_DISABLE_ALL (BIT(0) | BIT(24) | BIT(16))
+#define FIREWALL_MPFE_SCR_DISABLE_ALL (BIT(0) | BIT(8) | BIT(16))
#define FIREWALL_BRIDGE_DISABLE_ALL (~0)
/* Cache coherency unit (CCU) registers */