uboot/include/configs/km/keymile-common.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2008-2011
   3 * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   4 *
   5 * SPDX-License-Identifier:     GPL-2.0+
   6 */
   7
   8#ifndef __CONFIG_KEYMILE_H
   9#define __CONFIG_KEYMILE_H
  10
  11#define CONFIG_BOOTCOUNT_LIMIT
  12
  13/*
  14 * Command line configuration.
  15 */
  16#define CONFIG_CMD_DEFAULTENV_VARS
  17#define CONFIG_CMD_IMMAP
  18#define CONFIG_CMD_EEPROM
  19#define CONFIG_CMD_JFFS2
  20#define CONFIG_CMD_MTDPARTS
  21
  22#undef  CONFIG_WATCHDOG         /* disable platform specific watchdog */
  23
  24#undef  CONFIG_BOOTARGS         /* the boot command will set bootargs */
  25
  26/*
  27 * Miscellaneous configurable options
  28 */
  29#define CONFIG_SYS_LONGHELP                     /* undef to save memory   */
  30#if defined(CONFIG_CMD_KGDB)
  31#define CONFIG_SYS_CBSIZE               1024    /* Console I/O Buffer Size */
  32#else
  33#define CONFIG_SYS_CBSIZE               512     /* Console I/O Buffer Size  */
  34#endif
  35#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
  36#define CONFIG_SYS_MAXARGS              32 /* max number of command args */
  37#define CONFIG_SYS_BARGSIZE             CONFIG_SYS_CBSIZE
  38#define CONFIG_CMDLINE_EDITING
  39#define CONFIG_AUTO_COMPLETE
  40
  41#define CONFIG_HUSH_INIT_VAR
  42
  43#define CONFIG_SYS_ALT_MEMTEST          /* memory test, takes time */
  44
  45#define CONFIG_BAUDRATE                 115200
  46#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
  47
  48#define CONFIG_LOADS_ECHO
  49#define CONFIG_SYS_LOADS_BAUD_CHANGE
  50
  51
  52/* Support the IVM EEprom */
  53#define CONFIG_SYS_IVM_EEPROM_ADR       0x50
  54#define CONFIG_SYS_IVM_EEPROM_MAX_LEN   0x400
  55#define CONFIG_SYS_IVM_EEPROM_PAGE_LEN  0x100
  56
  57#define CONFIG_SYS_FLASH_PROTECTION
  58
  59/*
  60 * BOOTP options
  61 */
  62#define CONFIG_BOOTP_BOOTFILESIZE
  63#define CONFIG_BOOTP_BOOTPATH
  64#define CONFIG_BOOTP_GATEWAY
  65#define CONFIG_BOOTP_HOSTNAME
  66
  67/* UBI Support for all Keymile boards */
  68#define CONFIG_CMD_UBI
  69#define CONFIG_RBTREE
  70#define CONFIG_MTD_PARTITIONS
  71#define CONFIG_MTD_DEVICE
  72#define CONFIG_MTD_CONCAT
  73
  74#define CONFIG_CMD_CRAMFS
  75
  76#ifndef CONFIG_KM_DEF_ENV_BOOTPARAMS
  77#define CONFIG_KM_DEF_ENV_BOOTPARAMS \
  78        "actual_bank=0\0"
  79#endif
  80
  81#ifndef CONFIG_KM_DEF_NETDEV
  82#define CONFIG_KM_DEF_NETDEV    \
  83        "netdev=eth0\0"
  84#endif
  85
  86#ifndef CONFIG_KM_UBI_PARTITION_NAME_BOOT
  87#define CONFIG_KM_UBI_PARTITION_NAME_BOOT       "ubi0"
  88#endif /* CONFIG_KM_UBI_PARTITION_NAME_BOOT */
  89
  90#ifndef CONFIG_KM_UBI_PART_BOOT_OPTS
  91#define CONFIG_KM_UBI_PART_BOOT_OPTS            ""
  92#endif /* CONFIG_KM_UBI_PART_BOOT_OPTS */
  93
  94#ifndef CONFIG_KM_UBI_PARTITION_NAME_APP
  95/* one flash chip only called boot */
  96/* boot: CONFIG_KM_UBI_PARTITION_NAME_BOOT */
  97# define CONFIG_KM_UBI_LINUX_MTD                                        \
  98        "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_BOOT                    \
  99        CONFIG_KM_UBI_PART_BOOT_OPTS
 100# define CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI                               \
 101        "ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME_BOOT "\0"
 102#else /* CONFIG_KM_UBI_PARTITION_NAME_APP */
 103/* two flash chips called boot and app */
 104/* boot: CONFIG_KM_UBI_PARTITION_NAME_BOOT */
 105/* app:  CONFIG_KM_UBI_PARTITION_NAME_APP */
 106# define CONFIG_KM_UBI_LINUX_MTD                                        \
 107        "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_BOOT                    \
 108        CONFIG_KM_UBI_PART_BOOT_OPTS " "                                \
 109        "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_APP
 110# define CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI                               \
 111        "ubiattach=if test ${boot_bank} -eq 0; then; "                  \
 112        "ubi part " CONFIG_KM_UBI_PARTITION_NAME_BOOT "; else; "        \
 113        "ubi part " CONFIG_KM_UBI_PARTITION_NAME_APP "; fi\0"
 114#endif /* CONFIG_KM_UBI_PARTITION_NAME_APP */
 115
 116#ifdef CONFIG_NAND_ECC_BCH
 117#define CONFIG_KM_UIMAGE_NAME "ecc_bch_uImage\0"
 118#define CONFIG_KM_ECC_MODE    " eccmode=bch"
 119#else
 120#define CONFIG_KM_UIMAGE_NAME "uImage\0"
 121#define CONFIG_KM_ECC_MODE
 122#endif
 123
 124/*
 125 * boottargets
 126 * - set 'subbootcmds'
 127 * - set 'bootcmd' and 'altbootcmd'
 128 * available targets:
 129 * - 'release': for a standalone system         kernel/rootfs from flash
 130 */
 131#define CONFIG_KM_DEF_ENV_BOOTTARGETS                                   \
 132        "subbootcmds=ubiattach ubicopy checkfdt cramfsloadfdt "         \
 133                "set_fdthigh cramfsloadkernel flashargs add_default "   \
 134                "addpanic boot\0"                                       \
 135        "develop="                                                      \
 136                "tftp 200000 scripts/develop-${arch}.txt && "           \
 137                "env import -t 200000 ${filesize} && "                  \
 138                "run setup_debug_env\0"                                 \
 139        "ramfs="                                                        \
 140                "tftp 200000 scripts/ramfs-${arch}.txt && "             \
 141                "env import -t 200000 ${filesize} && "                  \
 142                "run setup_debug_env\0"                                 \
 143        ""
 144
 145/*
 146 * bootargs
 147 * - modify 'bootargs'
 148 *
 149 * - 'add_default': default bootargs common for all arm/ppc boards
 150 * - 'addpanic': add kernel panic options
 151 * - 'flashargs': defaults arguments for flash base boot
 152 *
 153 */
 154#define CONFIG_KM_DEF_ENV_BOOTARGS                                      \
 155        "add_default="                                                  \
 156                "setenv bootargs ${bootargs} "                          \
 157                "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
 158                ":${hostname}:${netdev}:off:"                           \
 159                " console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}"        \
 160                " mem=${kernelmem} init=${init}"                        \
 161                CONFIG_KM_ECC_MODE                                      \
 162                " phram.phram=phvar,${varaddr}," __stringify(CONFIG_KM_PHRAM)\
 163                " " CONFIG_KM_UBI_LINUX_MTD " "                         \
 164                CONFIG_KM_DEF_BOOT_ARGS_CPU                             \
 165                "\0"                                                    \
 166        "addpanic="                                                     \
 167                "setenv bootargs ${bootargs} panic=1 panic_on_oops=1\0" \
 168        "flashargs="                                                    \
 169                "setenv bootargs "                                      \
 170                "root=mtdblock:rootfs${boot_bank} "                     \
 171                "rootfstype=squashfs ro\0"                              \
 172        ""
 173
 174/*
 175 * flash_boot
 176 * - commands for booting from flash
 177 *
 178 * - 'cramfsloadkernel': copy kernel from a cramfs to ram
 179 * - 'ubiattach': attach ubi partition
 180 * - 'ubicopy': copy ubi volume to ram
 181 *              - volume names: bootfs0, bootfs1, bootfs2, ...
 182 *
 183 * processor specific settings
 184 * - 'cramfsloadfdt': copy fdt from a cramfs to ram
 185 */
 186#define CONFIG_KM_DEF_ENV_FLASH_BOOT                                    \
 187        "cramfsaddr=" __stringify(CONFIG_KM_CRAMFS_ADDR) "\0"           \
 188        "cramfsloadkernel=cramfsload ${load_addr_r} ${uimage}\0"        \
 189        "ubicopy=ubi read "__stringify(CONFIG_KM_CRAMFS_ADDR)           \
 190                        " bootfs${boot_bank}\0"                         \
 191        "uimage=" CONFIG_KM_UIMAGE_NAME                                 \
 192        CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI
 193
 194/*
 195 * constants
 196 * - KM specific constants and commands
 197 *
 198 * - 'default': setup default environment
 199 */
 200#define CONFIG_KM_DEF_ENV_CONSTANTS                                     \
 201        "backup_bank=0\0"                                               \
 202        "release=run newenv; reset\0"                                   \
 203        "pnvramsize=" __stringify(CONFIG_KM_PNVRAM) "\0"                \
 204        "testbootcmd=setenv boot_bank ${test_bank}; "                   \
 205                "run ${subbootcmds}; reset\0"                           \
 206        ""
 207
 208#ifndef CONFIG_KM_DEF_ENV
 209#define CONFIG_KM_DEF_ENV       \
 210        CONFIG_KM_DEF_ENV_BOOTPARAMS                                    \
 211        CONFIG_KM_DEF_NETDEV                                            \
 212        CONFIG_KM_DEF_ENV_CPU                                           \
 213        CONFIG_KM_DEF_ENV_BOOTTARGETS                                   \
 214        CONFIG_KM_DEF_ENV_BOOTARGS                                      \
 215        CONFIG_KM_DEF_ENV_FLASH_BOOT                                    \
 216        CONFIG_KM_DEF_ENV_CONSTANTS                                     \
 217        "altbootcmd=run bootcmd\0"                                      \
 218        "boot=bootm ${load_addr_r} - ${fdt_addr_r}\0"                   \
 219        "bootcmd=km_checkbidhwk &&  "                                   \
 220                "setenv bootcmd \'if km_checktestboot; then; "          \
 221                                "setenv boot_bank ${test_bank}; else; " \
 222                                "setenv boot_bank ${actual_bank}; fi;"  \
 223                        "run ${subbootcmds}; reset\' && "               \
 224                "setenv altbootcmd \'setenv boot_bank ${backup_bank}; " \
 225                        "run ${subbootcmds}; reset\' && "               \
 226                "saveenv && saveenv && boot\0"                          \
 227        "bootlimit=3\0"                                                 \
 228        "cramfsloadfdt="                                                \
 229                "cramfsload ${fdt_addr_r} "                             \
 230                "fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb\0"             \
 231        "fdt_addr_r="__stringify(CONFIG_KM_FDT_ADDR) "\0"               \
 232        "init=/sbin/init-overlay.sh\0"                                  \
 233        "load_addr_r="__stringify(CONFIG_KM_KERNEL_ADDR) "\0"           \
 234        "load=tftpboot ${load_addr_r} ${u-boot}\0"                      \
 235        "mtdids=" MTDIDS_DEFAULT "\0"                                   \
 236        "mtdparts=" MTDPARTS_DEFAULT "\0"                               \
 237        ""
 238#endif /* CONFIG_KM_DEF_ENV */
 239
 240#define CONFIG_VERSION_VARIABLE /* include version env variable */
 241
 242#endif /* __CONFIG_KEYMILE_H */
 243