]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/arm/mach-uniphier/init/init.c
ARM: uniphier: refactor board_init()
[people/ms/u-boot.git] / arch / arm / mach-uniphier / init / init.c
CommitLineData
323d1f9d
MY
1/*
2 * Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#include <common.h>
d5cf3297 8#include <debug_uart.h>
323d1f9d 9#include <spl.h>
107b3fb4
MY
10
11#include "../init.h"
12#include "../soc-info.h"
323d1f9d 13
323d1f9d
MY
14void spl_board_init(void)
15{
16 const struct uniphier_board_data *param;
17
d5cf3297
MY
18#ifdef CONFIG_DEBUG_UART
19 debug_uart_init();
20#endif
21
6ba60faf 22 param = uniphier_get_board_param();
323d1f9d
MY
23 if (!param)
24 hang();
25
26 switch (uniphier_get_soc_type()) {
ea65c980
MY
27#if defined(CONFIG_ARCH_UNIPHIER_SLD3)
28 case SOC_UNIPHIER_SLD3:
5b660066 29 uniphier_sld3_init(param);
323d1f9d
MY
30 break;
31#endif
ea65c980
MY
32#if defined(CONFIG_ARCH_UNIPHIER_LD4)
33 case SOC_UNIPHIER_LD4:
5b660066 34 uniphier_ld4_init(param);
323d1f9d
MY
35 break;
36#endif
ea65c980
MY
37#if defined(CONFIG_ARCH_UNIPHIER_PRO4)
38 case SOC_UNIPHIER_PRO4:
5b660066 39 uniphier_pro4_init(param);
323d1f9d
MY
40 break;
41#endif
ea65c980
MY
42#if defined(CONFIG_ARCH_UNIPHIER_SLD8)
43 case SOC_UNIPHIER_SLD8:
5b660066 44 uniphier_sld8_init(param);
323d1f9d 45 break;
28f40d4a 46#endif
ea65c980
MY
47#if defined(CONFIG_ARCH_UNIPHIER_PRO5)
48 case SOC_UNIPHIER_PRO5:
5b660066 49 uniphier_pro5_init(param);
28f40d4a 50 break;
019df879 51#endif
ea65c980
MY
52#if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
53 case SOC_UNIPHIER_PXS2:
54 case SOC_UNIPHIER_LD6B:
5b660066 55 uniphier_pxs2_init(param);
019df879 56 break;
9d0c2ceb 57#endif
667dbcd0
MY
58#if defined(CONFIG_ARCH_UNIPHIER_LD11)
59 case SOC_UNIPHIER_LD11:
60 uniphier_ld11_init(param);
61 break;
62#endif
9d0c2ceb
MY
63#if defined(CONFIG_ARCH_UNIPHIER_LD20)
64 case SOC_UNIPHIER_LD20:
65 uniphier_ld20_init(param);
66 break;
323d1f9d
MY
67#endif
68 default:
69 break;
70 }
71}