Merge branch 'master' of git://www.denx.de/git/u-boot-mpc85xx
[kernel/u-boot.git] / board / bf609-ezkit / bf609-ezkit.c
1 /*
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
16 int 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
23 int 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
36 int 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
56 int board_mmc_init(bd_t *bis)
57 {
58         return bfin_mmc_init(bis);
59 }
60 #endif
61
62 /* miscellaneous platform dependent initialisations */
63 int misc_init_r(void)
64 {
65         printf("other init\n");
66         return setup_board_switches();
67 }