blob: 0c01aa981d2caa7b1742bf87fd44a298fc955607 [file] [log] [blame]
Paul Burtonf5de32a2016-09-08 07:47:39 +01001/*
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
18msg_ddr_cal: .ascii "DDR Cal "
19msg_ddr_ok: .ascii "DDR OK "
20
21.text
22
23LEAF(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
301: 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
41LEAF(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
551: jr ra
56 END(lowlevel_display)