diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2014-08-14 19:37:45 -0700 |
---|---|---|
committer | Florian Fainelli <f.fainelli@gmail.com> | 2015-05-20 15:08:44 -0700 |
commit | ed5cd8163da8d3e02ef83b84e42d555d40bab96a (patch) | |
tree | c316c3a4108dc4fabb4b600d5c7a09b6e6d08b84 /arch/arm/mach-bcm/bcm63xx_headsmp.S | |
parent | 7d7d7a413c5b8dddfde56dce1dd42e2199033c6c (diff) |
ARM: BCM63xx: Add SMP support for BCM63138
Add support for booting the secondary CPU on BCM63138, this involves:
- locating the bootlut to write the reset vector
- powering up the second CPU when we need to using the DT-supplied PMB
references
- disabling VFP when enabled such that we can keep having SMP
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Diffstat (limited to 'arch/arm/mach-bcm/bcm63xx_headsmp.S')
-rw-r--r-- | arch/arm/mach-bcm/bcm63xx_headsmp.S | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/mach-bcm/bcm63xx_headsmp.S b/arch/arm/mach-bcm/bcm63xx_headsmp.S new file mode 100644 index 000000000000..c7af397c7f14 --- /dev/null +++ b/arch/arm/mach-bcm/bcm63xx_headsmp.S @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2015, Broadcom Corporation + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include <linux/linkage.h> +#include <linux/init.h> +#include <asm/assembler.h> + +ENTRY(bcm63138_secondary_startup) + ARM_BE8(setend be) + /* + * L1 cache does have unpredictable contents at power-up clean its + * contents without flushing + */ + bl v7_invalidate_l1 + nop + + b secondary_startup +ENDPROC(bcm63138_secondary_startup) |