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