xref: /rk3399_ARM-atf/lib/cpus/aarch64/a64fx.S (revision 74ec90e69bbd0e932a61f5461eedc4abd1b99d44)
1*74ec90e6SItaru Kitayama/*
2*74ec90e6SItaru Kitayama * Copyright (c) 2022, Fujitsu Limited and Contributors. All rights reserved.
3*74ec90e6SItaru Kitayama *
4*74ec90e6SItaru Kitayama * SPDX-License-Identifier: BSD-3-Clause
5*74ec90e6SItaru Kitayama */
6*74ec90e6SItaru Kitayama#include <arch.h>
7*74ec90e6SItaru Kitayama#include <asm_macros.S>
8*74ec90e6SItaru Kitayama#include <assert_macros.S>
9*74ec90e6SItaru Kitayama#include <a64fx.h>
10*74ec90e6SItaru Kitayama#include <cpu_macros.S>
11*74ec90e6SItaru Kitayama#include <plat_macros.S>
12*74ec90e6SItaru Kitayama
13*74ec90e6SItaru Kitayamafunc a64fx_core_pwr_dwn
14*74ec90e6SItaru Kitayamaendfunc a64fx_core_pwr_dwn
15*74ec90e6SItaru Kitayama
16*74ec90e6SItaru Kitayamafunc a64fx_cluster_pwr_dwn
17*74ec90e6SItaru Kitayamaendfunc a64fx_cluster_pwr_dwn
18*74ec90e6SItaru Kitayama
19*74ec90e6SItaru Kitayama#if REPORT_ERRATA
20*74ec90e6SItaru Kitayama/*
21*74ec90e6SItaru Kitayama * Errata printing function for A64FX. Must follow AAPCS.
22*74ec90e6SItaru Kitayama */
23*74ec90e6SItaru Kitayamafunc a64fx_errata_report
24*74ec90e6SItaru Kitayama        ret
25*74ec90e6SItaru Kitayamaendfunc a64fx_errata_report
26*74ec90e6SItaru Kitayama#endif
27*74ec90e6SItaru Kitayama
28*74ec90e6SItaru Kitayama        /* ---------------------------------------------
29*74ec90e6SItaru Kitayama         * This function provides cpu specific
30*74ec90e6SItaru Kitayama         * register information for crash reporting.
31*74ec90e6SItaru Kitayama         * It needs to return with x6 pointing to
32*74ec90e6SItaru Kitayama         * a list of register names in ascii and
33*74ec90e6SItaru Kitayama         * x8 - x15 having values of registers to be
34*74ec90e6SItaru Kitayama         * reported.
35*74ec90e6SItaru Kitayama         * ---------------------------------------------
36*74ec90e6SItaru Kitayama         */
37*74ec90e6SItaru Kitayama.section .rodata.a64fx_regs, "aS"
38*74ec90e6SItaru Kitayamaa64fx_regs:  /* The ascii list of register names to be reported */
39*74ec90e6SItaru Kitayama        .asciz  ""
40*74ec90e6SItaru Kitayama
41*74ec90e6SItaru Kitayamafunc a64fx_cpu_reg_dump
42*74ec90e6SItaru Kitayama        adr     x6, a64fx_regs
43*74ec90e6SItaru Kitayama        ret
44*74ec90e6SItaru Kitayamaendfunc a64fx_cpu_reg_dump
45*74ec90e6SItaru Kitayama
46*74ec90e6SItaru Kitayamadeclare_cpu_ops a64fx, A64FX_MIDR, CPU_NO_RESET_FUNC \
47*74ec90e6SItaru Kitayama                a64fx_core_pwr_dwn, \
48*74ec90e6SItaru Kitayama                a64fx_cluster_pwr_dwn
49*74ec90e6SItaru Kitayama
50