1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- * 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)
|