2015-11-17 06:20:27 +00:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2015 Rockchip Electronics Co., Ltd
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <common.h>
|
2015-12-14 04:37:00 +00:00
|
|
|
#include <debug_uart.h>
|
2015-11-17 06:20:27 +00:00
|
|
|
#include <asm/io.h>
|
2017-02-18 18:46:26 +00:00
|
|
|
#include <asm/arch/bootrom.h>
|
2015-11-17 06:20:27 +00:00
|
|
|
#include <asm/arch/grf_rk3036.h>
|
|
|
|
#include <asm/arch/hardware.h>
|
|
|
|
#include <asm/arch/sdram_rk3036.h>
|
|
|
|
#include <asm/arch/timer.h>
|
|
|
|
#include <asm/arch/uart.h>
|
|
|
|
|
|
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
|
|
|
|
|
|
#define GRF_BASE 0x20008000
|
|
|
|
|
|
|
|
#define DEBUG_UART_BASE 0x20068000
|
|
|
|
|
|
|
|
void board_init_f(ulong dummy)
|
|
|
|
{
|
|
|
|
#ifdef EARLY_DEBUG
|
2017-05-09 02:14:20 +00:00
|
|
|
struct rk3036_grf * const grf = (void *)GRF_BASE;
|
2015-11-17 06:20:27 +00:00
|
|
|
/*
|
|
|
|
* NOTE: sd card and debug uart use same iomux in rk3036,
|
|
|
|
* so if you enable uart,
|
|
|
|
* you can not boot from sdcard
|
|
|
|
*/
|
|
|
|
rk_clrsetreg(&grf->gpio1c_iomux,
|
|
|
|
GPIO1C3_MASK << GPIO1C3_SHIFT |
|
|
|
|
GPIO1C2_MASK << GPIO1C2_SHIFT,
|
|
|
|
GPIO1C3_UART2_SOUT << GPIO1C3_SHIFT |
|
|
|
|
GPIO1C2_UART2_SIN << GPIO1C2_SHIFT);
|
2015-12-14 04:37:00 +00:00
|
|
|
debug_uart_init();
|
2015-11-17 06:20:27 +00:00
|
|
|
#endif
|
|
|
|
rockchip_timer_init();
|
|
|
|
sdram_init();
|
|
|
|
|
|
|
|
/* return to maskrom */
|
2017-10-10 14:21:16 +00:00
|
|
|
back_to_bootrom(BROM_BOOT_NEXTSTAGE);
|
2015-11-17 06:20:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/* Place Holders */
|
|
|
|
void board_init_r(gd_t *id, ulong dest_addr)
|
|
|
|
{
|
|
|
|
/*
|
|
|
|
* Function attribute is no-return
|
|
|
|
* This Function never executes
|
|
|
|
*/
|
|
|
|
while (1)
|
|
|
|
;
|
|
|
|
}
|