blob: 3528d84e8d39aab3bea906bb097362d12db0bfdc [file] [log] [blame]
Masahiro Yamada323d1f92015-09-22 00:27:39 +09001/*
2 * Copyright (C) 2013-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#include <common.h>
8#include <spl.h>
Masahiro Yamada107b3fb2016-01-09 01:51:13 +09009
10#include "../init.h"
11#include "../micro-support-card.h"
Masahiro Yamada323d1f92015-09-22 00:27:39 +090012
Masahiro Yamada5b660062016-03-30 20:17:02 +090013int uniphier_pro4_init(const struct uniphier_board_data *bd)
Masahiro Yamada323d1f92015-09-22 00:27:39 +090014{
Masahiro Yamada5b660062016-03-30 20:17:02 +090015 uniphier_sbc_init_savepin(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090016
17 support_card_reset();
18
Masahiro Yamada5b660062016-03-30 20:17:02 +090019 uniphier_pro4_pll_init(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090020
21 support_card_init();
22
23 led_puts("L0");
24
25 memconf_init(bd);
26
27 led_puts("L1");
28
Masahiro Yamada5b660062016-03-30 20:17:02 +090029 uniphier_ld4_early_clk_init(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090030
31 led_puts("L2");
32
33 led_puts("L3");
34
35#ifdef CONFIG_SPL_SERIAL_SUPPORT
36 preloader_console_init();
37#endif
38
39 led_puts("L4");
40
41 {
42 int res;
43
Masahiro Yamada5b660062016-03-30 20:17:02 +090044 res = uniphier_pro4_umc_init(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090045 if (res < 0) {
46 while (1)
47 ;
48 }
49 }
50
51 led_puts("L5");
52
Masahiro Yamada5b660062016-03-30 20:17:02 +090053 uniphier_ld4_enable_dpll_ssc(bd);
Masahiro Yamada323d1f92015-09-22 00:27:39 +090054
55 led_puts("L6");
56
57 return 0;
58}