Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
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
df4c512d
Unverified
Commit
df4c512d
authored
6 years ago
by
Dimitris Papastamos
Committed by
GitHub
6 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #1474 from dp-arm/dp/cpus
Add initial CPU support for Cortex-Deimos and Cortex-Helios
parents
6cbf17d1
46e88703
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
v2.2
v2.2-rc2
v2.2-rc1
v2.2-rc0
v2.1
v2.1-rc1
v2.1-rc0
v2.0
v2.0-rc0
v1.6
v1.6-rc1
v1.6-rc0
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
include/lib/cpus/aarch64/cortex_deimos.h
+23
-0
include/lib/cpus/aarch64/cortex_deimos.h
include/lib/cpus/aarch64/cortex_helios.h
+29
-0
include/lib/cpus/aarch64/cortex_helios.h
lib/cpus/aarch64/cortex_deimos.S
+51
-0
lib/cpus/aarch64/cortex_deimos.S
lib/cpus/aarch64/cortex_helios.S
+34
-0
lib/cpus/aarch64/cortex_helios.S
plat/arm/board/fvp/platform.mk
+2
-1
plat/arm/board/fvp/platform.mk
with
139 additions
and
1 deletion
+139
-1
include/lib/cpus/aarch64/cortex_deimos.h
0 → 100644
View file @
df4c512d
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __CORTEX_DEIMOS_H__
#define __CORTEX_DEIMOS_H__
#define CORTEX_DEIMOS_MIDR U(0x410FD0D0)
/*******************************************************************************
* CPU Extended Control register specific definitions.
******************************************************************************/
#define CORTEX_DEIMOS_CPUECTLR_EL1 S3_0_C15_C1_4
/*******************************************************************************
* CPU Power Control register specific definitions.
******************************************************************************/
#define CORTEX_DEIMOS_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_DEIMOS_CPUPWRCTLR_EL1_CORE_PWRDN_BIT (U(1) << 0)
#endif
/* __CORTEX_DEIMOS_H__ */
This diff is collapsed.
Click to expand it.
include/lib/cpus/aarch64/cortex_helios.h
0 → 100644
View file @
df4c512d
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __CORTEX_HELIOS_H__
#define __CORTEX_HELIOS_H__
#define CORTEX_HELIOS_MIDR U(0x410FD060)
/*******************************************************************************
* CPU Extended Control register specific definitions.
******************************************************************************/
#define CORTEX_HELIOS_ECTLR_EL1 S3_0_C15_C1_4
/*******************************************************************************
* CPU Auxiliary Control register specific definitions.
******************************************************************************/
#define CORTEX_HELIOS_CPUACTLR_EL1 S3_0_C15_C1_0
/*******************************************************************************
* CPU Power Control register specific definitions.
******************************************************************************/
#define CORTEX_HELIOS_CPUPWRCTLR_EL1 S3_0_C15_C2_7
#define CORTEX_HELIOS_CPUPWRCTLR_EL1_CORE_PWRDN_BIT (U(1) << 0)
#endif
/* __CORTEX_HELIOS_H__ */
This diff is collapsed.
Click to expand it.
lib/cpus/aarch64/cortex_deimos.S
0 → 100644
View file @
df4c512d
/*
*
Copyright
(
c
)
2018
,
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 <cortex_deimos.h>
#include <cpu_macros.S>
#include <plat_macros.S>
/
*
---------------------------------------------
*
HW
will
do
the
cache
maintenance
while
powering
down
*
---------------------------------------------
*/
func
cortex_deimos_core_pwr_dwn
/
*
---------------------------------------------
*
Enable
CPU
power
down
bit
in
power
control
register
*
---------------------------------------------
*/
mrs
x0
,
CORTEX_DEIMOS_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_DEIMOS_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_DEIMOS_CPUPWRCTLR_EL1
,
x0
isb
ret
endfunc
cortex_deimos_core_pwr_dwn
/
*
---------------------------------------------
*
This
function
provides
Cortex
-
Deimos
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_deimos_regs
,
"aS"
cortex_deimos_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
asciz
"cpuectlr_el1"
,
""
func
cortex_deimos_cpu_reg_dump
adr
x6
,
cortex_deimos_regs
mrs
x8
,
CORTEX_DEIMOS_CPUECTLR_EL1
ret
endfunc
cortex_deimos_cpu_reg_dump
declare_cpu_ops
cortex_deimos
,
CORTEX_DEIMOS_MIDR
,
\
CPU_NO_RESET_FUNC
,
\
cortex_deimos_core_pwr_dwn
This diff is collapsed.
Click to expand it.
lib/cpus/aarch64/cortex_helios.S
0 → 100644
View file @
df4c512d
/*
*
Copyright
(
c
)
2018
,
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 <cortex_helios.h>
#include <cpu_macros.S>
#include <debug.h>
#include <plat_macros.S>
func
cortex_helios_cpu_pwr_dwn
mrs
x0
,
CORTEX_HELIOS_CPUPWRCTLR_EL1
orr
x0
,
x0
,
#
CORTEX_HELIOS_CPUPWRCTLR_EL1_CORE_PWRDN_BIT
msr
CORTEX_HELIOS_CPUPWRCTLR_EL1
,
x0
isb
ret
endfunc
cortex_helios_cpu_pwr_dwn
.
section
.
rodata.
cortex_helios_regs
,
"aS"
cortex_helios_regs
:
/
*
The
ascii
list
of
register
names
to
be
reported
*/
.
asciz
"cpuectlr_el1"
,
""
func
cortex_helios_cpu_reg_dump
adr
x6
,
cortex_helios_regs
mrs
x8
,
CORTEX_HELIOS_ECTLR_EL1
ret
endfunc
cortex_helios_cpu_reg_dump
declare_cpu_ops
cortex_helios
,
CORTEX_HELIOS_MIDR
,
\
CPU_NO_RESET_FUNC
,
\
cortex_helios_cpu_pwr_dwn
This diff is collapsed.
Click to expand it.
plat/arm/board/fvp/platform.mk
View file @
df4c512d
...
...
@@ -116,7 +116,8 @@ FVP_CPU_LIBS += lib/cpus/aarch64/cortex_a35.S \
lib/cpus/aarch64/cortex_a73.S
\
lib/cpus/aarch64/cortex_a75.S
\
lib/cpus/aarch64/cortex_a76.S
\
lib/cpus/aarch64/cortex_ares.S
lib/cpus/aarch64/cortex_ares.S
\
lib/cpus/aarch64/cortex_deimos.S
else
FVP_CPU_LIBS
+=
lib/cpus/aarch32/cortex_a32.S
endif
...
...
This diff is collapsed.
Click to expand it.
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
Menu
Projects
Groups
Snippets
Help