1/* 2 * U-Boot - main board file 3 * 4 * Copyright (c) 2005-2008 Analog Devices Inc. 5 * 6 * (C) Copyright 2000-2004 7 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 8 * 9 * SPDX-License-Identifier: GPL-2.0+ 10 */ 11 12#include <common.h> 13#include <config.h> 14#include <command.h> 15#include <asm/blackfin.h> 16#include <net.h> 17#include <asm/mach-common/bits/bootrom.h> 18#include <netdev.h> 19 20DECLARE_GLOBAL_DATA_PTR; 21 22int checkboard(void) 23{ 24 printf("Board: ADI BF537 stamp board\n"); 25 printf(" Support: http://blackfin.uclinux.org/\n"); 26 return 0; 27} 28 29#ifdef CONFIG_BFIN_MAC 30static void board_init_enetaddr(uchar *mac_addr) 31{ 32#ifndef CONFIG_SYS_NO_FLASH 33 /* we cram the MAC in the last flash sector */ 34 uchar *board_mac_addr = (uchar *)0x203F0000; 35 if (is_valid_ethaddr(board_mac_addr)) { 36 memcpy(mac_addr, board_mac_addr, 6); 37 eth_setenv_enetaddr("ethaddr", mac_addr); 38 } 39#endif 40} 41 42int board_eth_init(bd_t *bis) 43{ 44 return bfin_EMAC_initialize(bis); 45} 46#endif 47 48/* miscellaneous platform dependent initialisations */ 49int misc_init_r(void) 50{ 51#ifdef CONFIG_BFIN_MAC 52 uchar enetaddr[6]; 53 if (!eth_getenv_enetaddr("ethaddr", enetaddr)) 54 board_init_enetaddr(enetaddr); 55#endif 56 57#ifndef CONFIG_SYS_NO_FLASH 58 /* we use the last sector for the MAC address / POST LDR */ 59 extern flash_info_t flash_info[]; 60 flash_protect(FLAG_PROTECT_SET, 0x203F0000, 0x203FFFFF, &flash_info[0]); 61#endif 62 63#ifdef CONFIG_BFIN_IDE 64 cf_ide_init(); 65#endif 66 67 return 0; 68} 69