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
e5fa7459
Commit
e5fa7459
authored
Mar 29, 2021
by
bipin.ravi
Committed by
TrustedFirmware Code Review
Mar 29, 2021
Browse files
Merge "Add Makalu ELP CPU lib" into integration
parents
cba9c0c2
cb090c19
Changes
4
Hide whitespace changes
Inline
Side-by-side
include/lib/cpus/aarch64/cortex_makalu_elp.h
0 → 100644
View file @
e5fa7459
/*
* Copyright (c) 2021, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef CORTEX_MAKALU_ELP_H
#define CORTEX_MAKALU_ELP_H
#define CORTEX_MAKALU_ELP_MIDR U(0x410FD4E0)
/*******************************************************************************
* CPU Extended Control register specific definitions
******************************************************************************/
#define CORTEX_MAKALU_ELP_CPUECTLR_EL1 S3_0_C15_C1_4
/*******************************************************************************
* CPU Power Control register specific definitions
******************************************************************************/
#define CORTEX_MAKALU_ELP_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_MAKALU_ELP_CPUPWRCTLR_EL1_CORE_PWRDN_BIT U(1)
#endif
/* CORTEX_MAKALU_ELP_H */
lib/cpus/aarch64/cortex_makalu_elp.S
0 → 100644
View file @
e5fa7459
/*
*
Copyright
(
c
)
2021
,
Arm
Limited
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
#include <arch.h>
#include <asm_macros.S>
#include <common/bl_common.h>
#include <cortex_makalu_elp.h>
#include <cpu_macros.S>
#include <plat_macros.S>
/*
Hardware
handled
coherency
*/
#if HW_ASSISTED_COHERENCY == 0
#error "Cortex Makalu ELP must be compiled with HW_ASSISTED_COHERENCY enabled"
#endif
/*
64-
bit
only
core
*/
#if CTX_INCLUDE_AARCH32_REGS == 1
#error "Cortex Makalu ELP supports only AArch64. Compile with CTX_INCLUDE_AARCH32_REGS=0"
#endif
/
*
----------------------------------------------------
*
HW
will
do
the
cache
maintenance
while
powering
down
*
----------------------------------------------------
*/
func
cortex_makalu_elp_core_pwr_dwn
/
*
---------------------------------------------------
*
Enable
CPU
power
down
bit
in
power
control
register
*
---------------------------------------------------
*/
mrs
x0
,
CORTEX_MAKALU_ELP_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_MAKALU_ELP_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_MAKALU_ELP_CPUPWRCTLR_EL1
,
x0
isb
ret
endfunc
cortex_makalu_elp_core_pwr_dwn
#if REPORT_ERRATA
/*
*
Errata
printing
function
for
Cortex
Makalu
ELP
.
Must
follow
AAPCS
.
*/
func
cortex_makalu_elp_errata_report
ret
endfunc
cortex_makalu_elp_errata_report
#endif
func
cortex_makalu_elp_reset_func
/
*
Disable
speculative
loads
*/
msr
SSBS
,
xzr
isb
ret
endfunc
cortex_makalu_elp_reset_func
/
*
---------------------------------------------
*
This
function
provides
Cortex
Makalu
ELP
-
*
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_makalu_elp_regs
,
"aS"
cortex_makalu_elp_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
asciz
"cpuectlr_el1"
,
""
func
cortex_makalu_elp_cpu_reg_dump
adr
x6
,
cortex_makalu_elp_regs
mrs
x8
,
CORTEX_MAKALU_ELP_CPUECTLR_EL1
ret
endfunc
cortex_makalu_elp_cpu_reg_dump
declare_cpu_ops
cortex_makalu_elp
,
CORTEX_MAKALU_ELP_MIDR
,
\
cortex_makalu_elp_reset_func
,
\
cortex_makalu_elp_core_pwr_dwn
plat/arm/board/arm_fpga/platform.mk
View file @
e5fa7459
...
@@ -69,7 +69,8 @@ else
...
@@ -69,7 +69,8 @@ else
lib/cpus/aarch64/cortex_a65ae.S
\
lib/cpus/aarch64/cortex_a65ae.S
\
lib/cpus/aarch64/cortex_klein.S
\
lib/cpus/aarch64/cortex_klein.S
\
lib/cpus/aarch64/cortex_matterhorn.S
\
lib/cpus/aarch64/cortex_matterhorn.S
\
lib/cpus/aarch64/cortex_makalu.S
lib/cpus/aarch64/cortex_makalu.S
\
lib/cpus/aarch64/cortex_makalu_elp.S
# AArch64/AArch32 cores
# AArch64/AArch32 cores
FPGA_CPU_LIBS
+=
lib/cpus/aarch64/cortex_a55.S
\
FPGA_CPU_LIBS
+=
lib/cpus/aarch64/cortex_a55.S
\
...
...
plat/arm/board/fvp/platform.mk
View file @
e5fa7459
...
@@ -131,9 +131,10 @@ else
...
@@ -131,9 +131,10 @@ else
lib/cpus/aarch64/neoverse_e1.S
\
lib/cpus/aarch64/neoverse_e1.S
\
lib/cpus/aarch64/neoverse_v1.S
\
lib/cpus/aarch64/neoverse_v1.S
\
lib/cpus/aarch64/cortex_a78_ae.S
\
lib/cpus/aarch64/cortex_a78_ae.S
\
lib/cpus/aarch64/cortex_klein.S
\
lib/cpus/aarch64/cortex_klein.S
\
lib/cpus/aarch64/cortex_matterhorn.S
\
lib/cpus/aarch64/cortex_matterhorn.S
\
lib/cpus/aarch64/cortex_makalu.S
\
lib/cpus/aarch64/cortex_makalu.S
\
lib/cpus/aarch64/cortex_makalu_elp.S
\
lib/cpus/aarch64/cortex_a65.S
\
lib/cpus/aarch64/cortex_a65.S
\
lib/cpus/aarch64/cortex_a65ae.S
lib/cpus/aarch64/cortex_a65ae.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