]>
Commit | Line | Data |
---|---|---|
566c9c16 VK |
1 | /* |
2 | * (C) Copyright 2009 | |
3 | * Vipin Kumar, STMicroelectronics, <[email protected]> | |
4 | * | |
5 | * See file CREDITS for list of people who contributed to this | |
6 | * project. | |
7 | * | |
8 | * This program is free software; you can redistribute it and/or | |
9 | * modify it under the terms of the GNU General Public License as | |
10 | * published by the Free Software Foundation; either version 2 of | |
11 | * the License, or (at your option) any later version. | |
12 | * | |
13 | * This program is distributed in the hope that it will be useful, | |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | * GNU General Public License for more details. | |
17 | * | |
18 | * You should have received a copy of the GNU General Public License | |
19 | * along with this program; if not, write to the Free Software | |
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
21 | * MA 02111-1307 USA | |
22 | */ | |
23 | ||
24 | #ifndef _SPEAR_COMMON_H | |
25 | #define _SPEAR_COMMON_H | |
26 | /* | |
27 | * Common configurations used for both spear3xx as well as spear6xx | |
28 | */ | |
29 | ||
f273e5b2 VK |
30 | /* U-boot Load Address */ |
31 | #define CONFIG_SYS_TEXT_BASE 0x00700000 | |
32 | ||
deb00562 VK |
33 | /* Ethernet driver configuration */ |
34 | #define CONFIG_MII | |
35 | #define CONFIG_DESIGNWARE_ETH | |
36 | #define CONFIG_DW_SEARCH_PHY | |
37 | #define CONFIG_DW0_PHY 1 | |
38 | #define CONFIG_NET_MULTI | |
39 | #define CONFIG_PHY_RESET_DELAY 10000 /* in usec */ | |
25b741a4 | 40 | #define CONFIG_DW_AUTONEG |
deb00562 | 41 | |
566c9c16 | 42 | /* USBD driver configuration */ |
b884236e | 43 | #if defined(CONFIG_SPEAR_USBTTY) |
2721551a | 44 | #define CONFIG_DW_UDC |
566c9c16 | 45 | #define CONFIG_USB_DEVICE |
50726684 | 46 | #define CONFIG_USBD_HS |
566c9c16 VK |
47 | #define CONFIG_USB_TTY |
48 | ||
49 | #define CONFIG_USBD_PRODUCT_NAME "SPEAr SoC" | |
50 | #define CONFIG_USBD_MANUFACTURER "ST Microelectronics" | |
51 | ||
b884236e VK |
52 | #endif |
53 | ||
566c9c16 VK |
54 | #define CONFIG_EXTRA_ENV_USBTTY "usbtty=cdc_acm\0" |
55 | ||
56 | /* I2C driver configuration */ | |
57 | #define CONFIG_HARD_I2C | |
031ed2fa | 58 | #define CONFIG_DW_I2C |
566c9c16 VK |
59 | #define CONFIG_SYS_I2C_SPEED 400000 |
60 | #define CONFIG_SYS_I2C_SLAVE 0x02 | |
61 | ||
62 | #define CONFIG_I2C_CHIPADDRESS 0x50 | |
63 | ||
64 | /* Timer, HZ specific defines */ | |
65 | #define CONFIG_SYS_HZ (1000) | |
566c9c16 VK |
66 | |
67 | /* Flash configuration */ | |
68 | #if defined(CONFIG_FLASH_PNOR) | |
69 | #define CONFIG_SPEAR_EMI 1 | |
70 | #else | |
f3fcf92d | 71 | #define CONFIG_ST_SMI |
566c9c16 VK |
72 | #endif |
73 | ||
f3fcf92d | 74 | #if defined(CONFIG_ST_SMI) |
566c9c16 VK |
75 | |
76 | #define CONFIG_SYS_MAX_FLASH_BANKS 2 | |
77 | #define CONFIG_SYS_FLASH_BASE (0xF8000000) | |
78 | #define CONFIG_SYS_CS1_FLASH_BASE (0xF9000000) | |
79 | #define CONFIG_SYS_FLASH_BANK_SIZE (0x01000000) | |
80 | #define CONFIG_SYS_FLASH_ADDR_BASE {CONFIG_SYS_FLASH_BASE, \ | |
81 | CONFIG_SYS_CS1_FLASH_BASE} | |
82 | #define CONFIG_SYS_MAX_FLASH_SECT 128 | |
83 | ||
566c9c16 VK |
84 | #define CONFIG_SYS_FLASH_ERASE_TOUT (3 * CONFIG_SYS_HZ) |
85 | #define CONFIG_SYS_FLASH_WRITE_TOUT (3 * CONFIG_SYS_HZ) | |
86 | ||
87 | #endif | |
88 | ||
89 | /* | |
90 | * Serial Configuration (PL011) | |
91 | * CONFIG_PL01x_PORTS is defined in specific files | |
92 | */ | |
93 | #define CONFIG_PL011_SERIAL | |
94 | #define CONFIG_PL011_CLOCK (48 * 1000 * 1000) | |
95 | #define CONFIG_CONS_INDEX 0 | |
96 | #define CONFIG_BAUDRATE 115200 | |
97 | #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, \ | |
98 | 57600, 115200 } | |
99 | ||
100 | #define CONFIG_SYS_LOADS_BAUD_CHANGE | |
101 | ||
102 | /* NAND FLASH Configuration */ | |
1fa943b9 | 103 | #define CONFIG_SYS_NAND_SELF_INIT |
a39fcfb2 SH |
104 | #define CONFIG_MTD_DEVICE |
105 | #define CONFIG_MTD_PARTITIONS | |
1fa943b9 | 106 | #define CONFIG_NAND_FSMC |
566c9c16 | 107 | #define CONFIG_SYS_MAX_NAND_DEVICE 1 |
bc912e78 VK |
108 | #define CONFIG_SYS_NAND_ONFI_DETECTION |
109 | #define CONFIG_SYS_NAND_QUIET_TEST | |
566c9c16 VK |
110 | |
111 | /* | |
112 | * Command support defines | |
113 | */ | |
114 | #define CONFIG_CMD_I2C | |
115 | #define CONFIG_CMD_NAND | |
116 | #define CONFIG_CMD_ENV | |
117 | #define CONFIG_CMD_MEMORY | |
118 | #define CONFIG_CMD_RUN | |
119 | #define CONFIG_CMD_SAVES | |
deb00562 VK |
120 | #define CONFIG_CMD_NET |
121 | #define CONFIG_CMD_MII | |
122 | #define CONFIG_CMD_PING | |
123 | #define CONFIG_CMD_DHCP | |
566c9c16 VK |
124 | |
125 | /* This must be included AFTER the definition of CONFIG_COMMANDS (if any) */ | |
126 | #include <config_cmd_default.h> | |
566c9c16 VK |
127 | |
128 | /* | |
129 | * Default Environment Varible definitions | |
130 | */ | |
131 | #if defined(CONFIG_SPEAR_USBTTY) | |
132 | #define CONFIG_BOOTDELAY -1 | |
133 | #else | |
134 | #define CONFIG_BOOTDELAY 1 | |
135 | #endif | |
136 | ||
137 | #define CONFIG_ENV_OVERWRITE | |
138 | ||
139 | /* | |
140 | * U-Boot Environment placing definitions. | |
141 | */ | |
142 | #if defined(CONFIG_ENV_IS_IN_FLASH) | |
f3fcf92d | 143 | #ifdef CONFIG_ST_SMI |
566c9c16 VK |
144 | /* |
145 | * Environment is in serial NOR flash | |
146 | */ | |
147 | #define CONFIG_SYS_MONITOR_LEN 0x00040000 | |
148 | #define CONFIG_ENV_SECT_SIZE 0x00010000 | |
1b7935cd | 149 | #define CONFIG_FSMTDBLK "/dev/mtdblock3 " |
566c9c16 VK |
150 | |
151 | #define CONFIG_BOOTCOMMAND "bootm 0xf8050000" | |
152 | ||
153 | #elif defined(CONFIG_SPEAR_EMI) | |
154 | /* | |
155 | * Environment is in parallel NOR flash | |
156 | */ | |
157 | #define CONFIG_SYS_MONITOR_LEN 0x00060000 | |
158 | #define CONFIG_ENV_SECT_SIZE 0x00020000 | |
159 | #define CONFIG_FSMTDBLK "/dev/mtdblock3 " | |
160 | ||
161 | #define CONFIG_BOOTCOMMAND "cp.b 0x50080000 0x1600000 " \ | |
162 | "0x4C0000; bootm 0x1600000" | |
163 | #endif | |
164 | ||
0296f159 | 165 | #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + \ |
566c9c16 VK |
166 | CONFIG_SYS_MONITOR_LEN) |
167 | #elif defined(CONFIG_ENV_IS_IN_NAND) | |
168 | /* | |
169 | * Environment is in NAND | |
170 | */ | |
171 | ||
172 | #define CONFIG_ENV_OFFSET 0x60000 | |
173 | #define CONFIG_ENV_RANGE 0x10000 | |
1b7935cd | 174 | #define CONFIG_FSMTDBLK "/dev/mtdblock7 " |
566c9c16 VK |
175 | |
176 | #define CONFIG_BOOTCOMMAND "nand read.jffs2 0x1600000 " \ | |
177 | "0x80000 0x4C0000; " \ | |
178 | "bootm 0x1600000" | |
179 | #endif | |
180 | ||
1b7935cd VK |
181 | #define CONFIG_BOOTARGS "console=ttyAMA0,115200 " \ |
182 | "mem=128M " \ | |
566c9c16 VK |
183 | "root="CONFIG_FSMTDBLK \ |
184 | "rootfstype=jffs2" | |
185 | ||
1b7935cd VK |
186 | #define CONFIG_NFSBOOTCOMMAND \ |
187 | "bootp; " \ | |
188 | "setenv bootargs root=/dev/nfs rw " \ | |
189 | "nfsroot=$(serverip):$(rootpath) " \ | |
190 | "ip=$(ipaddr):$(serverip):$(gatewayip):" \ | |
191 | "$(netmask):$(hostname):$(netdev):off " \ | |
192 | "console=ttyAMA0,115200 $(othbootargs);" \ | |
193 | "bootm; " | |
194 | ||
195 | #define CONFIG_RAMBOOTCOMMAND \ | |
196 | "setenv bootargs root=/dev/ram rw " \ | |
197 | "console=ttyAMA0,115200 $(othbootargs);" \ | |
198 | CONFIG_BOOTCOMMAND | |
199 | ||
200 | ||
566c9c16 | 201 | #define CONFIG_ENV_SIZE 0x02000 |
0296f159 | 202 | #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE |
566c9c16 VK |
203 | |
204 | /* Miscellaneous configurable options */ | |
962d026b | 205 | #define CONFIG_ARCH_CPU_INIT |
0b7ff3f4 | 206 | #define CONFIG_BOARD_EARLY_INIT_F |
962d026b | 207 | #define CONFIG_DISPLAY_CPUINFO |
566c9c16 VK |
208 | #define CONFIG_BOOT_PARAMS_ADDR 0x00000100 |
209 | #define CONFIG_CMDLINE_TAG 1 | |
210 | #define CONFIG_SETUP_MEMORY_TAGS 1 | |
211 | #define CONFIG_MISC_INIT_R 1 | |
212 | #define CONFIG_ZERO_BOOTDELAY_CHECK 1 | |
213 | #define CONFIG_AUTOBOOT_KEYED 1 | |
214 | #define CONFIG_AUTOBOOT_STOP_STR " " | |
215 | #define CONFIG_AUTOBOOT_PROMPT \ | |
216 | "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay | |
217 | ||
218 | #define CONFIG_SYS_MEMTEST_START 0x00800000 | |
219 | #define CONFIG_SYS_MEMTEST_END 0x04000000 | |
220 | #define CONFIG_SYS_MALLOC_LEN (1024*1024) | |
566c9c16 VK |
221 | #define CONFIG_IDENT_STRING "-SPEAr" |
222 | #define CONFIG_SYS_LONGHELP | |
223 | #define CONFIG_SYS_PROMPT "u-boot> " | |
224 | #define CONFIG_CMDLINE_EDITING | |
225 | #define CONFIG_SYS_CBSIZE 256 | |
226 | #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ | |
227 | sizeof(CONFIG_SYS_PROMPT) + 16) | |
228 | #define CONFIG_SYS_MAXARGS 16 | |
229 | #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE | |
230 | #define CONFIG_SYS_LOAD_ADDR 0x00800000 | |
231 | #define CONFIG_SYS_CONSOLE_INFO_QUIET 1 | |
566c9c16 | 232 | |
cc4b5a34 VK |
233 | #define CONFIG_SYS_FLASH_EMPTY_INFO |
234 | ||
566c9c16 VK |
235 | /* Stack sizes */ |
236 | #define CONFIG_STACKSIZE (128*1024) | |
237 | ||
238 | #ifdef CONFIG_USE_IRQ | |
239 | #define CONFIG_STACKSIZE_IRQ (4*1024) | |
240 | #define CONFIG_STACKSIZE_FIQ (4*1024) | |
241 | #endif | |
242 | ||
243 | /* Physical Memory Map */ | |
244 | #define CONFIG_NR_DRAM_BANKS 1 | |
245 | #define PHYS_SDRAM_1 0x00000000 | |
246 | #define PHYS_SDRAM_1_MAXSIZE 0x40000000 | |
247 | ||
a39fcfb2 SH |
248 | #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 |
249 | #define CONFIG_SYS_INIT_RAM_ADDR 0xD2800000 | |
250 | #define CONFIG_SYS_INIT_RAM_SIZE 0x2000 | |
251 | ||
252 | #define CONFIG_SYS_INIT_SP_OFFSET \ | |
253 | (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) | |
254 | ||
255 | #define CONFIG_SYS_INIT_SP_ADDR \ | |
256 | (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) | |
257 | ||
566c9c16 | 258 | #endif |