diff --git a/include/lib/cpus/aarch64/cortex_helios.h b/include/lib/cpus/aarch64/cortex_helios.h deleted file mode 100644 index 0c11a9a..0000000 --- a/include/lib/cpus/aarch64/cortex_helios.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef CORTEX_HELIOS_H -#define CORTEX_HELIOS_H - -#include - -#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 */ diff --git a/include/lib/cpus/aarch64/neoverse_e1.h b/include/lib/cpus/aarch64/neoverse_e1.h new file mode 100644 index 0000000..0c11a9a --- /dev/null +++ b/include/lib/cpus/aarch64/neoverse_e1.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef CORTEX_HELIOS_H +#define CORTEX_HELIOS_H + +#include + +#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 */ diff --git a/lib/cpus/aarch64/cortex_helios.S b/lib/cpus/aarch64/cortex_helios.S deleted file mode 100644 index 7d3d7e4..0000000 --- a/lib/cpus/aarch64/cortex_helios.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -#include -#include -#include -#include -#include -#include -#include - -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 - -#if REPORT_ERRATA -/* - * Errata printing function for Cortex Helios. Must follow AAPCS. - */ -func cortex_helios_errata_report - ret -endfunc cortex_helios_errata_report -#endif - - -.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 diff --git a/lib/cpus/aarch64/neoverse_e1.S b/lib/cpus/aarch64/neoverse_e1.S new file mode 100644 index 0000000..7d3d7e4 --- /dev/null +++ b/lib/cpus/aarch64/neoverse_e1.S @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +#include +#include +#include +#include +#include +#include +#include + +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 + +#if REPORT_ERRATA +/* + * Errata printing function for Cortex Helios. Must follow AAPCS. + */ +func cortex_helios_errata_report + ret +endfunc cortex_helios_errata_report +#endif + + +.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