]> git.ipfire.org Git - people/ms/u-boot.git/blame - board/spear/spear300/spear300.c
arm: Add explicit include of <asm/mach-types.h>
[people/ms/u-boot.git] / board / spear / spear300 / spear300.c
CommitLineData
7e074158
VK
1/*
2 * (C) Copyright 2009
3 * Vipin Kumar, ST Micoelectronics, vipin.kumar@st.com.
4 *
1a459660 5 * SPDX-License-Identifier: GPL-2.0+
7e074158
VK
6 */
7
8#include <common.h>
9afc1af0 9#include <miiphy.h>
deb00562 10#include <netdev.h>
7e074158
VK
11#include <nand.h>
12#include <asm/io.h>
1fa943b9 13#include <linux/mtd/fsmc_nand.h>
c62db35d 14#include <asm/mach-types.h>
7e074158
VK
15#include <asm/arch/hardware.h>
16#include <asm/arch/spr_defs.h>
17#include <asm/arch/spr_misc.h>
1fa943b9
VK
18
19static struct nand_chip nand_chip[CONFIG_SYS_MAX_NAND_DEVICE];
7e074158
VK
20
21int board_init(void)
22{
23 return spear_board_init(MACH_TYPE_SPEAR300);
24}
25
26/*
27 * board_nand_init - Board specific NAND initialization
28 * @nand: mtd private chip structure
29 *
30 * Called by nand_init_chip to initialize the board specific functions
31 */
32
1fa943b9 33void board_nand_init()
7e074158
VK
34{
35 struct misc_regs *const misc_regs_p =
36 (struct misc_regs *)CONFIG_SPEAR_MISCBASE;
1fa943b9 37 struct nand_chip *nand = &nand_chip[0];
7e074158 38
1fa943b9 39#if defined(CONFIG_NAND_FSMC)
7e074158
VK
40 if (((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) ==
41 MISC_SOCCFG30) ||
42 ((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) ==
43 MISC_SOCCFG31)) {
44
1fa943b9 45 fsmc_nand_init(nand);
7e074158 46 }
1fa943b9
VK
47#endif
48 return;
7e074158 49}
deb00562
VK
50
51int board_eth_init(bd_t *bis)
52{
9afc1af0
VK
53 int ret = 0;
54
ef48f6dd 55#if defined(CONFIG_ETH_DESIGNWARE)
9afc1af0 56 u32 interface = PHY_INTERFACE_MODE_MII;
92a190aa 57 if (designware_initialize(CONFIG_SPEAR_ETHBASE, interface) >= 0)
9afc1af0 58 ret++;
deb00562 59#endif
9afc1af0 60 return ret;
deb00562 61}