aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mvebu/coherency_ll.S
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2013-02-01 10:36:22 +0000
committerBen Dooks <ben.dooks@codethink.co.uk>2013-10-19 20:46:34 +0100
commitbca028e7c2537fea9f401c20dd7b2103358b5efe (patch)
tree40d369c9cef9376867cbba09330b1e7c8e8699c4 /arch/arm/mach-mvebu/coherency_ll.S
parentARM: highbank: enable big-endian (diff)
downloadlinux-dev-bca028e7c2537fea9f401c20dd7b2103358b5efe.tar.xz
linux-dev-bca028e7c2537fea9f401c20dd7b2103358b5efe.zip
ARM: mvebu: support running big-endian
Add indication we can run these cores in BE mode, and ensure that the secondary CPU is set to big-endian mode in the initialisation code as the initial code runs little-endian. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/mach-mvebu/coherency_ll.S')
-rw-r--r--arch/arm/mach-mvebu/coherency_ll.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-mvebu/coherency_ll.S b/arch/arm/mach-mvebu/coherency_ll.S
index 5476669ba905..ee7598fe75db 100644
--- a/arch/arm/mach-mvebu/coherency_ll.S
+++ b/arch/arm/mach-mvebu/coherency_ll.S
@@ -20,6 +20,8 @@
#define ARMADA_XP_CFB_CTL_REG_OFFSET 0x0
#define ARMADA_XP_CFB_CFG_REG_OFFSET 0x4
+#include <asm/assembler.h>
+
.text
/*
* r0: Coherency fabric base register address
@@ -29,6 +31,7 @@ ENTRY(ll_set_cpu_coherent)
/* Create bit by cpu index */
mov r3, #(1 << 24)
lsl r1, r3, r1
+ARM_BE8(rev r1, r1)
/* Add CPU to SMP group - Atomic */
add r3, r0, #ARMADA_XP_CFB_CTL_REG_OFFSET