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
03dd6391
Commit
03dd6391
authored
Jun 05, 2017
by
danh-arm
Committed by
GitHub
Jun 05, 2017
Browse files
Merge pull request #960 from jeenu-arm/cpu-libs
Add support for Cortex-A75 and Cortex-A55 CPUs
parents
4d96cad5
d40ab484
Changes
5
Hide whitespace changes
Inline
Side-by-side
include/lib/cpus/aarch64/cortex_a55.h
0 → 100644
View file @
03dd6391
/*
* Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __CORTEX_A55_H__
#define __CORTEX_A55_H__
/* Cortex-A55 MIDR for revision 0 */
#define CORTEX_A55_MIDR 0x410fd050
/*******************************************************************************
* CPU Extended Control register specific definitions.
******************************************************************************/
#define CORTEX_A55_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_A55_CPUECTLR_EL1 S3_0_C15_C1_4
/* Definitions of register field mask in CORTEX_A55_CPUPWRCTLR_EL1 */
#define CORTEX_A55_CORE_PWRDN_EN_MASK 0x1
#endif
/* __CORTEX_A55_H__ */
include/lib/cpus/aarch64/cortex_a75.h
0 → 100644
View file @
03dd6391
/*
* Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __CORTEX_A75_H__
#define __CORTEX_A75_H__
/* Cortex-A75 MIDR */
#define CORTEX_A75_MIDR 0x410fd0a0
/*******************************************************************************
* CPU Extended Control register specific definitions.
******************************************************************************/
#define CORTEX_A75_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_A75_CPUECTLR_EL1 S3_0_C15_C1_4
/* Definitions of register field mask in CORTEX_A75_CPUPWRCTLR_EL1 */
#define CORTEX_A75_CORE_PWRDN_EN_MASK 0x1
#endif
/* __CORTEX_A75_H__ */
lib/cpus/aarch64/cortex_a55.S
0 → 100644
View file @
03dd6391
/*
*
Copyright
(
c
)
2017
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
#include <cortex_a55.h>
#include <arch.h>
#include <asm_macros.S>
#include <bl_common.h>
#include <cpu_macros.S>
#include <plat_macros.S>
/
*
---------------------------------------------
*
HW
will
do
the
cache
maintenance
while
powering
down
*
---------------------------------------------
*/
func
cortex_a55_core_pwr_dwn
/
*
---------------------------------------------
*
Enable
CPU
power
down
bit
in
power
control
register
*
---------------------------------------------
*/
mrs
x0
,
CORTEX_A55_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_A55_CORE_PWRDN_EN_MASK
msr
CORTEX_A55_CPUPWRCTLR_EL1
,
x0
isb
ret
endfunc
cortex_a55_core_pwr_dwn
/
*
---------------------------------------------
*
This
function
provides
cortex_a55
specific
*
register
information
for
crash
reporting
.
*
It
needs
to
return
with
x6
pointing
to
*
a
list
of
register
names
in
ascii
and
*
x8
-
x15
having
values
of
registers
to
be
*
reported
.
*
---------------------------------------------
*/
.
section
.
rodata.
cortex_a55_regs
,
"aS"
cortex_a55_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
asciz
"cpuectlr_el1"
,
""
func
cortex_a55_cpu_reg_dump
adr
x6
,
cortex_a55_regs
mrs
x8
,
CORTEX_A55_CPUECTLR_EL1
ret
endfunc
cortex_a55_cpu_reg_dump
declare_cpu_ops
cortex_a55
,
CORTEX_A55_MIDR
,
\
CPU_NO_RESET_FUNC
,
\
cortex_a55_core_pwr_dwn
lib/cpus/aarch64/cortex_a75.S
0 → 100644
View file @
03dd6391
/*
*
Copyright
(
c
)
2017
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
#include <arch.h>
#include <asm_macros.S>
#include <bl_common.h>
#include <cpu_macros.S>
#include <plat_macros.S>
#include <cortex_a75.h>
/
*
---------------------------------------------
*
HW
will
do
the
cache
maintenance
while
powering
down
*
---------------------------------------------
*/
func
cortex_a75_core_pwr_dwn
/
*
---------------------------------------------
*
Enable
CPU
power
down
bit
in
power
control
register
*
---------------------------------------------
*/
mrs
x0
,
CORTEX_A75_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_A75_CORE_PWRDN_EN_MASK
msr
CORTEX_A75_CPUPWRCTLR_EL1
,
x0
isb
ret
endfunc
cortex_a75_core_pwr_dwn
/
*
---------------------------------------------
*
This
function
provides
cortex_a75
specific
*
register
information
for
crash
reporting
.
*
It
needs
to
return
with
x6
pointing
to
*
a
list
of
register
names
in
ascii
and
*
x8
-
x15
having
values
of
registers
to
be
*
reported
.
*
---------------------------------------------
*/
.
section
.
rodata.
cortex_a75_regs
,
"aS"
cortex_a75_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
asciz
"cpuectlr_el1"
,
""
func
cortex_a75_cpu_reg_dump
adr
x6
,
cortex_a75_regs
mrs
x8
,
CORTEX_A75_CPUECTLR_EL1
ret
endfunc
cortex_a75_cpu_reg_dump
declare_cpu_ops
cortex_a75
,
CORTEX_A75_MIDR
,
\
CPU_NO_RESET_FUNC
,
\
cortex_a75_core_pwr_dwn
plat/arm/board/fvp/platform.mk
View file @
03dd6391
...
@@ -82,9 +82,11 @@ FVP_CPU_LIBS := lib/cpus/${ARCH}/aem_generic.S
...
@@ -82,9 +82,11 @@ FVP_CPU_LIBS := lib/cpus/${ARCH}/aem_generic.S
ifeq
(${ARCH}, aarch64)
ifeq
(${ARCH}, aarch64)
FVP_CPU_LIBS
+=
lib/cpus/aarch64/cortex_a35.S
\
FVP_CPU_LIBS
+=
lib/cpus/aarch64/cortex_a35.S
\
lib/cpus/aarch64/cortex_a53.S
\
lib/cpus/aarch64/cortex_a53.S
\
lib/cpus/aarch64/cortex_a55.S
\
lib/cpus/aarch64/cortex_a57.S
\
lib/cpus/aarch64/cortex_a57.S
\
lib/cpus/aarch64/cortex_a72.S
\
lib/cpus/aarch64/cortex_a72.S
\
lib/cpus/aarch64/cortex_a73.S
lib/cpus/aarch64/cortex_a73.S
\
lib/cpus/aarch64/cortex_a75.S
else
else
FVP_CPU_LIBS
+=
lib/cpus/aarch32/cortex_a32.S
FVP_CPU_LIBS
+=
lib/cpus/aarch32/cortex_a32.S
endif
endif
...
...
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