blob: c3d90d03d09f44194f5eb40b0089f178a01ab087 [file] [log] [blame]
Masahiro Yamadabb2ff9d2014-10-03 19:21:06 +09001/*
Masahiro Yamada24ee11f2015-02-05 14:42:55 +09002 * Copyright (C) 2013-2015 Panasonic Corporation
Masahiro Yamadabb2ff9d2014-10-03 19:21:06 +09003 * Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8#include <common.h>
9#include <spl.h>
Masahiro Yamada24ee11f2015-02-05 14:42:55 +090010#include <linux/compiler.h>
Masahiro Yamada95387e22015-02-27 02:26:44 +090011#include <mach/led.h>
12#include <mach/board.h>
Masahiro Yamada24ee11f2015-02-05 14:42:55 +090013
14void __weak bcu_init(void)
15{
16};
17void sbc_init(void);
18void sg_init(void);
19void pll_init(void);
20void pin_init(void);
Masahiro Yamadae28001b2015-02-27 02:27:04 +090021void memconf_init(void);
Masahiro Yamadac04368f2015-02-27 02:26:51 +090022void early_clkrst_init(void);
Masahiro Yamada24ee11f2015-02-05 14:42:55 +090023int umc_init(void);
24void enable_dpll_ssc(void);
Masahiro Yamadabb2ff9d2014-10-03 19:21:06 +090025
26void spl_board_init(void)
27{
Masahiro Yamada24ee11f2015-02-05 14:42:55 +090028 bcu_init();
29
30 sbc_init();
31
32 sg_init();
33
34 uniphier_board_reset();
35
36 pll_init();
37
38 uniphier_board_init();
39
40 led_write(L, 0, , );
41
Masahiro Yamadae28001b2015-02-27 02:27:04 +090042 memconf_init();
Masahiro Yamada24ee11f2015-02-05 14:42:55 +090043
44 led_write(L, 1, , );
45
Masahiro Yamadae28001b2015-02-27 02:27:04 +090046 early_clkrst_init();
47
48 led_write(L, 2, , );
49
Masahiro Yamada24ee11f2015-02-05 14:42:55 +090050 {
51 int res;
52
53 res = umc_init();
54 if (res < 0) {
55 while (1)
56 ;
57 }
58 }
Masahiro Yamadae28001b2015-02-27 02:27:04 +090059 led_write(L, 3, , );
Masahiro Yamada24ee11f2015-02-05 14:42:55 +090060
61 enable_dpll_ssc();
62
Masahiro Yamadae28001b2015-02-27 02:27:04 +090063 led_write(L, 4, , );
Masahiro Yamadabb2ff9d2014-10-03 19:21:06 +090064}