]> git.ipfire.org Git - people/ms/u-boot.git/blob - board/imgtec/boston/lowlevel_init.S
mtd/spi: fix block count for is25lq040b
[people/ms/u-boot.git] / board / imgtec / boston / lowlevel_init.S
1 /*
2 * Copyright (C) 2016 Imagination Technologies
3 *
4 * SPDX-License-Identifier: GPL-2.0
5 */
6
7 #include <config.h>
8
9 #include <asm/addrspace.h>
10 #include <asm/asm.h>
11 #include <asm/mipsregs.h>
12 #include <asm/regdef.h>
13
14 #include "boston-regs.h"
15
16 .data
17
18 msg_ddr_cal: .ascii "DDR Cal "
19 msg_ddr_ok: .ascii "DDR OK "
20
21 .text
22
23 LEAF(lowlevel_init)
24 move s0, ra
25
26 PTR_LA a0, msg_ddr_cal
27 bal lowlevel_display
28
29 PTR_LI t0, BOSTON_PLAT_DDR3STAT
30 1: lw t1, 0(t0)
31 andi t1, t1, BOSTON_PLAT_DDR3STAT_CALIB
32 beqz t1, 1b
33
34 PTR_LA a0, msg_ddr_ok
35 bal lowlevel_display
36
37 move v0, zero
38 jr s0
39 END(lowlevel_init)
40
41 LEAF(lowlevel_display)
42 .set push
43 .set noat
44 PTR_LI AT, BOSTON_LCD_BASE
45 #ifdef CONFIG_64BIT
46 ld k1, 0(a0)
47 sd k1, 0(AT)
48 #else
49 lw k1, 0(a0)
50 sw k1, 0(AT)
51 lw k1, 4(a0)
52 sw k1, 4(AT)
53 #endif
54 .set pop
55 1: jr ra
56 END(lowlevel_display)