1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * (C) Copyright 2016 Google, Inc
4 * Written by Simon Glass <sjg@chromium.org>
5 */
6
7#include <common.h>
8#include <bloblist.h>
9#include <cpu_func.h>
10#include <debug_uart.h>
11#include <handoff.h>
12#include <init.h>
13#include <log.h>
14#include <asm/global_data.h>
15#include <asm/mtrr.h>
16
17int misc_init_r(void)
18{
19	return 0;
20}
21
22int dram_init(void)
23{
24	struct spl_handoff *ho;
25
26	ho = bloblist_find(BLOBLISTT_U_BOOT_SPL_HANDOFF, sizeof(*ho));
27	if (!ho)
28		return log_msg_ret("Missing SPL hand-off info", -ENOENT);
29	handoff_load_dram_size(ho);
30#ifdef CONFIG_TPL
31	/* TODO(sjg@chromium.org): MTRR cannot be adjusted without a hang */
32	mtrr_add_request(MTRR_TYPE_WRBACK, 0, 2ULL << 30);
33#else
34	mtrr_add_request(MTRR_TYPE_WRBACK, 0, gd->ram_size);
35	mtrr_commit(true);
36#endif
37
38	return 0;
39}
40
41int checkcpu(void)
42{
43	return 0;
44}
45
46int print_cpuinfo(void)
47{
48	return 0;
49}
50
51void board_debug_uart_init(void)
52{
53}
54
55int dram_init_banksize(void)
56{
57	struct spl_handoff *ho;
58
59	ho = bloblist_find(BLOBLISTT_U_BOOT_SPL_HANDOFF, sizeof(*ho));
60	if (!ho)
61		return log_msg_ret("Missing SPL hand-off info", -ENOENT);
62	handoff_load_dram_banks(ho);
63
64	return 0;
65}
66