xref: /openbmc/u-boot/board/freescale/mx25pdk/mx25pdk.c (revision 419adbfbcba2f818d84eec6ed3f70173a4d67efa)
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