1/* 2 * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> 3 * 4 * Parts are shamelessly stolen from various TI sources, original copyright 5 * follows: 6 * ----------------------------------------------------------------- 7 * 8 * Copyright (C) 2004 Texas Instruments. 9 * 10 * ---------------------------------------------------------------------------- 11 * This program is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License as published by 13 * the Free Software Foundation; either version 2 of the License, or 14 * (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with this program; if not, write to the Free Software 23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 * ---------------------------------------------------------------------------- 25 */ 26 27#include <common.h> 28#include <asm/arch/hardware.h> 29#include "../common/psc.h" 30#include "../common/misc.h" 31 32DECLARE_GLOBAL_DATA_PTR; 33 34int board_init(void) 35{ 36 /* arch number of the board */ 37 gd->bd->bi_arch_number = MACH_TYPE_SONATA; 38 39 /* address of boot parameters */ 40 gd->bd->bi_boot_params = LINUX_BOOT_PARAM_ADDR; 41 42 /* Configure AEMIF pins (although this should be configured at boot time 43 * with pull-up/pull-down resistors) */ 44 REG(PINMUX0) = 0x00000c1f; 45 46 davinci_errata_workarounds(); 47 48 /* Power on required peripherals */ 49 lpsc_on(DAVINCI_LPSC_GPIO); 50 51#if !defined(CONFIG_SYS_USE_DSPLINK) 52 /* Powerup the DSP */ 53 dsp_on(); 54#endif /* CONFIG_SYS_USE_DSPLINK */ 55 56 davinci_enable_uart0(); 57 davinci_enable_emac(); 58 davinci_enable_i2c(); 59 60 lpsc_on(DAVINCI_LPSC_TIMER1); 61 timer_init(); 62 63 return(0); 64} 65 66int misc_init_r(void) 67{ 68 uint8_t eeprom_enetaddr[6]; 69 70 dv_display_clk_infos(); 71 72 /* Read Ethernet MAC address from EEPROM if available. */ 73 if (dvevm_read_mac_address(eeprom_enetaddr)) 74 dv_configure_mac_address(eeprom_enetaddr); 75 76 if (!eth_hw_init()) 77 printf("ethernet init failed!\n"); 78 79 return(0); 80} 81