1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * Copyright (C) 2018 Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 4 */ 5 6 #include <common.h> 7 #include <dm.h> 8 #include <dm/pinctrl.h> 9 #include <dm/uclass-internal.h> 10 #include <asm/arch/periph.h> 11 #include <power/regulator.h> 12 #include <spl.h> 13 14 int board_init(void) 15 { 16 int ret; 17 18 ret = regulators_enable_boot_on(false); 19 if (ret) 20 debug("%s: Cannot enable boot on regulator\n", __func__); 21 22 return 0; 23 } 24 25 void spl_board_init(void) 26 { 27 struct udevice *pinctrl; 28 int ret; 29 30 ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); 31 if (ret) { 32 debug("%s: Cannot find pinctrl device\n", __func__); 33 goto err; 34 } 35 36 /* Enable debug UART */ 37 ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART_DBG); 38 if (ret) { 39 debug("%s: Failed to set up console UART\n", __func__); 40 goto err; 41 } 42 43 preloader_console_init(); 44 return; 45 err: 46 printf("%s: Error %d\n", __func__, ret); 47 48 /* No way to report error here */ 49 hang(); 50 } 51