1/*
2 * Copyright (c) 2015-2018, Arm Limited and Contributors. All rights reserved.
3 * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#include <arch.h>
9#include <asm_macros.S>
10#include <cpu_macros.S>
11
12#include <plat_macros.S>
13#include <qti_cpu.h>
14
15	.p2align 3
16
17/* -------------------------------------------------
18 * The CPU Ops reset function for Kryo-3 Silver
19 * -------------------------------------------------
20 */
21func qti_kryo6_silver_reset_func
22	mov	x19, x30
23
24	bl	qtiseclib_kryo6_silver_reset_asm
25
26	ret	x19
27
28endfunc qti_kryo6_silver_reset_func
29
30/* ------------------------------------------------------
31 * The CPU Ops core power down function for Kryo-3 Silver
32 * ------------------------------------------------------
33 */
34func qti_kryo6_silver_core_pwr_dwn
35	ret
36endfunc qti_kryo6_silver_core_pwr_dwn
37
38/* ---------------------------------------------------------
39 * The CPU Ops cluster power down function for Kryo-3 Silver
40 * ---------------------------------------------------------
41 */
42func qti_kryo6_silver_cluster_pwr_dwn
43	ret
44endfunc qti_kryo6_silver_cluster_pwr_dwn
45
46#if REPORT_ERRATA
47/*
48 * Errata printing function for Kryo4 Silver. Must follow AAPCS.
49 */
50func qti_kryo6_silver_errata_report
51	/* TODO : Need to add support. Required only for debug bl31 image.*/
52	ret
53endfunc qti_kryo6_silver_errata_report
54#endif
55
56
57/* ---------------------------------------------
58 * This function provides kryo4_silver specific
59 * register information for crash reporting.
60 * It needs to return with x6 pointing to
61 * a list of register names in ASCII and
62 * x8 - x15 having values of registers to be
63 * reported.
64 * ---------------------------------------------
65 */
66.section .rodata.qti_kryo4_silver_regs, "aS"
67qti_kryo6_silver_regs:  /* The ASCII list of register names to be reported */
68	.asciz	""
69
70func qti_kryo6_silver_cpu_reg_dump
71	adr	x6, qti_kryo6_silver_regs
72	ret
73endfunc qti_kryo6_silver_cpu_reg_dump
74
75
76declare_cpu_ops	qti_kryo6_silver, QTI_KRYO6_SILVER_MIDR,	\
77		qti_kryo6_silver_reset_func,		\
78		qti_kryo6_silver_core_pwr_dwn,		\
79		qti_kryo6_silver_cluster_pwr_dwn
80