uboot/include/configs/siemens-am33x-common.h
<<
>>
Prefs
   1/*
   2 * siemens am33x common board options
   3 * (C) Copyright 2013 Siemens Schweiz AG
   4 * (C) Heiko Schocher, DENX Software Engineering, hs@denx.de.
   5 *
   6 * Based on:
   7 * U-Boot file:/include/configs/am335x_evm.h
   8 *
   9 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
  10 *
  11 * SPDX-License-Identifier:     GPL-2.0+
  12 */
  13
  14#ifndef __CONFIG_SIEMENS_AM33X_COMMON_H
  15#define __CONFIG_SIEMENS_AM33X_COMMON_H
  16
  17#define CONFIG_AM33XX
  18#define CONFIG_OMAP
  19
  20#include <asm/arch/omap.h>
  21
  22#define CONFIG_DMA_COHERENT
  23#define CONFIG_DMA_COHERENT_SIZE        (1 << 20)
  24
  25#define CONFIG_ENV_SIZE                 (0x2000)
  26#define CONFIG_SYS_MALLOC_LEN           (16 * 1024 * 1024)
  27#define CONFIG_SYS_LONGHELP             /* undef to save memory */
  28#define CONFIG_BOARD_LATE_INIT
  29#define CONFIG_SYS_NO_FLASH
  30#ifdef CONFIG_SIEMENS_MACH_TYPE
  31#define CONFIG_MACH_TYPE                CONFIG_SIEMENS_MACH_TYPE
  32#endif
  33
  34#define CONFIG_CMDLINE_TAG              /* enable passing of ATAGs */
  35#define CONFIG_SETUP_MEMORY_TAGS
  36#define CONFIG_INITRD_TAG
  37
  38/* commands to include */
  39
  40#define CONFIG_ENV_VARS_UBOOT_CONFIG
  41#ifndef CONFIG_SPL_BUILD
  42#define CONFIG_ROOTPATH         "/opt/eldk"
  43#endif
  44
  45#define CONFIG_ENV_OVERWRITE            1
  46#define CONFIG_ENV_IS_NOWHERE
  47
  48#define CONFIG_SYS_LONGHELP
  49#define CONFIG_CMDLINE_EDITING
  50#define CONFIG_AUTO_COMPLETE
  51#define CONFIG_SYS_AUTOLOAD     "yes"
  52
  53/* Clock Defines */
  54#define V_OSCK                          24000000  /* Clock output from T2 */
  55#define V_SCLK                          (V_OSCK)
  56
  57/* We set the max number of command args high to avoid HUSH bugs. */
  58#define CONFIG_SYS_MAXARGS              32
  59
  60/* Console I/O Buffer Size */
  61#define CONFIG_SYS_CBSIZE               1024
  62
  63/* Print Buffer Size */
  64#define CONFIG_SYS_PBSIZE               (CONFIG_SYS_CBSIZE \
  65                                        + sizeof(CONFIG_SYS_PROMPT) + 16)
  66
  67/* Boot Argument Buffer Size */
  68#define CONFIG_SYS_BARGSIZE             CONFIG_SYS_CBSIZE
  69
  70/*
  71 * memtest works on 8 MB in DRAM after skipping 32MB from
  72 * start addr of ram disk
  73 */
  74#define CONFIG_SYS_MEMTEST_START        (PHYS_DRAM_1 + (64 * 1024 * 1024))
  75#define CONFIG_SYS_MEMTEST_END          (CONFIG_SYS_MEMTEST_START \
  76                                        + (8 * 1024 * 1024))
  77
  78#define CONFIG_SYS_LOAD_ADDR            0x81000000 /* Default load address */
  79
  80#define CONFIG_GENERIC_MMC
  81#define CONFIG_OMAP_HSMMC
  82#define CONFIG_DOS_PARTITION
  83
  84#define CONFIG_SPI
  85#define CONFIG_OMAP3_SPI
  86#define CONFIG_MTD_DEVICE
  87#define CONFIG_SF_DEFAULT_SPEED         (75000000)
  88
  89 /* Physical Memory Map */
  90#define CONFIG_NR_DRAM_BANKS            1               /*  1 bank of DRAM */
  91#define PHYS_DRAM_1                     0x80000000      /* DRAM Bank #1 */
  92
  93#define CONFIG_SYS_SDRAM_BASE           PHYS_DRAM_1
  94#define CONFIG_SYS_INIT_SP_ADDR         (NON_SECURE_SRAM_END - \
  95                                                GENERATED_GBL_DATA_SIZE)
  96 /* Platform/Board specific defs */
  97#define CONFIG_SYS_TIMERBASE            0x48040000      /* Use Timer2 */
  98#define CONFIG_SYS_PTV                  2       /* Divisor: 2^(PTV+1) => 8 */
  99
 100/* NS16550 Configuration */
 101#ifdef CONFIG_SPL_BUILD
 102#define CONFIG_SYS_NS16550_SERIAL
 103#define CONFIG_SYS_NS16550_REG_SIZE     (-4)
 104#endif
 105#define CONFIG_SYS_NS16550_CLK          (48000000)
 106#define CONFIG_SYS_NS16550_COM1         0x44e09000
 107#define CONFIG_SYS_NS16550_COM4         0x481a6000
 108
 109#define CONFIG_BAUDRATE         115200
 110
 111#define CONFIG_SERIAL1                  1
 112#define CONFIG_CONS_INDEX               1
 113
 114/* I2C Configuration */
 115#define CONFIG_I2C
 116#define CONFIG_SYS_I2C
 117#define CONFIG_SYS_OMAP24_I2C_SPEED     100000
 118#define CONFIG_SYS_OMAP24_I2C_SLAVE     1
 119#define CONFIG_SYS_I2C_OMAP24XX
 120
 121/* Defines for SPL */
 122#define CONFIG_SPL_FRAMEWORK
 123#define CONFIG_SPL_TEXT_BASE            0x402F0400
 124#define CONFIG_SPL_MAX_SIZE             (SRAM_SCRATCH_SPACE_ADDR - \
 125                                         CONFIG_SPL_TEXT_BASE)
 126
 127#define CONFIG_SPL_BSS_START_ADDR       0x80000000
 128#define CONFIG_SPL_BSS_MAX_SIZE         0x80000         /* 512 KB */
 129
 130#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION      1
 131#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
 132#define CONFIG_FS_FAT
 133
 134#define CONFIG_SPL_SPI_LOAD
 135#define CONFIG_SYS_SPI_U_BOOT_OFFS      0x20000
 136
 137#define CONFIG_SPL_LDSCRIPT             "arch/arm/mach-omap2/am33xx/u-boot-spl.lds"
 138
 139#define CONFIG_SPL_BOARD_INIT
 140#define CONFIG_SPL_NAND_AM33XX_BCH
 141#define CONFIG_SPL_NAND_BASE
 142#define CONFIG_SPL_NAND_DRIVERS
 143#define CONFIG_SPL_NAND_ECC
 144#define CONFIG_SYS_NAND_ONFI_DETECTION
 145#define CONFIG_SYS_NAND_5_ADDR_CYCLE
 146#define CONFIG_SYS_NAND_PAGE_COUNT      (CONFIG_SYS_NAND_BLOCK_SIZE / \
 147                                         CONFIG_SYS_NAND_PAGE_SIZE)
 148#define CONFIG_SYS_NAND_PAGE_SIZE       2048
 149#define CONFIG_SYS_NAND_OOBSIZE         64
 150#define CONFIG_SYS_NAND_BLOCK_SIZE      (128*1024)
 151#define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
 152#define CONFIG_SYS_NAND_ECCPOS          { 2, 3, 4, 5, 6, 7, 8, 9, \
 153                                         10, 11, 12, 13, 14, 15, 16, 17, \
 154                                         18, 19, 20, 21, 22, 23, 24, 25, \
 155                                         26, 27, 28, 29, 30, 31, 32, 33, \
 156                                         34, 35, 36, 37, 38, 39, 40, 41, \
 157                                         42, 43, 44, 45, 46, 47, 48, 49, \
 158                                         50, 51, 52, 53, 54, 55, 56, 57, }
 159
 160#define CONFIG_SYS_NAND_ECCSIZE         512
 161#define CONFIG_SYS_NAND_ECCBYTES        14
 162#define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH8_CODE_HW
 163
 164#define CONFIG_SYS_NAND_ECCSTEPS        4
 165#define CONFIG_SYS_NAND_ECCTOTAL        (CONFIG_SYS_NAND_ECCBYTES * \
 166                                                CONFIG_SYS_NAND_ECCSTEPS)
 167
 168#define CONFIG_SYS_NAND_U_BOOT_START    CONFIG_SYS_TEXT_BASE
 169
 170#define CONFIG_SYS_NAND_U_BOOT_OFFS     0x80000
 171
 172/*
 173 * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
 174 * 64 bytes before this address should be set aside for u-boot.img's
 175 * header. That is 0x800FFFC0--0x80100000 should not be used for any
 176 * other needs.
 177 */
 178#define CONFIG_SYS_TEXT_BASE            0x80100000
 179#define CONFIG_SYS_SPL_MALLOC_START     0x80208000
 180#define CONFIG_SYS_SPL_MALLOC_SIZE      0x100000
 181
 182/*
 183 * Since SPL did pll and ddr initialization for us,
 184 * we don't need to do it twice.
 185 */
 186#ifndef CONFIG_SPL_BUILD
 187#define CONFIG_SKIP_LOWLEVEL_INIT
 188#endif
 189
 190#ifndef CONFIG_SPL_BUILD
 191/*
 192 * USB configuration
 193 */
 194#define CONFIG_USB_MUSB_DSPS
 195#define CONFIG_ARCH_MISC_INIT
 196#define CONFIG_USB_MUSB_PIO_ONLY
 197#define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 198#undef CONFIG_USB_GADGET_DUALSPEED
 199
 200#define CONFIG_AM335X_USB0
 201#define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL
 202#define CONFIG_AM335X_USB1
 203#define CONFIG_AM335X_USB1_MODE MUSB_HOST
 204
 205#ifdef CONFIG_USB_MUSB_GADGET
 206#define CONFIG_USB_ETHER
 207#define CONFIG_USB_ETH_RNDIS
 208#define CONFIG_USBNET_HOST_ADDR "de:ad:be:af:00:00"
 209#endif /* CONFIG_USB_MUSB_GADGET */
 210
 211/* USB DRACO ID as default */
 212#define CONFIG_USBD_HS
 213
 214/* USB Device Firmware Update support */
 215#define CONFIG_SYS_DFU_DATA_BUF_SIZE    (1 << 20)
 216#define DFU_MANIFEST_POLL_TIMEOUT       25000
 217
 218#endif /* CONFIG_SPL_BUILD */
 219
 220/*
 221 * Default to using SPI for environment, etc.  We have multiple copies
 222 * of SPL as the ROM will check these locations.
 223 * 0x0 - 0x20000 : First copy of SPL
 224 * 0x20000 - 0x40000 : Second copy of SPL
 225 * 0x40000 - 0x60000 : Third copy of SPL
 226 * 0x60000 - 0x80000 : Fourth copy of SPL
 227 * 0x80000 - 0xDF000 : U-Boot
 228 * 0xDF000 - 0xE0000 : U-Boot Environment
 229 * 0xE0000 - 0x442000 : Linux Kernel
 230 * 0x442000 - 0x800000 : Userland
 231 */
 232#if defined(CONFIG_SPI_BOOT)
 233# undef CONFIG_ENV_IS_NOWHERE
 234# define CONFIG_ENV_IS_IN_SPI_FLASH
 235# define CONFIG_ENV_SPI_MAX_HZ          CONFIG_SF_DEFAULT_SPEED
 236# define CONFIG_ENV_OFFSET              (892 << 10) /* 892 KiB in */
 237# define CONFIG_ENV_SECT_SIZE           (4 << 10) /* 4 KB sectors */
 238#endif /* SPI support */
 239
 240/* Unsupported features */
 241#undef CONFIG_USE_IRQ
 242
 243#define CONFIG_DRIVER_TI_CPSW
 244#define CONFIG_MII
 245#define CONFIG_PHY_GIGE
 246#define CONFIG_PHYLIB
 247#define CONFIG_BOOTP_DEFAULT
 248#define CONFIG_BOOTP_DNS
 249#define CONFIG_BOOTP_DNS2
 250#define CONFIG_BOOTP_SEND_HOSTNAME
 251#define CONFIG_BOOTP_GATEWAY
 252#define CONFIG_BOOTP_SUBNETMASK
 253#define CONFIG_NET_RETRY_COUNT         10
 254
 255#define CONFIG_NAND
 256/* NAND support */
 257#ifdef CONFIG_NAND
 258#define CONFIG_CMD_NAND
 259
 260/* UBI Support */
 261#ifndef CONFIG_SPL_BUILD
 262#define CONFIG_CMD_MTDPARTS
 263#define CONFIG_MTD_PARTITIONS
 264#define CONFIG_MTD_DEVICE
 265#define CONFIG_RBTREE
 266#define CONFIG_LZO
 267#define CONFIG_CMD_UBIFS
 268#endif
 269
 270/* Commen environment */
 271#define CONFIG_PREBOOT
 272#define COMMON_ENV_DFU_ARGS     "dfu_args=run bootargs_defaults;" \
 273                                "setenv bootargs ${bootargs};" \
 274                                "mtdparts default;" \
 275                                "draco_led 1;" \
 276                                "dfu 0 nand 0;" \
 277                                "draco_led 0;\0" \
 278
 279#define COMMON_ENV_NAND_BOOT \
 280                "nand_boot=echo Booting from nand; " \
 281                "if test ${upgrade_available} -eq 1; then " \
 282                        "if test ${bootcount} -gt ${bootlimit}; " \
 283                                "then " \
 284                                "setenv upgrade_available 0;" \
 285                                "setenv ${partitionset_active} true;" \
 286                                "if test -n ${A}; then " \
 287                                        "setenv partitionset_active B; " \
 288                                        "env delete A; " \
 289                                "fi;" \
 290                                "if test -n ${B}; then " \
 291                                        "setenv partitionset_active A; " \
 292                                        "env delete B; " \
 293                                "fi;" \
 294                                "saveenv; " \
 295                        "fi;" \
 296                "fi;" \
 297                "echo set ${partitionset_active}...;" \
 298                "run nand_args; "
 299
 300#define COMMON_ENV_NAND_CMDS    "flash_self=run nand_boot\0" \
 301                                "flash_self_test=setenv testargs test; " \
 302                                        "run nand_boot\0" \
 303                                "dfu_start=echo Preparing for dfu mode ...; " \
 304                                "run dfu_args; \0"
 305
 306#define COMMON_ENV_SETTINGS \
 307        "verify=no \0" \
 308        "project_dir=targetdir\0" \
 309        "upgrade_available=0\0" \
 310        "altbootcmd=run bootcmd\0" \
 311        "bootlimit=3\0" \
 312        "partitionset_active=A\0" \
 313        "loadaddr=0x82000000\0" \
 314        "kloadaddr=0x81000000\0" \
 315        "script_addr=0x81900000\0" \
 316        "console=console=ttyMTD,mtdoops console=ttyO0,115200n8 panic=5\0" \
 317        "nfsopts=nolock rw\0" \
 318        "ip_method=none\0" \
 319        "bootenv=uEnv.txt\0" \
 320        "bootargs_defaults=setenv bootargs " \
 321                "console=${console} " \
 322                "${testargs} " \
 323                "${optargs}\0" \
 324        "siemens_help=echo; "\
 325                "echo Type 'run flash_self' to use kernel and root " \
 326                "filesystem on memory; echo Type 'run flash_self_test' to " \
 327                "use kernel and root filesystem on memory, boot in test " \
 328                "mode; echo Not ready yet: 'run flash_nfs' to use kernel " \
 329                "from memory and root filesystem over NFS; echo Type " \
 330                "'run net_nfs' to get Kernel over TFTP and mount root " \
 331                "filesystem over NFS; " \
 332                "echo Set partitionset_active variable to 'A' " \
 333                "or 'B' to select kernel and rootfs partition; " \
 334                "echo" \
 335                "\0"
 336
 337/*
 338 * Variant 1 partition layout
 339 * chip-size = 256MiB
 340 *|         name |        size |           address area |
 341 *-------------------------------------------------------
 342 *|          spl | 128.000 KiB | 0x       0..0x   1ffff |
 343 *|  spl.backup1 | 128.000 KiB | 0x   20000..0x   3ffff |
 344 *|  spl.backup2 | 128.000 KiB | 0x   40000..0x   5ffff |
 345 *|  spl.backup3 | 128.000 KiB | 0x   60000..0x   7ffff |
 346 *|       u-boot |   1.875 MiB | 0x   80000..0x  25ffff |
 347 *|    uboot.env | 128.000 KiB | 0x  260000..0x  27ffff |
 348 *|     kernel_a |   5.000 MiB | 0x  280000..0x  77ffff |
 349 *|     kernel_b |   5.000 MiB | 0x  780000..0x  c7ffff |
 350 *|      mtdoops |   8.000 MiB | 0x  c80000..0x 147ffff |
 351 *|       rootfs | 235.500 MiB | 0x 1480000..0x fffffff |
 352 *-------------------------------------------------------
 353 */
 354#define MTDIDS_NAME_STR         "omap2-nand.0"
 355#define MTDIDS_DEFAULT          "nand0=" MTDIDS_NAME_STR
 356#define MTDPARTS_DEFAULT_V1     "mtdparts=" MTDIDS_NAME_STR ":" \
 357                                        "128k(spl),"            \
 358                                        "128k(spl.backup1),"    \
 359                                        "128k(spl.backup2),"    \
 360                                        "128k(spl.backup3),"    \
 361                                        "1920k(u-boot),"        \
 362                                        "128k(uboot.env),"      \
 363                                        "5120k(kernel_a),"      \
 364                                        "5120k(kernel_b),"      \
 365                                        "8192k(mtdoops),"       \
 366                                        "-(rootfs)"
 367
 368#define DFU_ALT_INFO_NAND_V1 \
 369        "spl part 0 1;" \
 370        "spl.backup1 part 0 2;" \
 371        "spl.backup2 part 0 3;" \
 372        "spl.backup3 part 0 4;" \
 373        "u-boot part 0 5;" \
 374        "u-boot.env part 0 6;" \
 375        "kernel_a part 0 7;" \
 376        "kernel_b part 0 8;" \
 377        "rootfs partubi 0 10"
 378
 379#define CONFIG_ENV_SETTINGS_NAND_V1 \
 380        "nand_active_ubi_vol=rootfs_a\0" \
 381        "nand_active_ubi_vol_A=rootfs_a\0" \
 382        "nand_active_ubi_vol_B=rootfs_b\0" \
 383        "nand_root_fs_type=ubifs rootwait=1\0" \
 384        "nand_src_addr=0x280000\0" \
 385        "nand_src_addr_A=0x280000\0" \
 386        "nand_src_addr_B=0x780000\0" \
 387        "nand_args=run bootargs_defaults;" \
 388                "mtdparts default;" \
 389                "setenv ${partitionset_active} true;" \
 390                "if test -n ${A}; then " \
 391                        "setenv nand_active_ubi_vol ${nand_active_ubi_vol_A};" \
 392                        "setenv nand_src_addr ${nand_src_addr_A};" \
 393                "fi;" \
 394                "if test -n ${B}; then " \
 395                        "setenv nand_active_ubi_vol ${nand_active_ubi_vol_B};" \
 396                        "setenv nand_src_addr ${nand_src_addr_B};" \
 397                "fi;" \
 398                "setenv nand_root ubi0:${nand_active_ubi_vol} rw " \
 399                "ubi.mtd=9,${ubi_off};" \
 400                "setenv bootargs ${bootargs} " \
 401                "root=${nand_root} noinitrd ${mtdparts} " \
 402                "rootfstype=${nand_root_fs_type} ip=${ip_method} " \
 403                "console=ttyMTD,mtdoops console=ttyO0,115200n8 mtdoops.mtddev" \
 404                "=mtdoops\0" \
 405        COMMON_ENV_DFU_ARGS \
 406                "dfu_alt_info=" DFU_ALT_INFO_NAND_V1 "\0" \
 407        COMMON_ENV_NAND_BOOT \
 408                "nand read.i ${kloadaddr} ${nand_src_addr} " \
 409                "${nand_img_size}; bootm ${kloadaddr}\0" \
 410        COMMON_ENV_NAND_CMDS
 411
 412#define CONFIG_ENV_SETTINGS_V1 \
 413                COMMON_ENV_SETTINGS \
 414        "net_args=run bootargs_defaults;" \
 415                "mtdparts default;" \
 416                "setenv bootfile ${project_dir}/kernel/uImage;" \
 417                "setenv rootpath /home/projects/${project_dir}/rootfs;" \
 418                "setenv bootargs ${bootargs} " \
 419                "root=/dev/nfs ${mtdparts} " \
 420                "nfsroot=${serverip}:${rootpath},${nfsopts} " \
 421                "ip=${ipaddr}:${serverip}:" \
 422                "${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
 423        "net_nfs=echo Booting from network ...; " \
 424                "run net_args; " \
 425                "tftpboot ${kloadaddr} ${serverip}:${bootfile}; " \
 426                "bootm ${kloadaddr}\0"
 427
 428/*
 429 * Variant 2 partition layout
 430 * chip-size = 256MiB or 512 MiB
 431 *|         name |        size |           address area |
 432 *-------------------------------------------------------
 433 *|          spl | 128.000 KiB | 0x       0..0x   1ffff |
 434 *|  spl.backup1 | 128.000 KiB | 0x   20000..0x   3ffff |
 435 *|  spl.backup2 | 128.000 KiB | 0x   40000..0x   5ffff |
 436 *|  spl.backup3 | 128.000 KiB | 0x   60000..0x   7ffff |
 437 *|       u-boot |   1.875 MiB | 0x   80000..0x  25ffff |
 438 *|   uboot.env0 | 512.000 KiB | 0x  260000..0x  2Dffff |
 439 *|   uboot.env1 | 512.000 KiB | 0x  2E0000..0x  35ffff |
 440 *|      mtdoops | 512.000 KiB | 0x  360000..0x  3dffff |
 441 *| (256) rootfs | 252.125 MiB | 0x  3E0000..0x fffffff |
 442 *| (512) rootfs | 508.125 MiB | 0x  3E0000..0x1fffffff |
 443 *-------------------------------------------------------
 444 */
 445
 446#define MTDPARTS_DEFAULT_V2     "mtdparts=" MTDIDS_NAME_STR ":" \
 447                                        "128k(spl)," \
 448                                        "128k(spl.backup1)," \
 449                                        "128k(spl.backup2)," \
 450                                        "128k(spl.backup3)," \
 451                                        "1920k(u-boot)," \
 452                                        "512k(u-boot.env0)," \
 453                                        "512k(u-boot.env1)," \
 454                                        "512k(mtdoops)," \
 455                                        "-(rootfs)"
 456
 457#define DFU_ALT_INFO_NAND_V2 \
 458        "spl part 0 1;" \
 459        "spl.backup1 part 0 2;" \
 460        "spl.backup2 part 0 3;" \
 461        "spl.backup3 part 0 4;" \
 462        "u-boot part 0 5;" \
 463        "u-boot.env0 part 0 6;" \
 464        "u-boot.env1 part 0 7;" \
 465        "rootfs partubi 0 9" \
 466
 467#define CONFIG_ENV_SETTINGS_NAND_V2 \
 468        "nand_active_ubi_vol=rootfs_a\0" \
 469        "rootfs_name=rootfs\0" \
 470        "kernel_name=uImage\0"\
 471        "nand_root_fs_type=ubifs rootwait=1\0" \
 472        "nand_args=run bootargs_defaults;" \
 473                "mtdparts default;" \
 474                "setenv ${partitionset_active} true;" \
 475                "if test -n ${A}; then " \
 476                        "setenv nand_active_ubi_vol ${rootfs_name}_a;" \
 477                "fi;" \
 478                "if test -n ${B}; then " \
 479                        "setenv nand_active_ubi_vol ${rootfs_name}_b;" \
 480                "fi;" \
 481                "setenv nand_root ubi0:${nand_active_ubi_vol} rw " \
 482                "ubi.mtd=rootfs,2048;" \
 483                "setenv bootargs ${bootargs} " \
 484                "root=${nand_root} noinitrd ${mtdparts} " \
 485                "rootfstype=${nand_root_fs_type} ip=${ip_method} " \
 486                "console=ttyMTD,mtdoops console=ttyO0,115200n8 mtdoops.mtddev" \
 487                "=mtdoops\0" \
 488        COMMON_ENV_DFU_ARGS \
 489                "dfu_alt_info=" DFU_ALT_INFO_NAND_V2 "\0" \
 490        COMMON_ENV_NAND_BOOT \
 491                "ubi part rootfs ${ubi_off};" \
 492                "ubifsmount ubi0:${nand_active_ubi_vol};" \
 493                "ubifsload ${kloadaddr} boot/${kernel_name};" \
 494                "ubifsload ${loadaddr} boot/${dtb_name}.dtb;" \
 495                "bootm ${kloadaddr} - ${loadaddr}\0" \
 496        "nand_boot_backup=ubifsload ${loadaddr} boot/am335x-draco.dtb;" \
 497                "bootm ${kloadaddr} - ${loadaddr}\0" \
 498        COMMON_ENV_NAND_CMDS
 499
 500#define CONFIG_ENV_SETTINGS_V2 \
 501                COMMON_ENV_SETTINGS \
 502        "net_args=run bootargs_defaults;" \
 503                "mtdparts default;" \
 504                "setenv bootfile ${project_dir}/kernel/uImage;" \
 505                "setenv bootdtb ${project_dir}/kernel/dtb;" \
 506                "setenv rootpath /home/projects/${project_dir}/rootfs;" \
 507                "setenv bootargs ${bootargs} " \
 508                "root=/dev/nfs ${mtdparts} " \
 509                "nfsroot=${serverip}:${rootpath},${nfsopts} " \
 510                "ip=${ipaddr}:${serverip}:" \
 511                "${gatewayip}:${netmask}:${hostname}:eth0:off\0" \
 512        "net_nfs=echo Booting from network ...; " \
 513                "run net_args; " \
 514                "tftpboot ${kloadaddr} ${serverip}:${bootfile}; " \
 515                "tftpboot ${loadaddr} ${serverip}:${bootdtb}; " \
 516                "bootm ${kloadaddr} - ${loadaddr}\0"
 517
 518/*
 519 * Variant 3 partition layout
 520 * chip-size = 512MiB
 521 *|         name |        size |           address area |
 522 *-------------------------------------------------------
 523 *|          spl | 128.000 KiB | 0x       0..0x   1ffff |
 524 *|  spl.backup1 | 128.000 KiB | 0x   20000..0x   3ffff |
 525 *|  spl.backup2 | 128.000 KiB | 0x   40000..0x   5ffff |
 526 *|  spl.backup3 | 128.000 KiB | 0x   60000..0x   7ffff |
 527 *|       u-boot |   1.875 MiB | 0x   80000..0x  25ffff |
 528 *|   uboot.env0 | 512.000 KiB | 0x  260000..0x  2Dffff |
 529 *|   uboot.env1 | 512.000 KiB | 0x  2E0000..0x  35ffff |
 530 *|       rootfs | 300.000 MiB | 0x  360000..0x12f5ffff |
 531 *|      mtdoops | 512.000 KiB | 0x12f60000..0x12fdffff |
 532 *|configuration | 104.125 MiB | 0x12fe0000..0x1fffffff |
 533 *-------------------------------------------------------
 534 */
 535
 536#define MTDPARTS_DEFAULT_V3     "mtdparts=" MTDIDS_NAME_STR ":" \
 537                                        "128k(spl),"            \
 538                                        "128k(spl.backup1),"    \
 539                                        "128k(spl.backup2),"    \
 540                                        "128k(spl.backup3),"    \
 541                                        "1920k(u-boot),"        \
 542                                        "512k(u-boot.env0),"    \
 543                                        "512k(u-boot.env1),"    \
 544                                        "300m(rootfs),"         \
 545                                        "512k(mtdoops),"        \
 546                                        "-(configuration)"
 547
 548#define CONFIG_NAND_OMAP_GPMC
 549#define CONFIG_NAND_OMAP_ELM
 550#define CONFIG_SYS_NAND_BASE            (0x08000000)    /* physical address */
 551                                                        /* to access nand at */
 552                                                        /* CS0 */
 553#define CONFIG_SYS_MAX_NAND_DEVICE      1               /* Max number of NAND
 554                                                           devices */
 555#if !defined(CONFIG_SPI_BOOT)
 556#undef CONFIG_ENV_IS_NOWHERE
 557#define CONFIG_ENV_IS_IN_NAND
 558#define CONFIG_ENV_OFFSET               0x260000 /* environment starts here */
 559#define CONFIG_SYS_ENV_SECT_SIZE        (128 << 10)     /* 128 KiB */
 560#endif
 561#endif
 562
 563#define CONFIG_OMAP_GPIO
 564
 565/* Gpio cmd support */
 566
 567/* Watchdog */
 568#define CONFIG_HW_WATCHDOG
 569
 570/* Reboot after 60 sec if bootcmd fails */
 571#define CONFIG_RESET_TO_RETRY
 572#define CONFIG_BOOT_RETRY_TIME 60
 573
 574#define CONFIG_BOOTCOUNT_LIMIT
 575#define CONFIG_BOOTCOUNT_ENV
 576
 577#endif  /* ! __CONFIG_SIEMENS_AM33X_COMMON_H */
 578