| * U-boot - main board file |
| * Copyright (c) 2005-2009 Analog Devices Inc. |
| * Licensed under the GPL-2 or later. |
| #include <asm/blackfin.h> |
| #include <asm/mach-common/bits/otp.h> |
| #include "../cm-bf537e/gpio_cfi_flash.h" |
| printf("Board: Bluetechnix CM-BF527 board\n"); |
| printf(" Support: http://www.bluetechnix.at/\n"); |
| static void board_init_enetaddr(uchar *mac_addr) |
| /* the MAC is stored in OTP memory page 0xDF */ |
| ret = bfrom_OtpRead(0xDF, OTP_LOWER_HALF, &otp_mac); |
| if (!(ret & OTP_MASTER_ERROR)) { |
| uchar *otp_mac_p = (uchar *)&otp_mac; |
| for (ret = 0; ret < 6; ++ret) |
| mac_addr[ret] = otp_mac_p[5 - ret]; |
| if (is_valid_ether_addr(mac_addr)) |
| puts("Warning: Generating 'random' MAC address\n"); |
| bfin_gen_rand_mac(mac_addr); |
| eth_setenv_enetaddr("ethaddr", mac_addr); |
| int board_eth_init(bd_t *bis) |
| return bfin_EMAC_initialize(bis); |
| if (!eth_getenv_enetaddr("ethaddr", enetaddr)) |
| board_init_enetaddr(enetaddr); |