]>
Commit | Line | Data |
---|---|---|
0c31ddf7 | 1 | /* |
a187559e | 2 | * U-Boot - main board file |
0c31ddf7 MF |
3 | * |
4 | * Copyright (c) 2005-2009 Analog Devices Inc. | |
5 | * | |
6 | * Licensed under the GPL-2 or later. | |
7 | */ | |
8 | ||
9 | #include <common.h> | |
10 | #include <config.h> | |
11 | #include <command.h> | |
12 | #include <net.h> | |
13 | #include <netdev.h> | |
14 | #include <asm/blackfin.h> | |
0c31ddf7 MF |
15 | #include <asm/mach-common/bits/otp.h> |
16 | ||
17 | DECLARE_GLOBAL_DATA_PTR; | |
18 | ||
19 | int checkboard(void) | |
20 | { | |
21 | printf("Board: ADI BF526 EZ-Board board\n"); | |
22 | printf(" Support: http://blackfin.uclinux.org/\n"); | |
23 | return 0; | |
24 | } | |
25 | ||
0c31ddf7 MF |
26 | #ifdef CONFIG_BFIN_MAC |
27 | static void board_init_enetaddr(uchar *mac_addr) | |
28 | { | |
e856bdcf | 29 | #ifdef CONFIG_MTD_NOR_FLASH |
76ec988b JH |
30 | /* we cram the MAC in the last flash sector */ |
31 | uchar *board_mac_addr = (uchar *)0x203F0096; | |
32 | if (is_valid_ethaddr(board_mac_addr)) { | |
33 | memcpy(mac_addr, board_mac_addr, 6); | |
34 | eth_setenv_enetaddr("ethaddr", mac_addr); | |
0c31ddf7 | 35 | } |
76ec988b | 36 | #endif |
0c31ddf7 MF |
37 | } |
38 | ||
39 | int board_eth_init(bd_t *bis) | |
40 | { | |
41 | return bfin_EMAC_initialize(bis); | |
42 | } | |
43 | #endif | |
44 | ||
45 | int misc_init_r(void) | |
46 | { | |
47 | #ifdef CONFIG_BFIN_MAC | |
48 | uchar enetaddr[6]; | |
49 | if (!eth_getenv_enetaddr("ethaddr", enetaddr)) | |
50 | board_init_enetaddr(enetaddr); | |
51 | #endif | |
52 | ||
e856bdcf | 53 | #ifdef CONFIG_MTD_NOR_FLASH |
d1f3ac9e MF |
54 | /* we use the last sector for the MAC address / POST LDR */ |
55 | extern flash_info_t flash_info[]; | |
56 | flash_protect(FLAG_PROTECT_SET, 0x203F0000, 0x203FFFFF, &flash_info[0]); | |
57 | #endif | |
58 | ||
0c31ddf7 MF |
59 | return 0; |
60 | } |