xref: /rk3399_ARM-atf/plat/qti/common/src/aarch64/qti_kryo4_silver.S (revision cc4f3838633e8faab00323228140c025d173ae00)
15bd9c17dSSaurabh Gorecha/*
2*3fb52e41SRyan Everett * Copyright (c) 2015-2024, Arm Limited and Contributors. All rights reserved.
35bd9c17dSSaurabh Gorecha * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
45bd9c17dSSaurabh Gorecha *
55bd9c17dSSaurabh Gorecha * SPDX-License-Identifier: BSD-3-Clause
65bd9c17dSSaurabh Gorecha */
75bd9c17dSSaurabh Gorecha
85bd9c17dSSaurabh Gorecha#include <arch.h>
95bd9c17dSSaurabh Gorecha#include <asm_macros.S>
105bd9c17dSSaurabh Gorecha#include <cpu_macros.S>
115bd9c17dSSaurabh Gorecha
125bd9c17dSSaurabh Gorecha#include <plat_macros.S>
135bd9c17dSSaurabh Gorecha#include <qti_cpu.h>
145bd9c17dSSaurabh Gorecha
155bd9c17dSSaurabh Gorecha	.p2align 3
165bd9c17dSSaurabh Gorecha
175bd9c17dSSaurabh Gorecha/* -------------------------------------------------
185bd9c17dSSaurabh Gorecha * The CPU Ops reset function for Kryo-3 Silver
195bd9c17dSSaurabh Gorecha * -------------------------------------------------
205bd9c17dSSaurabh Gorecha */
215bd9c17dSSaurabh Gorechafunc qti_kryo4_silver_reset_func
225bd9c17dSSaurabh Gorecha	mov	x19, x30
235bd9c17dSSaurabh Gorecha
245bd9c17dSSaurabh Gorecha	bl	qtiseclib_kryo4_silver_reset_asm
256cc743cfSSaurabh Gorecha	mov	x30, x19
266cc743cfSSaurabh Gorecha	b	cortex_a55_reset_func
275bd9c17dSSaurabh Gorecha
285bd9c17dSSaurabh Gorechaendfunc qti_kryo4_silver_reset_func
295bd9c17dSSaurabh Gorecha
305bd9c17dSSaurabh Gorecha/* ---------------------------------------------------------
315bd9c17dSSaurabh Gorecha * The CPU Ops cluster power down function for Kryo-3 Silver
325bd9c17dSSaurabh Gorecha * ---------------------------------------------------------
335bd9c17dSSaurabh Gorecha */
345bd9c17dSSaurabh Gorechafunc qti_kryo4_silver_cluster_pwr_dwn
355bd9c17dSSaurabh Gorecha	ret
365bd9c17dSSaurabh Gorechaendfunc qti_kryo4_silver_cluster_pwr_dwn
375bd9c17dSSaurabh Gorecha
385bd9c17dSSaurabh Gorecha/* ---------------------------------------------
395bd9c17dSSaurabh Gorecha * This function provides kryo4_silver specific
405bd9c17dSSaurabh Gorecha * register information for crash reporting.
415bd9c17dSSaurabh Gorecha * It needs to return with x6 pointing to
425bd9c17dSSaurabh Gorecha * a list of register names in ASCII and
435bd9c17dSSaurabh Gorecha * x8 - x15 having values of registers to be
445bd9c17dSSaurabh Gorecha * reported.
455bd9c17dSSaurabh Gorecha * ---------------------------------------------
465bd9c17dSSaurabh Gorecha */
475bd9c17dSSaurabh Gorecha.section .rodata.qti_kryo4_silver_regs, "aS"
485bd9c17dSSaurabh Gorechaqti_kryo4_silver_regs:  /* The ASCII list of register names to be reported */
495bd9c17dSSaurabh Gorecha	.asciz	""
505bd9c17dSSaurabh Gorecha
515bd9c17dSSaurabh Gorechafunc qti_kryo4_silver_cpu_reg_dump
525bd9c17dSSaurabh Gorecha	adr	x6, qti_kryo4_silver_regs
535bd9c17dSSaurabh Gorecha	ret
545bd9c17dSSaurabh Gorechaendfunc qti_kryo4_silver_cpu_reg_dump
555bd9c17dSSaurabh Gorecha
565bd9c17dSSaurabh Gorecha
575bd9c17dSSaurabh Gorechadeclare_cpu_ops	qti_kryo4_silver, QTI_KRYO4_SILVER_MIDR,	\
585bd9c17dSSaurabh Gorecha		qti_kryo4_silver_reset_func,		\
596cc743cfSSaurabh Gorecha		cortex_a55_core_pwr_dwn,		\
605bd9c17dSSaurabh Gorecha		qti_kryo4_silver_cluster_pwr_dwn
61