blob: 0388226db485e893a6dd32b64f5508c518206eb1 [file] [log] [blame]
Sonic Zhang320ec9d2012-08-16 12:08:31 +08001/*
2 * U-boot - main board file
3 *
4 * Copyright (c) 2008-2011 Analog Devices Inc.
5 *
6 * Licensed under the GPL-2 or later.
7 */
8
9#include <common.h>
10#include <netdev.h>
11#include <asm/blackfin.h>
12#include <asm/io.h>
13#include <asm/portmux.h>
14#include "soft_switch.h"
15
16int checkboard(void)
17{
18 printf("Board: ADI BF609 EZ-Kit board\n");
19 printf(" Support: http://blackfin.uclinux.org/\n");
20 return 0;
21}
22
23int board_early_init_f(void)
24{
25 static const unsigned short pins[] = {
26 P_A3, P_A4, P_A5, P_A6, P_A7, P_A8, P_A9, P_A10, P_A11, P_A12,
27 P_A13, P_A14, P_A15, P_A16, P_A17, P_A18, P_A19, P_A20, P_A21,
28 P_A22, P_A23, P_A24, P_A25, P_NORCK, 0,
29 };
30 peripheral_request_list(pins, "smc0");
31
32 return 0;
33}
34
35#ifdef CONFIG_DESIGNWARE_ETH
36int board_eth_init(bd_t *bis)
37{
38 int ret = 0;
39
40 if (CONFIG_DW_PORTS & 1) {
41 static const unsigned short pins[] = P_RMII0;
42 if (!peripheral_request_list(pins, "emac0"))
43 ret += designware_initialize(0, EMAC0_MACCFG, 1, 0);
44 }
45 if (CONFIG_DW_PORTS & 2) {
46 static const unsigned short pins[] = P_RMII1;
47 if (!peripheral_request_list(pins, "emac1"))
48 ret += designware_initialize(1, EMAC1_MACCFG, 1, 0);
49 }
50
51 return ret;
52}
53#endif
54
55#ifdef CONFIG_BFIN_SDH
56int board_mmc_init(bd_t *bis)
57{
58 return bfin_mmc_init(bis);
59}
60#endif
61
62/* miscellaneous platform dependent initialisations */
63int misc_init_r(void)
64{
65 printf("other init\n");
66 return setup_board_switches();
67}