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 misc_init_r(void)17int misc_init_r(void) 18 { 19 return 0; 20 } 21 dram_init(void)22int dram_init(void) 23 { 24 struct spl_handoff *ho; 25 26 ho = bloblist_find(BLOBLISTT_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 checkcpu(void)41int checkcpu(void) 42 { 43 return 0; 44 } 45 print_cpuinfo(void)46int print_cpuinfo(void) 47 { 48 return 0; 49 } 50 board_debug_uart_init(void)51void board_debug_uart_init(void) 52 { 53 } 54 dram_init_banksize(void)55int dram_init_banksize(void) 56 { 57 struct spl_handoff *ho; 58 59 ho = bloblist_find(BLOBLISTT_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