blob: 566f9765c29ba4e8ffe24e2b98730cc496e96fcc [file] [log] [blame]
Horatiu Vultur036d9592019-01-17 15:33:28 +01001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Microsemi Corporation
4 */
5
6#include <common.h>
7#include <asm/io.h>
8#include <led.h>
9
10enum {
11 BOARD_TYPE_PCB116 = 0xAABBCE00,
12};
13
14int board_early_init_r(void)
15{
16 /* Prepare SPI controller to be used in master mode */
17 writel(0, BASE_CFG + ICPU_SW_MODE);
18
19 /* Address of boot parameters */
20 gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE;
21
22 /* LED setup */
23 if (IS_ENABLED(CONFIG_LED))
24 led_default_state();
25
26 return 0;
27}
28
29static void do_board_detect(void)
30{
31 gd->board_type = BOARD_TYPE_PCB116; /* ServalT */
32}
33
34#if defined(CONFIG_MULTI_DTB_FIT)
35int board_fit_config_name_match(const char *name)
36{
37 if (gd->board_type == BOARD_TYPE_PCB116 &&
38 strcmp(name, "servalt_pcb116") == 0)
39 return 0;
40 return -1;
41}
42#endif
43
44#if defined(CONFIG_DTB_RESELECT)
45int embedded_dtb_select(void)
46{
47 do_board_detect();
48 fdtdec_setup();
49
50 return 0;
51}
52#endif