1 /* 2 * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7 #include <common.h> 8 #include <debug_uart.h> 9 #include <dm.h> 10 #include <dm/pinctrl.h> 11 #include <ram.h> 12 #include <spl.h> 13 #include <asm/io.h> 14 #include <asm/arch/cru_rk3368.h> 15 #include <asm/arch/grf_rk3368.h> 16 #include <asm/arch/hardware.h> 17 #include <asm/arch/periph.h> 18 #include <asm/arch/timer.h> 19 20 void board_debug_uart_init(void) 21 { 22 } 23 24 void board_init_f(ulong dummy) 25 { 26 struct udevice *pinctrl; 27 struct udevice *dev; 28 int ret; 29 30 ret = spl_early_init(); 31 if (ret) { 32 debug("spl_early_init() failed: %d\n", ret); 33 hang(); 34 } 35 36 /* Set up our preloader console */ 37 ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); 38 if (ret) { 39 pr_err("%s: pinctrl init failed: %d\n", __func__, ret); 40 hang(); 41 } 42 43 ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART0); 44 if (ret) { 45 pr_err("%s: failed to set up console UART\n", __func__); 46 hang(); 47 } 48 49 preloader_console_init(); 50 51 ret = uclass_get_device(UCLASS_RAM, 0, &dev); 52 if (ret) { 53 debug("DRAM init failed: %d\n", ret); 54 return; 55 } 56 } 57 58 u32 spl_boot_device(void) 59 { 60 return BOOT_DEVICE_MMC1; 61 } 62 63 #ifdef CONFIG_SPL_LOAD_FIT 64 int board_fit_config_name_match(const char *name) 65 { 66 /* Just empty function now - can't decide what to choose */ 67 debug("%s: %s\n", __func__, name); 68 69 return 0; 70 } 71 #endif 72