xref: /rk3399_ARM-atf/plat/allwinner/common/plat_helpers.S (revision ac0197d9d57777f445cbd7f19b0294c461ff7082)
1*58032586SSamuel Holland/*
2*58032586SSamuel Holland * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
3*58032586SSamuel Holland *
4*58032586SSamuel Holland * SPDX-License-Identifier: BSD-3-Clause
5*58032586SSamuel Holland */
6*58032586SSamuel Holland
7*58032586SSamuel Holland#include <arch.h>
8*58032586SSamuel Holland#include <asm_macros.S>
9*58032586SSamuel Holland#include <sunxi_def.h>
10*58032586SSamuel Holland#include <sunxi_mmap.h>
11*58032586SSamuel Holland
12*58032586SSamuel Holland	.globl	plat_crash_console_init
13*58032586SSamuel Holland	.globl	plat_crash_console_putc
14*58032586SSamuel Holland	.globl	plat_crash_console_flush
15*58032586SSamuel Holland	.globl	plat_my_core_pos
16*58032586SSamuel Holland	.globl	platform_mem_init
17*58032586SSamuel Holland	.globl	plat_report_exception
18*58032586SSamuel Holland
19*58032586SSamuel Hollandfunc plat_crash_console_init
20*58032586SSamuel Holland	mov_imm x0, SUNXI_UART0_BASE
21*58032586SSamuel Holland	mov_imm x1, SUNXI_UART0_CLK_IN_HZ
22*58032586SSamuel Holland	mov_imm x2, SUNXI_UART0_BAUDRATE
23*58032586SSamuel Holland	b	console_16550_core_init
24*58032586SSamuel Hollandendfunc plat_crash_console_init
25*58032586SSamuel Holland
26*58032586SSamuel Hollandfunc plat_crash_console_putc
27*58032586SSamuel Holland	mov_imm x1, SUNXI_UART0_BASE
28*58032586SSamuel Holland	b	console_16550_core_putc
29*58032586SSamuel Hollandendfunc plat_crash_console_putc
30*58032586SSamuel Holland
31*58032586SSamuel Hollandfunc plat_crash_console_flush
32*58032586SSamuel Holland	ret
33*58032586SSamuel Hollandendfunc plat_crash_console_flush
34*58032586SSamuel Holland
35*58032586SSamuel Hollandfunc plat_my_core_pos
36*58032586SSamuel Holland	mrs	x0, mpidr_el1
37*58032586SSamuel Holland	and	x1, x0, #MPIDR_CLUSTER_MASK
38*58032586SSamuel Holland	and	x0, x0, #MPIDR_CPU_MASK
39*58032586SSamuel Holland	add	x0, x0, x1, LSR #6
40*58032586SSamuel Holland	ret
41*58032586SSamuel Hollandendfunc plat_my_core_pos
42*58032586SSamuel Holland
43*58032586SSamuel Hollandfunc platform_mem_init
44*58032586SSamuel Holland	ret
45*58032586SSamuel Hollandendfunc platform_mem_init
46*58032586SSamuel Holland
47*58032586SSamuel Hollandfunc plat_report_exception
48*58032586SSamuel Holland	ret
49*58032586SSamuel Hollandendfunc plat_report_exception
50