blob: d3775b22191b5e373812e412f2567bcae5de808e [file] [log] [blame]
Manivannan Sadhasivam6f219a12018-09-28 00:32:59 +05301// 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
14int 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
25void 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;
45err:
46 printf("%s: Error %d\n", __func__, ret);
47
48 /* No way to report error here */
49 hang();
50}