]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | // SPDX-License-Identifier: GPL-2.0+ |
7e074158 VK |
2 | /* |
3 | * (C) Copyright 2009 | |
4 | * Vipin Kumar, ST Micoelectronics, [email protected]. | |
7e074158 VK |
5 | */ |
6 | ||
7 | #include <common.h> | |
9afc1af0 | 8 | #include <miiphy.h> |
90526e9f | 9 | #include <net.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 | |
19 | static struct nand_chip nand_chip[CONFIG_SYS_MAX_NAND_DEVICE]; | |
7e074158 VK |
20 | |
21 | int 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 | 33 | void 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 | |
51 | int 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 | } |