1*419adbfbSFabio Estevam /* 2*419adbfbSFabio Estevam * (C) Copyright 2011 Freescale Semiconductor, Inc. 3*419adbfbSFabio Estevam * 4*419adbfbSFabio Estevam * Author: Fabio Estevam <fabio.estevam@freescale.com> 5*419adbfbSFabio Estevam * 6*419adbfbSFabio Estevam * See file CREDITS for list of people who contributed to this 7*419adbfbSFabio Estevam * project. 8*419adbfbSFabio Estevam * 9*419adbfbSFabio Estevam * This program is free software; you can redistribute it and/or 10*419adbfbSFabio Estevam * modify it under the terms of the GNU General Public License as 11*419adbfbSFabio Estevam * published by the Free Software Foundation; either version 2 of 12*419adbfbSFabio Estevam * the License, or (at your option) any later version. 13*419adbfbSFabio Estevam * 14*419adbfbSFabio Estevam * This program is distributed in the hope that it will be useful, 15*419adbfbSFabio Estevam * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*419adbfbSFabio Estevam * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*419adbfbSFabio Estevam * GNU General Public License for more details. 18*419adbfbSFabio Estevam */ 19*419adbfbSFabio Estevam 20*419adbfbSFabio Estevam #include <common.h> 21*419adbfbSFabio Estevam #include <asm/io.h> 22*419adbfbSFabio Estevam #include <asm/arch/imx-regs.h> 23*419adbfbSFabio Estevam #include <asm/arch/imx25-pinmux.h> 24*419adbfbSFabio Estevam #include <asm/arch/sys_proto.h> 25*419adbfbSFabio Estevam 26*419adbfbSFabio Estevam DECLARE_GLOBAL_DATA_PTR; 27*419adbfbSFabio Estevam 28*419adbfbSFabio Estevam int dram_init(void) 29*419adbfbSFabio Estevam { 30*419adbfbSFabio Estevam /* dram_init must store complete ramsize in gd->ram_size */ 31*419adbfbSFabio Estevam gd->ram_size = get_ram_size((void *)CONFIG_SYS_SDRAM_BASE, 32*419adbfbSFabio Estevam PHYS_SDRAM_1_SIZE); 33*419adbfbSFabio Estevam return 0; 34*419adbfbSFabio Estevam } 35*419adbfbSFabio Estevam 36*419adbfbSFabio Estevam void dram_init_banksize(void) 37*419adbfbSFabio Estevam { 38*419adbfbSFabio Estevam gd->bd->bi_dram[0].start = PHYS_SDRAM_1; 39*419adbfbSFabio Estevam gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; 40*419adbfbSFabio Estevam } 41*419adbfbSFabio Estevam 42*419adbfbSFabio Estevam int board_early_init_f(void) 43*419adbfbSFabio Estevam { 44*419adbfbSFabio Estevam mx25_uart1_init_pins(); 45*419adbfbSFabio Estevam 46*419adbfbSFabio Estevam return 0; 47*419adbfbSFabio Estevam } 48*419adbfbSFabio Estevam 49*419adbfbSFabio Estevam int board_init(void) 50*419adbfbSFabio Estevam { 51*419adbfbSFabio Estevam gd->bd->bi_arch_number = MACH_TYPE_MX25_3DS; 52*419adbfbSFabio Estevam /* address of boot parameters */ 53*419adbfbSFabio Estevam gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; 54*419adbfbSFabio Estevam 55*419adbfbSFabio Estevam return 0; 56*419adbfbSFabio Estevam } 57*419adbfbSFabio Estevam 58*419adbfbSFabio Estevam int checkboard(void) 59*419adbfbSFabio Estevam { 60*419adbfbSFabio Estevam puts("Board: MX25PDK\n"); 61*419adbfbSFabio Estevam 62*419adbfbSFabio Estevam return 0; 63*419adbfbSFabio Estevam } 64