/* | |
* Copyright (C) 2016 Imagination Technologies | |
* | |
* SPDX-License-Identifier: GPL-2.0 | |
*/ | |
#include <config.h> | |
#include <asm/addrspace.h> | |
#include <asm/asm.h> | |
#include <asm/mipsregs.h> | |
#include <asm/regdef.h> | |
#include "boston-regs.h" | |
.data | |
msg_ddr_cal: .ascii "DDR Cal " | |
msg_ddr_ok: .ascii "DDR OK " | |
.text | |
LEAF(lowlevel_init) | |
move s0, ra | |
PTR_LA a0, msg_ddr_cal | |
bal lowlevel_display | |
PTR_LI t0, BOSTON_PLAT_DDR3STAT | |
1: lw t1, 0(t0) | |
andi t1, t1, BOSTON_PLAT_DDR3STAT_CALIB | |
beqz t1, 1b | |
PTR_LA a0, msg_ddr_ok | |
bal lowlevel_display | |
move v0, zero | |
jr s0 | |
END(lowlevel_init) | |
LEAF(lowlevel_display) | |
.set push | |
.set noat | |
PTR_LI AT, BOSTON_LCD_BASE | |
#ifdef CONFIG_64BIT | |
ld k1, 0(a0) | |
sd k1, 0(AT) | |
#else | |
lw k1, 0(a0) | |
sw k1, 0(AT) | |
lw k1, 4(a0) | |
sw k1, 4(AT) | |
#endif | |
.set pop | |
1: jr ra | |
END(lowlevel_display) |