blob: 9aba5bc9a540dd1ec5e84d6c0b0d43f2633e06f1 [file] [log] [blame]
Alison Wang8c653122013-05-27 22:55:47 +00001/*
2 * Copyright 2013 Freescale Semiconductor, Inc.
3 *
4 * Configuration settings for the Freescale Vybrid vf610twr board.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of
9 * the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
19 * MA 02111-1307 USA
20 */
21
22#ifndef __CONFIG_H
23#define __CONFIG_H
24
25#include <asm/arch/imx-regs.h>
26#include <config_cmd_default.h>
27
28#define CONFIG_VF610
29
30#define CONFIG_DISPLAY_CPUINFO
31#define CONFIG_DISPLAY_BOARDINFO
32
33#define CONFIG_MACH_TYPE 4146
34
35#define CONFIG_SKIP_LOWLEVEL_INIT
36
37/* Enable passing of ATAGs */
38#define CONFIG_CMDLINE_TAG
39
40#define CONFIG_CMD_FUSE
41#ifdef CONFIG_CMD_FUSE
42#define CONFIG_MXC_OCOTP
43#endif
44
45/* Size of malloc() pool */
46#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2 * 1024 * 1024)
47
48#define CONFIG_BOARD_EARLY_INIT_F
49
50#define CONFIG_FSL_LPUART
51#define LPUART_BASE UART1_BASE
52
53/* Allow to overwrite serial and ethaddr */
54#define CONFIG_ENV_OVERWRITE
55#define CONFIG_SYS_UART_PORT (1)
56#define CONFIG_BAUDRATE 115200
57
58#undef CONFIG_CMD_IMLS
59
60#define CONFIG_MMC
61#define CONFIG_FSL_ESDHC
62#define CONFIG_SYS_FSL_ESDHC_ADDR 0
63#define CONFIG_SYS_FSL_ESDHC_NUM 1
64
65#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
66
67#define CONFIG_CMD_MMC
68#define CONFIG_GENERIC_MMC
69#define CONFIG_CMD_FAT
70#define CONFIG_DOS_PARTITION
71
72#define CONFIG_CMD_PING
73#define CONFIG_CMD_DHCP
74#define CONFIG_CMD_MII
75#define CONFIG_CMD_NET
76#define CONFIG_FEC_MXC
77#define CONFIG_MII
78#define IMX_FEC_BASE ENET_BASE_ADDR
79#define CONFIG_FEC_XCV_TYPE RMII
80#define CONFIG_FEC_MXC_PHYADDR 0
81#define CONFIG_PHYLIB
82#define CONFIG_PHY_MICREL
83
Alison Wang1221b3d2013-06-17 15:30:38 +080084/* I2C Configs */
85#define CONFIG_CMD_I2C
86#define CONFIG_HARD_I2C
87#define CONFIG_I2C_MXC
88#define CONFIG_SYS_I2C_BASE I2C0_BASE_ADDR
89#define CONFIG_SYS_I2C_SPEED 100000
90
Alison Wang8c653122013-05-27 22:55:47 +000091#define CONFIG_BOOTDELAY 3
92
Otavio Salvadorca21f612013-06-28 09:52:59 -030093#define CONFIG_LOADADDR 0x82000000
Alison Wang8c653122013-05-27 22:55:47 +000094#define CONFIG_SYS_TEXT_BASE 0x3f008000
95
Otavio Salvadorca21f612013-06-28 09:52:59 -030096#define CONFIG_EXTRA_ENV_SETTINGS \
97 "script=boot.scr\0" \
98 "uimage=uImage\0" \
99 "console=ttyLP1\0" \
100 "fdt_high=0xffffffff\0" \
101 "initrd_high=0xffffffff\0" \
102 "fdt_file=vf610-twr.dtb\0" \
103 "fdt_addr=0x81000000\0" \
104 "boot_fdt=try\0" \
105 "ip_dyn=yes\0" \
106 "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
107 "mmcpart=1\0" \
108 "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
109 "update_sd_firmware_filename=u-boot.imx\0" \
110 "update_sd_firmware=" \
111 "if test ${ip_dyn} = yes; then " \
112 "setenv get_cmd dhcp; " \
113 "else " \
114 "setenv get_cmd tftp; " \
115 "fi; " \
116 "if mmc dev ${mmcdev}; then " \
117 "if ${get_cmd} ${update_sd_firmware_filename}; then " \
118 "setexpr fw_sz ${filesize} / 0x200; " \
119 "setexpr fw_sz ${fw_sz} + 1; " \
120 "mmc write ${loadaddr} 0x2 ${fw_sz}; " \
121 "fi; " \
122 "fi\0" \
123 "mmcargs=setenv bootargs console=${console},${baudrate} " \
124 "root=${mmcroot}\0" \
125 "loadbootscript=" \
126 "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
127 "bootscript=echo Running bootscript from mmc ...; " \
128 "source\0" \
129 "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
130 "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
131 "mmcboot=echo Booting from mmc ...; " \
132 "run mmcargs; " \
133 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
134 "if run loadfdt; then " \
135 "bootm ${loadaddr} - ${fdt_addr}; " \
136 "else " \
137 "if test ${boot_fdt} = try; then " \
138 "bootm; " \
139 "else " \
140 "echo WARN: Cannot load the DT; " \
141 "fi; " \
142 "fi; " \
143 "else " \
144 "bootm; " \
145 "fi;\0" \
146 "netargs=setenv bootargs console=${console},${baudrate} " \
147 "root=/dev/nfs " \
148 "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
149 "netboot=echo Booting from net ...; " \
150 "run netargs; " \
151 "if test ${ip_dyn} = yes; then " \
152 "setenv get_cmd dhcp; " \
153 "else " \
154 "setenv get_cmd tftp; " \
155 "fi; " \
156 "${get_cmd} ${uimage}; " \
157 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
158 "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
159 "bootm ${loadaddr} - ${fdt_addr}; " \
160 "else " \
161 "if test ${boot_fdt} = try; then " \
162 "bootm; " \
163 "else " \
164 "echo WARN: Cannot load the DT; " \
165 "fi; " \
166 "fi; " \
167 "else " \
168 "bootm; " \
169 "fi;\0"
170
171#define CONFIG_BOOTCOMMAND \
172 "mmc dev ${mmcdev}; if mmc rescan; then " \
173 "if run loadbootscript; then " \
174 "run bootscript; " \
175 "else " \
176 "if run loaduimage; then " \
177 "run mmcboot; " \
178 "else run netboot; " \
179 "fi; " \
180 "fi; " \
181 "else run netboot; fi"
182
Alison Wang8c653122013-05-27 22:55:47 +0000183/* Miscellaneous configurable options */
184#define CONFIG_SYS_LONGHELP /* undef to save memory */
185#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
186#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
Otavio Salvadord6c6d122013-06-28 09:53:00 -0300187#define CONFIG_SYS_PROMPT "=> "
Alison Wang8c653122013-05-27 22:55:47 +0000188#undef CONFIG_AUTO_COMPLETE
189#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
190#define CONFIG_SYS_PBSIZE \
191 (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
192#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
193#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
194
195#define CONFIG_CMD_MEMTEST
196#define CONFIG_SYS_MEMTEST_START 0x80010000
197#define CONFIG_SYS_MEMTEST_END 0x87C00000
198
Otavio Salvadorca21f612013-06-28 09:52:59 -0300199#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
Alison Wang8c653122013-05-27 22:55:47 +0000200#define CONFIG_SYS_HZ 1000
201
202/*
203 * Stack sizes
204 * The stack sizes are set up in start.S using the settings below
205 */
206#define CONFIG_STACKSIZE (128 * 1024) /* regular stack */
207
208/* Physical memory map */
209#define CONFIG_NR_DRAM_BANKS 1
210#define PHYS_SDRAM (0x80000000)
211#define PHYS_SDRAM_SIZE (128 * 1024 * 1024)
212
213#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
214#define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
215#define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
216
217#define CONFIG_SYS_INIT_SP_OFFSET \
218 (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
219#define CONFIG_SYS_INIT_SP_ADDR \
220 (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
221
222/* FLASH and environment organization */
223#define CONFIG_SYS_NO_FLASH
224
225#define CONFIG_ENV_SIZE (8 * 1024)
226#define CONFIG_ENV_IS_IN_MMC
227
228#define CONFIG_ENV_OFFSET (12 * 64 * 1024)
229#define CONFIG_SYS_MMC_ENV_DEV 0
230
231#define CONFIG_OF_LIBFDT
232#define CONFIG_CMD_BOOTZ
233
234#endif