blob: cb054212529918b9fc0fa6236efdcee22abb490d [file] [log] [blame]
Masahiro Yamada063eb1e2016-04-21 14:43:18 +09001/*
Masahiro Yamada7aac23c2016-09-17 03:33:06 +09002 * Copyright (C) 2016 Socionext Inc.
3 * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada063eb1e2016-04-21 14:43:18 +09004 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8#include <common.h>
9#include <spl.h>
10
11#include "../init.h"
12#include "../micro-support-card.h"
13
14int uniphier_ld20_init(const struct uniphier_board_data *bd)
15{
16 uniphier_sbc_init_savepin(bd);
Masahiro Yamadaea4d3db2016-04-28 15:37:15 +090017 uniphier_pxs2_sbc_init(bd);
Masahiro Yamada7aac23c2016-09-17 03:33:06 +090018 uniphier_pin_init("system_bus_grp");
Masahiro Yamada063eb1e2016-04-21 14:43:18 +090019
20 support_card_reset();
21
22 support_card_init();
23
24 led_puts("L0");
25
26 memconf_init(bd);
27 uniphier_pxs2_memconf_init(bd);
28
29 led_puts("L1");
30
31 uniphier_ld20_early_clk_init(bd);
32
33 led_puts("L2");
34
Masahiro Yamada063eb1e2016-04-21 14:43:18 +090035#ifdef CONFIG_SPL_SERIAL_SUPPORT
36 preloader_console_init();
37#endif
38
Masahiro Yamadad11b0b72016-09-17 03:33:11 +090039 led_puts("L3");
40
41 uniphier_ld20_dpll_init(bd);
42
Masahiro Yamada063eb1e2016-04-21 14:43:18 +090043 led_puts("L4");
44
45 {
46 int res;
47
48 res = uniphier_ld20_umc_init(bd);
49 if (res < 0) {
50 while (1)
51 ;
52 }
53 }
54
55 led_puts("L5");
56
Masahiro Yamada6a5c5ac2016-05-24 21:13:57 +090057 dcache_disable();
58
Masahiro Yamada063eb1e2016-04-21 14:43:18 +090059 return 0;
60}