]> Git Repo - J-u-boot.git/blob - arch/mips/mach-mscc/lowlevel_init.S
mips: octeon: Add cvmx-bgxx-defs.h header file
[J-u-boot.git] / arch / mips / mach-mscc / lowlevel_init.S
1 /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2 /*
3  * Copyright (c) 2018 Microsemi Corporation
4  */
5
6 #include <asm/asm.h>
7 #include <asm/regdef.h>
8
9     .set noreorder
10     .extern     vcoreiii_tlb_init
11     .extern     vcoreiii_ddr_init
12 #ifdef CONFIG_SOC_LUTON
13     .extern     pll_init
14 #endif
15
16 LEAF(lowlevel_init)
17         /*
18          * As we have no stack yet, we can assume the restricted
19          * luxury of the sX-registers without saving them
20          */
21
22         /* Modify ra/s0 such we return to physical NOR location */
23         li      t0, 0x0fffffff
24         li      t1, CONFIG_SYS_TEXT_BASE
25         and     s0, ra, t0
26         add     s0, s0, t1
27
28         jal     vcoreiii_tlb_init
29          nop
30
31 #ifdef CONFIG_SOC_LUTON
32         jal     pll_init
33          nop
34 #endif
35
36         /* Initialize DDR controller to enable stack/gd/heap */
37 0:
38         jal     vcoreiii_ddr_init
39          nop
40         bnez    v0, 0b          /* Retry on error */
41          nop
42
43         jr      s0
44          nop
45         END(lowlevel_init)
This page took 0.028403 seconds and 4 git commands to generate.