blob: 28251501985f66485bbe50425d9adcb5fc1a8c7c [file] [log] [blame]
Masahiro Yamada323d1f92015-09-22 00:27:39 +09001/*
Masahiro Yamada6a3e4272016-09-17 03:33:09 +09002 * Copyright (C) 2013-2015 Panasonic Corporation
3 * Copyright (C) 2015-2016 Socionext Inc.
4 * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada323d1f92015-09-22 00:27:39 +09005 *
6 * SPDX-License-Identifier: GPL-2.0+
7 */
8
9#include <common.h>
10#include <spl.h>
Masahiro Yamada107b3fb2016-01-09 01:51:13 +090011
12#include "../init.h"
13#include "../micro-support-card.h"
Masahiro Yamada323d1f92015-09-22 00:27:39 +090014
Masahiro Yamada5b660062016-03-30 20:17:02 +090015int uniphier_pro4_init(const struct uniphier_board_data *bd)
Masahiro Yamada323d1f92015-09-22 00:27:39 +090016{
Masahiro Yamada5b660062016-03-30 20:17:02 +090017 uniphier_sbc_init_savepin(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090018
19 support_card_reset();
20
Masahiro Yamada6a3e4272016-09-17 03:33:09 +090021 uniphier_pro4_dpll_init(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090022
23 support_card_init();
24
25 led_puts("L0");
26
27 memconf_init(bd);
28
29 led_puts("L1");
30
Masahiro Yamada5b660062016-03-30 20:17:02 +090031 uniphier_ld4_early_clk_init(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090032
33 led_puts("L2");
34
35 led_puts("L3");
36
37#ifdef CONFIG_SPL_SERIAL_SUPPORT
38 preloader_console_init();
39#endif
40
41 led_puts("L4");
42
43 {
44 int res;
45
Masahiro Yamada5b660062016-03-30 20:17:02 +090046 res = uniphier_pro4_umc_init(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090047 if (res < 0) {
48 while (1)
49 ;
50 }
51 }
52
53 led_puts("L5");
54
Masahiro Yamada323d1f92015-09-22 00:27:39 +090055 return 0;
56}