Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
10922e7a
Commit
10922e7a
authored
Nov 05, 2017
by
Etienne Carriere
Browse files
ARMv7: introduce Cortex-A15
Signed-off-by:
Etienne Carriere
<
etienne.carriere@linaro.org
>
parent
94f47000
Changes
2
Hide whitespace changes
Inline
Side-by-side
include/lib/cpus/aarch32/cortex_a15.h
0 → 100644
View file @
10922e7a
/*
* Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __CORTEX_A15_H__
#define __CORTEX_A15_H__
/*******************************************************************************
* Cortex-A15 midr with version/revision set to 0
******************************************************************************/
#define CORTEX_A15_MIDR 0x410FC0F0
/*******************************************************************************
* CPU Auxiliary Control register specific definitions.
******************************************************************************/
#define CORTEX_A15_ACTLR_SMP_BIT (1 << 6)
#endif
/* __CORTEX_A15_H__ */
lib/cpus/aarch32/cortex_a15.S
0 → 100644
View file @
10922e7a
/*
*
Copyright
(
c
)
2016
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
#include <arch.h>
#include <asm_macros.S>
#include <assert_macros.S>
#include <cortex_a15.h>
#include <cpu_macros.S>
/*
*
Cortex
-
A15
support
LPAE
and
Virtualization
Extensions
.
*
Don
't care if confiugration uses or not LPAE and VE.
*
Therefore
,
where
we
don
't check ARCH_IS_ARMV7_WITH_LPAE/VE
*/
.
macro
assert_cache_enabled
#if ENABLE_ASSERTIONS
ldcopr
r0
,
SCTLR
tst
r0
,
#
SCTLR_C_BIT
ASM_ASSERT
(
eq
)
#endif
.
endm
func
cortex_a15_disable_smp
ldcopr
r0
,
ACTLR
bic
r0
,
#
CORTEX_A15_ACTLR_SMP_BIT
stcopr
r0
,
ACTLR
isb
dsb
sy
bx
lr
endfunc
cortex_a15_disable_smp
func
cortex_a15_enable_smp
ldcopr
r0
,
ACTLR
orr
r0
,
#
CORTEX_A15_ACTLR_SMP_BIT
stcopr
r0
,
ACTLR
isb
bx
lr
endfunc
cortex_a15_enable_smp
func
cortex_a15_reset_func
b
cortex_a15_enable_smp
endfunc
cortex_a15_reset_func
func
cortex_a15_core_pwr_dwn
push
{
r12
,
lr
}
assert_cache_enabled
/
*
Flush
L1
cache
*/
mov
r0
,
#
DC_OP_CISW
bl
dcsw_op_level1
/
*
Exit
cluster
coherency
*/
pop
{
r12
,
lr
}
b
cortex_a15_disable_smp
endfunc
cortex_a15_core_pwr_dwn
func
cortex_a15_cluster_pwr_dwn
push
{
r12
,
lr
}
assert_cache_enabled
/
*
Flush
L1
caches
*/
mov
r0
,
#
DC_OP_CISW
bl
dcsw_op_level1
bl
plat_disable_acp
/
*
Exit
cluster
coherency
*/
pop
{
r12
,
lr
}
b
cortex_a15_disable_smp
endfunc
cortex_a15_cluster_pwr_dwn
declare_cpu_ops
cortex_a15
,
CORTEX_A15_MIDR
,
\
cortex_a15_reset_func
,
\
cortex_a15_core_pwr_dwn
,
\
cortex_a15_cluster_pwr_dwn
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment