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
2ea8d419
Commit
2ea8d419
authored
May 28, 2021
by
Madhukar Pappireddy
Committed by
TrustedFirmware Code Review
May 28, 2021
Browse files
Merge "fix: rename Matterhorn, Matterhorn ELP, and Klein CPUs" into integration
parents
0f7d2e89
c6ac4df6
Changes
9
Hide whitespace changes
Inline
Side-by-side
include/lib/cpus/aarch64/cortex_
matterhorn_elp_arm
.h
→
include/lib/cpus/aarch64/cortex_
a510
.h
View file @
2ea8d419
...
...
@@ -4,20 +4,20 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef CORTEX_
MATTERHORN_ELP_ARM
_H
#define CORTEX_
MATTERHORN_ELP_ARM
_H
#ifndef CORTEX_
A510
_H
#define CORTEX_
A510
_H
#define CORTEX_
MATTERHORN_ELP_ARM
_MIDR U(0x410FD4
8
0)
#define CORTEX_
A510
_MIDR U(0x410FD4
6
0)
/*******************************************************************************
* CPU Extended Control register specific definitions
******************************************************************************/
#define CORTEX_
MATTERHORN_ELP_ARM
_CPUECTLR_EL1 S3_0_C15_C1_4
#define CORTEX_
A510
_CPUECTLR_EL1 S3_0_C15_C1_4
/*******************************************************************************
* CPU Power Control register specific definitions
******************************************************************************/
#define CORTEX_
MATTERHORN_ELP_ARM
_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_
MATTERHORN_ELP_ARM
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT U(1)
#define CORTEX_
A510
_CPUPWRCTLR_EL1
S3_0_C15_C2_7
#define CORTEX_
A510
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT U(1)
#endif
/* CORTEX_
MATTERHORN_ELP_ARM
_H */
#endif
/* CORTEX_
A510
_H */
include/lib/cpus/aarch64/cortex_
klein
.h
→
include/lib/cpus/aarch64/cortex_
a710
.h
View file @
2ea8d419
/*
* Copyright (c) 202
0
, A
RM
Limited. All rights reserved.
* Copyright (c) 202
1
, A
rm
Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef CORTEX_
KLEIN
_H
#define CORTEX_
KLEIN
_H
#ifndef CORTEX_
A710
_H
#define CORTEX_
A710
_H
#define CORTEX_
KLEIN
_MIDR U(0x410FD4
6
0)
#define CORTEX_
A710
_MIDR U(0x410FD4
7
0)
/*******************************************************************************
* CPU Extended Control register specific definitions
******************************************************************************/
#define CORTEX_
KLEIN
_CPUECTLR_EL1 S3_0_C15_C1_4
#define CORTEX_
A710
_CPUECTLR_EL1 S3_0_C15_C1_4
/*******************************************************************************
* CPU Power Control register specific definitions
******************************************************************************/
#define CORTEX_
KLEIN
_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_
KLEIN
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT U(1)
#define CORTEX_
A710
_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_
A710
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT U(1)
#endif
/* CORTEX_
KLEIN
_H */
#endif
/* CORTEX_
A710
_H */
include/lib/cpus/aarch64/cortex_
matterhorn
.h
→
include/lib/cpus/aarch64/cortex_
x2
.h
View file @
2ea8d419
/*
* Copyright (c) 202
0
, A
RM
Limited. All rights reserved.
* Copyright (c) 202
1
, A
rm
Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef CORTEX_
MATTERHORN
_H
#define CORTEX_
MATTERHORN
_H
#ifndef CORTEX_
X2
_H
#define CORTEX_
X2
_H
#define CORTEX_
MATTERHORN
_MIDR U(0x410FD4
7
0)
#define CORTEX_
X2
_MIDR
U(0x410FD4
8
0)
/*******************************************************************************
* CPU Extended Control register specific definitions
******************************************************************************/
#define CORTEX_
MATTERHORN
_CPUECTLR_EL1 S3_0_C15_C1_4
#define CORTEX_
X2
_CPUECTLR_EL1
S3_0_C15_C1_4
/*******************************************************************************
* CPU Power Control register specific definitions
******************************************************************************/
#define CORTEX_
MATTERHORN
_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_
MATTERHORN
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT U(1)
#define CORTEX_
X2
_CPUPWRCTLR_EL1
S3_0_C15_C2_7
#define CORTEX_
X2
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
U(1)
#endif
/* CORTEX_
MATTERHORN
_H */
#endif
/* CORTEX_
X2
_H */
lib/cpus/aarch64/cortex_
klein
.S
→
lib/cpus/aarch64/cortex_
a510
.S
View file @
2ea8d419
/*
*
Copyright
(
c
)
202
0
,
ARM
Limited
.
All
rights
reserved
.
*
Copyright
(
c
)
202
1
,
ARM
Limited
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
...
...
@@ -7,54 +7,54 @@
#include <arch.h>
#include <asm_macros.S>
#include <common/bl_common.h>
#include <cortex_
klein
.h>
#include <cortex_
a510
.h>
#include <cpu_macros.S>
#include <plat_macros.S>
/*
Hardware
handled
coherency
*/
#if HW_ASSISTED_COHERENCY == 0
#error "Cortex
Klein
must be compiled with HW_ASSISTED_COHERENCY enabled"
#error "Cortex
A510
must be compiled with HW_ASSISTED_COHERENCY enabled"
#endif
/*
64-
bit
only
core
*/
#if CTX_INCLUDE_AARCH32_REGS == 1
#error "Cortex
Klein
supports only AArch64. Compile with CTX_INCLUDE_AARCH32_REGS=0"
#error "Cortex
A510
supports only AArch64. Compile with CTX_INCLUDE_AARCH32_REGS=0"
#endif
/
*
----------------------------------------------------
*
HW
will
do
the
cache
maintenance
while
powering
down
*
----------------------------------------------------
*/
func
cortex_
klein
_core_pwr_dwn
func
cortex_
a510
_core_pwr_dwn
/
*
---------------------------------------------------
*
Enable
CPU
power
down
bit
in
power
control
register
*
---------------------------------------------------
*/
mrs
x0
,
CORTEX_
KLEIN
_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_
KLEIN
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_
KLEIN
_CPUPWRCTLR_EL1
,
x0
mrs
x0
,
CORTEX_
A510
_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_
A510
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_
A510
_CPUPWRCTLR_EL1
,
x0
isb
ret
endfunc
cortex_
klein
_core_pwr_dwn
endfunc
cortex_
a510
_core_pwr_dwn
/
*
*
Errata
printing
function
for
Cortex
Klein
.
Must
follow
AAPCS
.
*
Errata
printing
function
for
Cortex
A510
.
Must
follow
AAPCS
.
*/
#if REPORT_ERRATA
func
cortex_
klein
_errata_report
func
cortex_
a510
_errata_report
ret
endfunc
cortex_
klein
_errata_report
endfunc
cortex_
a510
_errata_report
#endif
func
cortex_
klein
_reset_func
func
cortex_
a510
_reset_func
/
*
Disable
speculative
loads
*/
msr
SSBS
,
xzr
isb
ret
endfunc
cortex_
klein
_reset_func
endfunc
cortex_
a510
_reset_func
/
*
---------------------------------------------
*
This
function
provides
Cortex
-
Klein
specific
*
This
function
provides
Cortex
-
A510
specific
*
register
information
for
crash
reporting
.
*
It
needs
to
return
with
x6
pointing
to
*
a
list
of
register
names
in
ascii
and
...
...
@@ -62,16 +62,16 @@ endfunc cortex_klein_reset_func
*
reported
.
*
---------------------------------------------
*/
.
section
.
rodata.
cortex_
klein
_regs
,
"aS"
cortex_
klein
_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
section
.
rodata.
cortex_
a510
_regs
,
"aS"
cortex_
a510
_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
asciz
"cpuectlr_el1"
,
""
func
cortex_
klein
_cpu_reg_dump
adr
x6
,
cortex_
klein
_regs
mrs
x8
,
CORTEX_
KLEIN
_CPUECTLR_EL1
func
cortex_
a510
_cpu_reg_dump
adr
x6
,
cortex_
a510
_regs
mrs
x8
,
CORTEX_
A510
_CPUECTLR_EL1
ret
endfunc
cortex_
klein
_cpu_reg_dump
endfunc
cortex_
a510
_cpu_reg_dump
declare_cpu_ops
cortex_
klein
,
CORTEX_
KLEIN
_MIDR
,
\
cortex_
klein
_reset_func
,
\
cortex_
klein
_core_pwr_dwn
declare_cpu_ops
cortex_
a510
,
CORTEX_
A510
_MIDR
,
\
cortex_
a510
_reset_func
,
\
cortex_
a510
_core_pwr_dwn
lib/cpus/aarch64/cortex_
matterhorn
.S
→
lib/cpus/aarch64/cortex_
a710
.S
View file @
2ea8d419
/*
*
Copyright
(
c
)
202
0
,
A
RM
Limited
.
All
rights
reserved
.
*
Copyright
(
c
)
202
1
,
A
rm
Limited
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
...
...
@@ -7,54 +7,54 @@
#include <arch.h>
#include <asm_macros.S>
#include <common/bl_common.h>
#include <cortex_
matterhorn
.h>
#include <cortex_
a710
.h>
#include <cpu_macros.S>
#include <plat_macros.S>
/*
Hardware
handled
coherency
*/
#if HW_ASSISTED_COHERENCY == 0
#error "Cortex
Matterhorn
must be compiled with HW_ASSISTED_COHERENCY enabled"
#error "Cortex
A710
must be compiled with HW_ASSISTED_COHERENCY enabled"
#endif
/*
64-
bit
only
core
*/
#if CTX_INCLUDE_AARCH32_REGS == 1
#error "Cortex
Matterhorn
supports only AArch64. Compile with CTX_INCLUDE_AARCH32_REGS=0"
#error "Cortex
A710
supports only AArch64. Compile with CTX_INCLUDE_AARCH32_REGS=0"
#endif
/
*
----------------------------------------------------
*
HW
will
do
the
cache
maintenance
while
powering
down
*
----------------------------------------------------
*/
func
cortex_
matterhorn
_core_pwr_dwn
func
cortex_
a710
_core_pwr_dwn
/
*
---------------------------------------------------
*
Enable
CPU
power
down
bit
in
power
control
register
*
---------------------------------------------------
*/
mrs
x0
,
CORTEX_
MATTERHORN
_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_
MATTERHORN
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_
MATTERHORN
_CPUPWRCTLR_EL1
,
x0
mrs
x0
,
CORTEX_
A710
_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_
A710
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_
A710
_CPUPWRCTLR_EL1
,
x0
isb
ret
endfunc
cortex_
matterhorn
_core_pwr_dwn
endfunc
cortex_
a710
_core_pwr_dwn
/
*
*
Errata
printing
function
for
Cortex
Matterhorn
.
Must
follow
AAPCS
.
*
Errata
printing
function
for
Cortex
A710
.
Must
follow
AAPCS
.
*/
#if REPORT_ERRATA
func
cortex_
matterhorn
_errata_report
func
cortex_
a710
_errata_report
ret
endfunc
cortex_
matterhorn
_errata_report
endfunc
cortex_
a710
_errata_report
#endif
func
cortex_
matterhorn
_reset_func
func
cortex_
a710
_reset_func
/
*
Disable
speculative
loads
*/
msr
SSBS
,
xzr
isb
ret
endfunc
cortex_
matterhorn
_reset_func
endfunc
cortex_
a710
_reset_func
/
*
---------------------------------------------
*
This
function
provides
Cortex
-
Matterhorn
specific
*
This
function
provides
Cortex
-
A710
specific
*
register
information
for
crash
reporting
.
*
It
needs
to
return
with
x6
pointing
to
*
a
list
of
register
names
in
ascii
and
...
...
@@ -62,16 +62,16 @@ endfunc cortex_matterhorn_reset_func
*
reported
.
*
---------------------------------------------
*/
.
section
.
rodata.
cortex_
matterhorn
_regs
,
"aS"
cortex_
matterhorn
_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
section
.
rodata.
cortex_
a710
_regs
,
"aS"
cortex_
a710
_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
asciz
"cpuectlr_el1"
,
""
func
cortex_
matterhorn
_cpu_reg_dump
adr
x6
,
cortex_
matterhorn
_regs
mrs
x8
,
CORTEX_
MATTERHORN
_CPUECTLR_EL1
func
cortex_
a710
_cpu_reg_dump
adr
x6
,
cortex_
a710
_regs
mrs
x8
,
CORTEX_
A710
_CPUECTLR_EL1
ret
endfunc
cortex_
matterhorn
_cpu_reg_dump
endfunc
cortex_
a710
_cpu_reg_dump
declare_cpu_ops
cortex_
matterhorn
,
CORTEX_MATTERHORN
_MIDR
,
\
cortex_
matterhorn
_reset_func
,
\
cortex_
matterhorn
_core_pwr_dwn
declare_cpu_ops
cortex_
a710
,
CORTEX_A710
_MIDR
,
\
cortex_
a710
_reset_func
,
\
cortex_
a710
_core_pwr_dwn
lib/cpus/aarch64/cortex_
matterhorn_elp_arm
.S
→
lib/cpus/aarch64/cortex_
x2
.S
View file @
2ea8d419
/*
*
Copyright
(
c
)
2021
,
A
RM
Limited
.
All
rights
reserved
.
*
Copyright
(
c
)
2021
,
A
rm
Limited
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
...
...
@@ -7,54 +7,54 @@
#include <arch.h>
#include <asm_macros.S>
#include <common/bl_common.h>
#include <cortex_
matterhorn_elp_arm
.h>
#include <cortex_
x2
.h>
#include <cpu_macros.S>
#include <plat_macros.S>
/*
Hardware
handled
coherency
*/
#if HW_ASSISTED_COHERENCY == 0
#error "Cortex
Matterhorn ELP ARM
must be compiled with HW_ASSISTED_COHERENCY enabled"
#error "Cortex
X2
must be compiled with HW_ASSISTED_COHERENCY enabled"
#endif
/*
64-
bit
only
core
*/
#if CTX_INCLUDE_AARCH32_REGS == 1
#error "Cortex
Matterhorn ELP ARM
supports only AArch64. Compile with CTX_INCLUDE_AARCH32_REGS=0"
#error "Cortex
X2
supports only AArch64. Compile with CTX_INCLUDE_AARCH32_REGS=0"
#endif
/
*
----------------------------------------------------
*
HW
will
do
the
cache
maintenance
while
powering
down
*
----------------------------------------------------
*/
func
cortex_
matterhorn_elp_arm
_core_pwr_dwn
func
cortex_
x2
_core_pwr_dwn
/
*
---------------------------------------------------
*
Enable
CPU
power
down
bit
in
power
control
register
*
---------------------------------------------------
*/
mrs
x0
,
CORTEX_
MATTERHORN_ELP_ARM
_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_
MATTERHORN_ELP_ARM
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_
MATTERHORN_ELP_ARM
_CPUPWRCTLR_EL1
,
x0
mrs
x0
,
CORTEX_
X2
_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_
X2
_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_
X2
_CPUPWRCTLR_EL1
,
x0
isb
ret
endfunc
cortex_
matterhorn_elp_arm
_core_pwr_dwn
endfunc
cortex_
x2
_core_pwr_dwn
/
*
*
Errata
printing
function
for
Cortex
Matterhorn_elp_arm
.
Must
follow
AAPCS
.
*
Errata
printing
function
for
Cortex
X2
.
Must
follow
AAPCS
.
*/
#if REPORT_ERRATA
func
cortex_
matterhorn_elp_arm
_errata_report
func
cortex_
x2
_errata_report
ret
endfunc
cortex_
matterhorn_elp_arm
_errata_report
endfunc
cortex_
x2
_errata_report
#endif
func
cortex_
matterhorn_elp_arm
_reset_func
func
cortex_
x2
_reset_func
/
*
Disable
speculative
loads
*/
msr
SSBS
,
xzr
isb
ret
endfunc
cortex_
matterhorn_elp_arm
_reset_func
endfunc
cortex_
x2
_reset_func
/
*
---------------------------------------------
*
This
function
provides
Cortex
-
Matterhorn_elp_arm
specific
*
This
function
provides
Cortex
X2
specific
*
register
information
for
crash
reporting
.
*
It
needs
to
return
with
x6
pointing
to
*
a
list
of
register
names
in
ascii
and
...
...
@@ -62,16 +62,16 @@ endfunc cortex_matterhorn_elp_arm_reset_func
*
reported
.
*
---------------------------------------------
*/
.
section
.
rodata.
cortex_
matterhorn_elp_arm
_regs
,
"aS"
cortex_
matterhorn_elp_arm
_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
section
.
rodata.
cortex_
x2
_regs
,
"aS"
cortex_
x2
_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
asciz
"cpuectlr_el1"
,
""
func
cortex_
matterhorn_elp_arm
_cpu_reg_dump
adr
x6
,
cortex_
matterhorn_elp_arm
_regs
mrs
x8
,
CORTEX_
MATTERHORN_ELP_ARM
_CPUECTLR_EL1
func
cortex_
x2
_cpu_reg_dump
adr
x6
,
cortex_
x2
_regs
mrs
x8
,
CORTEX_
X2
_CPUECTLR_EL1
ret
endfunc
cortex_
matterhorn_elp_arm
_cpu_reg_dump
endfunc
cortex_
x2
_cpu_reg_dump
declare_cpu_ops
cortex_
matterhorn_elp_arm
,
CORTEX_MATTERHORN_ELP_ARM
_MIDR
,
\
cortex_
matterhorn_elp_arm
_reset_func
,
\
cortex_
matterhorn_elp_arm
_core_pwr_dwn
declare_cpu_ops
cortex_
x2
,
CORTEX_X2
_MIDR
,
\
cortex_
x2
_reset_func
,
\
cortex_
x2
_core_pwr_dwn
plat/arm/board/arm_fpga/platform.mk
View file @
2ea8d419
...
...
@@ -67,8 +67,8 @@ else
lib/cpus/aarch64/cortex_a78_ae.S
\
lib/cpus/aarch64/cortex_a65.S
\
lib/cpus/aarch64/cortex_a65ae.S
\
lib/cpus/aarch64/cortex_
klein
.S
\
lib/cpus/aarch64/cortex_
matterhorn
.S
\
lib/cpus/aarch64/cortex_
a510
.S
\
lib/cpus/aarch64/cortex_
a710
.S
\
lib/cpus/aarch64/cortex_makalu.S
\
lib/cpus/aarch64/cortex_makalu_elp_arm.S
\
lib/cpus/aarch64/cortex_a78c.S
...
...
plat/arm/board/fvp/platform.mk
View file @
2ea8d419
...
...
@@ -131,8 +131,8 @@ else
lib/cpus/aarch64/neoverse_e1.S
\
lib/cpus/aarch64/neoverse_v1.S
\
lib/cpus/aarch64/cortex_a78_ae.S
\
lib/cpus/aarch64/cortex_
klein
.S
\
lib/cpus/aarch64/cortex_
matterhorn
.S
\
lib/cpus/aarch64/cortex_
a510
.S
\
lib/cpus/aarch64/cortex_
a710
.S
\
lib/cpus/aarch64/cortex_makalu.S
\
lib/cpus/aarch64/cortex_makalu_elp_arm.S
\
lib/cpus/aarch64/cortex_a65.S
\
...
...
plat/arm/board/tc0/platform.mk
View file @
2ea8d419
...
...
@@ -43,9 +43,9 @@ TC0_BASE = plat/arm/board/tc0
PLAT_INCLUDES
+=
-I
${TC0_BASE}
/include/
TC0_CPU_SOURCES
:=
lib/cpus/aarch64/cortex_
klein
.S
\
lib/cpus/aarch64/cortex_
matterhorn
.S
\
lib/cpus/aarch64/cortex_
matterhorn_elp_arm
.S
TC0_CPU_SOURCES
:=
lib/cpus/aarch64/cortex_
a510
.S
\
lib/cpus/aarch64/cortex_
a710
.S
\
lib/cpus/aarch64/cortex_
x2
.S
INTERCONNECT_SOURCES
:=
${TC0_BASE}
/tc0_interconnect.c
...
...
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