1dd1033e4SGregory CLEMENT/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2dd1033e4SGregory CLEMENT/*
3dd1033e4SGregory CLEMENT * Copyright (c) 2018 Microsemi Corporation
4dd1033e4SGregory CLEMENT */
5dd1033e4SGregory CLEMENT
6dd1033e4SGregory CLEMENT#include <asm/asm.h>
7dd1033e4SGregory CLEMENT#include <asm/regdef.h>
8dd1033e4SGregory CLEMENT
9dd1033e4SGregory CLEMENT    .set noreorder
10dd1033e4SGregory CLEMENT    .extern     vcoreiii_tlb_init
11*6bd8231aSGregory CLEMENT#ifdef CONFIG_SOC_LUTON
12*6bd8231aSGregory CLEMENT    .extern     pll_init
13*6bd8231aSGregory CLEMENT#endif
14dd1033e4SGregory CLEMENT
15dd1033e4SGregory CLEMENTLEAF(lowlevel_init)
16dd1033e4SGregory CLEMENT	/*
17dd1033e4SGregory CLEMENT	 * As we have no stack yet, we can assume the restricted
18dd1033e4SGregory CLEMENT	 * luxury of the sX-registers without saving them
19dd1033e4SGregory CLEMENT	 */
20dd1033e4SGregory CLEMENT	move	s0,ra
21dd1033e4SGregory CLEMENT
22dd1033e4SGregory CLEMENT	jal	vcoreiii_tlb_init
23dd1033e4SGregory CLEMENT	 nop
24*6bd8231aSGregory CLEMENT#ifdef CONFIG_SOC_LUTON
25*6bd8231aSGregory CLEMENT	jal	pll_init
26*6bd8231aSGregory CLEMENT	 nop
27*6bd8231aSGregory CLEMENT#endif
28dd1033e4SGregory CLEMENT	jr	s0
29dd1033e4SGregory CLEMENT	 nop
30dd1033e4SGregory CLEMENT	END(lowlevel_init)
31