summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv8/fsl-lsch3
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2015-03-20 19:28:10 -0700
committerYork Sun <yorksun@freescale.com>2015-04-23 08:55:55 -0700
commit07c6600068da31d0f7c67ac3eb92dfc4270f4c07 (patch)
treeba8a57b7f778bd0989a6fb641a6873f73adad354 /arch/arm/cpu/armv8/fsl-lsch3
parent05d2e21be5e48185cf81389d12b1b8d0eceeae83 (diff)
armv8/fsl-lsch3: Set nodes in DVM domain
This is required for TLB invalidation broadcasts to work. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'arch/arm/cpu/armv8/fsl-lsch3')
-rw-r--r--arch/arm/cpu/armv8/fsl-lsch3/lowlevel.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/fsl-lsch3/lowlevel.S b/arch/arm/cpu/armv8/fsl-lsch3/lowlevel.S
index 53bdb4487c..018c61742e 100644
--- a/arch/arm/cpu/armv8/fsl-lsch3/lowlevel.S
+++ b/arch/arm/cpu/armv8/fsl-lsch3/lowlevel.S
@@ -15,6 +15,15 @@
ENTRY(lowlevel_init)
mov x29, lr /* Save LR */
+ /* Add fully-coherent masters to DVM domain */
+ ldr x1, =CCI_MN_BASE
+ ldr x2, [x1, #CCI_MN_RNF_NODEID_LIST]
+ str x2, [x1, #CCI_MN_DVM_DOMAIN_CTL_SET]
+1: ldr x3, [x1, #CCI_MN_DVM_DOMAIN_CTL_SET]
+ mvn x0, x3
+ tst x0, x3 /* Wait for domain addition to complete */
+ b.ne 1b
+
/* Set the SMMU page size in the sACR register */
ldr x1, =SMMU_BASE
ldr w0, [x1, #0x10]