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