1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef __CONFIG_SIEMENS_AM33X_COMMON_H
14#define __CONFIG_SIEMENS_AM33X_COMMON_H
15
16#include <asm/arch/omap.h>
17
18#define CONFIG_DMA_COHERENT
19#define CONFIG_DMA_COHERENT_SIZE (1 << 20)
20
21#define CONFIG_SYS_MALLOC_LEN (16 * 1024 * 1024)
22#ifdef CONFIG_SIEMENS_MACH_TYPE
23#define CONFIG_MACH_TYPE CONFIG_SIEMENS_MACH_TYPE
24#endif
25
26#define CONFIG_CMDLINE_TAG
27#define CONFIG_SETUP_MEMORY_TAGS
28#define CONFIG_INITRD_TAG
29
30
31
32#ifndef CONFIG_SPL_BUILD
33#define CONFIG_ROOTPATH "/opt/eldk"
34#endif
35
36#define CONFIG_SYS_AUTOLOAD "yes"
37
38
39#define V_OSCK 24000000
40#define V_SCLK (V_OSCK)
41
42
43#define CONFIG_SYS_MAXARGS 32
44
45
46#define CONFIG_SYS_CBSIZE 1024
47
48
49#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
50
51
52
53
54
55
56#define CONFIG_SYS_LOAD_ADDR 0x81000000
57
58
59#define PHYS_DRAM_1 0x80000000
60
61#define CONFIG_SYS_SDRAM_BASE PHYS_DRAM_1
62#define CONFIG_SYS_INIT_SP_ADDR (NON_SECURE_SRAM_END - \
63 GENERATED_GBL_DATA_SIZE)
64
65#define CONFIG_SYS_TIMERBASE 0x48040000
66#define CONFIG_SYS_PTV 2
67
68
69#define CONFIG_SYS_NS16550_SERIAL
70#define CONFIG_SYS_NS16550_CLK (48000000)
71#define CONFIG_SYS_NS16550_COM1 0x44e09000
72#define CONFIG_SYS_NS16550_COM4 0x481a6000
73
74
75
76#define CONFIG_I2C
77#define CONFIG_SYS_I2C
78
79
80#define CONFIG_SPL_MAX_SIZE (SRAM_SCRATCH_SPACE_ADDR - \
81 CONFIG_SPL_TEXT_BASE)
82
83#define CONFIG_SPL_BSS_START_ADDR 0x80000000
84#define CONFIG_SPL_BSS_MAX_SIZE 0x80000
85
86#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
87
88#define CONFIG_SYS_NAND_ONFI_DETECTION
89#define CONFIG_SYS_NAND_5_ADDR_CYCLE
90#define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \
91 CONFIG_SYS_NAND_PAGE_SIZE)
92#define CONFIG_SYS_NAND_PAGE_SIZE 2048
93#define CONFIG_SYS_NAND_OOBSIZE 64
94#define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
95#define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
96#define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \
97 10, 11, 12, 13, 14, 15, 16, 17, \
98 18, 19, 20, 21, 22, 23, 24, 25, \
99 26, 27, 28, 29, 30, 31, 32, 33, \
100 34, 35, 36, 37, 38, 39, 40, 41, \
101 42, 43, 44, 45, 46, 47, 48, 49, \
102 50, 51, 52, 53, 54, 55, 56, 57, }
103
104#define CONFIG_SYS_NAND_ECCSIZE 512
105#define CONFIG_SYS_NAND_ECCBYTES 14
106#define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW
107
108#define CONFIG_SYS_NAND_ECCSTEPS 4
109#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \
110 CONFIG_SYS_NAND_ECCSTEPS)
111
112#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
113
114#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
115
116
117
118
119
120
121
122#define CONFIG_SYS_SPL_MALLOC_START 0x80208000
123#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000
124
125
126
127
128
129#ifndef CONFIG_SPL_BUILD
130#define CONFIG_SKIP_LOWLEVEL_INIT
131#endif
132
133#ifndef CONFIG_SPL_BUILD
134
135
136
137#define CONFIG_AM335X_USB0
138#define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL
139#define CONFIG_AM335X_USB1
140#define CONFIG_AM335X_USB1_MODE MUSB_HOST
141
142
143#define CONFIG_USBD_HS
144
145
146#define CONFIG_SYS_DFU_DATA_BUF_SIZE (1 << 20)
147#define DFU_MANIFEST_POLL_TIMEOUT 25000
148
149#endif
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164#define CONFIG_NET_RETRY_COUNT 10
165
166
167#ifdef CONFIG_MTD_RAW_NAND
168
169
170
171#define COMMON_ENV_DFU_ARGS "dfu_args=run bootargs_defaults;" \
172 "setenv bootargs ${bootargs};" \
173 "mtdparts default;" \
174 "draco_led 1;" \
175 "dfu 0 nand 0;" \
176 "draco_led 0;\0" \
177
178#define COMMON_ENV_NAND_BOOT \
179 "nand_boot=echo Booting from nand; " \
180 "if test ${upgrade_available} -eq 1; then " \
181 "if test ${bootcount} -gt ${bootlimit}; " \
182 "then " \
183 "setenv upgrade_available 0;" \
184 "setenv ${partitionset_active} true;" \
185 "if test -n ${A}; then " \
186 "setenv partitionset_active B; " \
187 "env delete A; " \
188 "fi;" \
189 "if test -n ${B}; then " \
190 "setenv partitionset_active A; " \
191 "env delete B; " \
192 "fi;" \
193 "saveenv; " \
194 "fi;" \
195 "fi;" \
196 "echo set ${partitionset_active}...;" \
197 "run nand_args; "
198
199#define COMMON_ENV_NAND_CMDS "flash_self=run nand_boot\0" \
200 "flash_self_test=setenv testargs test; " \
201 "run nand_boot\0" \
202 "dfu_start=echo Preparing for dfu mode ...; " \
203 "run dfu_args; \0"
204
205#define COMMON_ENV_SETTINGS \
206 "verify=no \0" \
207 "project_dir=targetdir\0" \
208 "upgrade_available=0\0" \
209 "altbootcmd=run bootcmd\0" \
210 "partitionset_active=A\0" \
211 "loadaddr=0x82000000\0" \
212 "kloadaddr=0x81000000\0" \
213 "script_addr=0x81900000\0" \
214 "console=console=ttyMTD,mtdoops console=ttyO0,115200n8 panic=5\0" \
215 "nfsopts=nolock rw\0" \
216 "ip_method=none\0" \
217 "bootenv=uEnv.txt\0" \
218 "bootargs_defaults=setenv bootargs " \
219 "console=${console} " \
220 "${testargs} " \
221 "${optargs}\0" \
222 "siemens_help=echo; "\
223 "echo Type 'run flash_self' to use kernel and root " \
224 "filesystem on memory; echo Type 'run flash_self_test' to " \
225 "use kernel and root filesystem on memory, boot in test " \
226 "mode; echo Not ready yet: 'run flash_nfs' to use kernel " \
227 "from memory and root filesystem over NFS; echo Type " \
228 "'run net_nfs' to get Kernel over TFTP and mount root " \
229 "filesystem over NFS; " \
230 "echo Set partitionset_active variable to 'A' " \
231 "or 'B' to select kernel and rootfs partition; " \
232 "echo" \
233 "\0"
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265#define DFU_ALT_INFO_NAND_V1 \
266 "spl part 0 1;" \
267 "spl.backup1 part 0 2;" \
268 "spl.backup2 part 0 3;" \
269 "spl.backup3 part 0 4;" \
270 "u-boot part 0 5;" \
271 "u-boot.env part 0 6;" \
272 "kernel_a part 0 7;" \
273 "kernel_b part 0 8;" \
274 "rootfs partubi 0 10"
275
276#define CONFIG_ENV_SETTINGS_NAND_V1 \
277 "nand_active_ubi_vol=rootfs_a\0" \
278 "nand_active_ubi_vol_A=rootfs_a\0" \
279 "nand_active_ubi_vol_B=rootfs_b\0" \
280 "nand_root_fs_type=ubifs rootwait=1\0" \
281 "nand_src_addr=0x280000\0" \
282 "nand_src_addr_A=0x280000\0" \
283 "nand_src_addr_B=0x780000\0" \
284 "nand_args=run bootargs_defaults;" \
285 "mtdparts default;" \
286 "setenv ${partitionset_active} true;" \
287 "if test -n ${A}; then " \
288 "setenv nand_active_ubi_vol ${nand_active_ubi_vol_A};" \
289 "setenv nand_src_addr ${nand_src_addr_A};" \
290 "fi;" \
291 "if test -n ${B}; then " \
292 "setenv nand_active_ubi_vol ${nand_active_ubi_vol_B};" \
293 "setenv nand_src_addr ${nand_src_addr_B};" \
294 "fi;" \
295 "setenv nand_root ubi0:${nand_active_ubi_vol} rw " \
296 "ubi.mtd=9,${ubi_off};" \
297 "setenv bootargs ${bootargs} " \
298 "root=${nand_root} noinitrd ${mtdparts} " \
299 "rootfstype=${nand_root_fs_type} ip=${ip_method} " \
300 "console=ttyMTD,mtdoops console=ttyO0,115200n8 mtdoops.mtddev" \
301 "=mtdoops\0" \
302 COMMON_ENV_DFU_ARGS \
303 "dfu_alt_info=" DFU_ALT_INFO_NAND_V1 "\0" \
304 COMMON_ENV_NAND_BOOT \
305 "nand read.i ${kloadaddr} ${nand_src_addr} " \
306 "${nand_img_size}; bootm ${kloadaddr}\0" \
307 COMMON_ENV_NAND_CMDS
308
309#define CONFIG_ENV_SETTINGS_V1 \
310 COMMON_ENV_SETTINGS \
311 "net_args=run bootargs_defaults;" \
312 "mtdparts default;" \
313 "setenv bootfile ${project_dir}/kernel/uImage;" \
314 "setenv rootpath /home/projects/${project_dir}/rootfs;" \
315 "setenv bootargs ${bootargs} " \
316 "root=/dev/nfs ${mtdparts} " \
317 "nfsroot=${serverip}:${rootpath},${nfsopts} " \
318 "ip=${ipaddr}:${serverip}:" \
319 "${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
320 "net_nfs=echo Booting from network ...; " \
321 "run net_args; " \
322 "tftpboot ${kloadaddr} ${serverip}:${bootfile}; " \
323 "bootm ${kloadaddr}\0"
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343#define DFU_ALT_INFO_NAND_V2 \
344 "spl part 0 1;" \
345 "spl.backup1 part 0 2;" \
346 "spl.backup2 part 0 3;" \
347 "spl.backup3 part 0 4;" \
348 "u-boot part 0 5;" \
349 "u-boot.env0 part 0 6;" \
350 "u-boot.env1 part 0 7;" \
351 "rootfs partubi 0 9" \
352
353#define CONFIG_ENV_SETTINGS_NAND_V2 \
354 "nand_active_ubi_vol=rootfs_a\0" \
355 "rootfs_name=rootfs\0" \
356 "kernel_name=uImage\0"\
357 "nand_root_fs_type=ubifs rootwait=1\0" \
358 "nand_args=run bootargs_defaults;" \
359 "mtdparts default;" \
360 "setenv ${partitionset_active} true;" \
361 "if test -n ${A}; then " \
362 "setenv nand_active_ubi_vol ${rootfs_name}_a;" \
363 "fi;" \
364 "if test -n ${B}; then " \
365 "setenv nand_active_ubi_vol ${rootfs_name}_b;" \
366 "fi;" \
367 "setenv nand_root ubi0:${nand_active_ubi_vol} rw " \
368 "ubi.mtd=rootfs,2048;" \
369 "setenv bootargs ${bootargs} " \
370 "root=${nand_root} noinitrd ${mtdparts} " \
371 "rootfstype=${nand_root_fs_type} ip=${ip_method} " \
372 "console=ttyMTD,mtdoops console=ttyO0,115200n8 mtdoops.mtddev" \
373 "=mtdoops\0" \
374 COMMON_ENV_DFU_ARGS \
375 "dfu_alt_info=" DFU_ALT_INFO_NAND_V2 "\0" \
376 COMMON_ENV_NAND_BOOT \
377 "ubi part rootfs ${ubi_off};" \
378 "ubifsmount ubi0:${nand_active_ubi_vol};" \
379 "ubifsload ${kloadaddr} boot/${kernel_name};" \
380 "ubifsload ${loadaddr} boot/${dtb_name}.dtb;" \
381 "bootm ${kloadaddr} - ${loadaddr}\0" \
382 "nand_boot_backup=ubifsload ${loadaddr} boot/am335x-draco.dtb;" \
383 "bootm ${kloadaddr} - ${loadaddr}\0" \
384 COMMON_ENV_NAND_CMDS
385
386#define CONFIG_ENV_SETTINGS_V2 \
387 COMMON_ENV_SETTINGS \
388 "net_args=run bootargs_defaults;" \
389 "mtdparts default;" \
390 "setenv bootfile ${project_dir}/kernel/uImage;" \
391 "setenv bootdtb ${project_dir}/kernel/dtb;" \
392 "setenv rootpath /home/projects/${project_dir}/rootfs;" \
393 "setenv bootargs ${bootargs} " \
394 "root=/dev/nfs ${mtdparts} " \
395 "nfsroot=${serverip}:${rootpath},${nfsopts} " \
396 "ip=${ipaddr}:${serverip}:" \
397 "${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
398 "net_nfs=echo Booting from network ...; " \
399 "run net_args; " \
400 "tftpboot ${kloadaddr} ${serverip}:${bootfile}; " \
401 "tftpboot ${loadaddr} ${serverip}:${bootdtb}; " \
402 "bootm ${kloadaddr} - ${loadaddr}\0"
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435#define CONFIG_SYS_NAND_BASE (0x08000000)
436
437
438#define CONFIG_SYS_MAX_NAND_DEVICE 1
439
440#if !defined(CONFIG_SPI_BOOT)
441#define CONFIG_SYS_ENV_SECT_SIZE (128 << 10)
442#endif
443#endif
444
445
446#define CONFIG_RESET_TO_RETRY
447#define CONFIG_BOOT_RETRY_TIME 60
448
449#endif
450