39 lines
1,016 B
ArmAsm
39 lines
1,016 B
ArmAsm
|
/*
|
||
|
* arch/arm/include/asm/dcscb_setup.S
|
||
|
*
|
||
|
* Created by: Dave Martin, 2012-06-22
|
||
|
* Copyright: (C) 2012-2013 Linaro Limited
|
||
|
*
|
||
|
* 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>
|
||
|
|
||
|
|
||
|
ENTRY(dcscb_power_up_setup)
|
||
|
|
||
|
cmp r0, #0 @ check affinity level
|
||
|
beq 2f
|
||
|
|
||
|
/*
|
||
|
* Enable cluster-level coherency, in preparation for turning on the MMU.
|
||
|
* The ACTLR SMP bit does not need to be set here, because cpu_resume()
|
||
|
* already restores that.
|
||
|
*
|
||
|
* A15/A7 may not require explicit L2 invalidation on reset, dependent
|
||
|
* on hardware integration decisions.
|
||
|
* For now, this code assumes that L2 is either already invalidated,
|
||
|
* or invalidation is not required.
|
||
|
*/
|
||
|
|
||
|
b cci_enable_port_for_self
|
||
|
|
||
|
2: @ Implementation-specific local CPU setup operations should go here,
|
||
|
@ if any. In this case, there is nothing to do.
|
||
|
|
||
|
bx lr
|
||
|
|
||
|
ENDPROC(dcscb_power_up_setup)
|