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