]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/configs/km/keymile-common.h
Merge branch 'master' of git://git.denx.de/u-boot-mips
[karo-tx-uboot.git] / include / configs / km / keymile-common.h
index 70c9dad3d153180f3e79e417abfd1313623f82cf..a82987d6a09f5a05e7c33c1efd6085fadd92982a 100644 (file)
@@ -2,32 +2,12 @@
  * (C) Copyright 2008-2011
  * Heiko Schocher, DENX Software Engineering, hs@denx.de.
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+ 
  */
 
 #ifndef __CONFIG_KEYMILE_H
 #define __CONFIG_KEYMILE_H
 
-/* Do boardspecific init for all boards */
-#define CONFIG_BOARD_EARLY_INIT_R
-#define CONFIG_LAST_STAGE_INIT
-
 #define CONFIG_BOOTCOUNT_LIMIT
 
 /*
@@ -37,6 +17,7 @@
 
 #define CONFIG_CMD_ASKENV
 #define CONFIG_CMD_DHCP
+#define CONFIG_CMD_DEFAULTENV_VARS
 #define CONFIG_CMD_ECHO
 #define CONFIG_CMD_IMMAP
 #define CONFIG_CMD_MII
@@ -56,7 +37,6 @@
  * Miscellaneous configurable options
  */
 #define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
 #define CONFIG_SYS_LONGHELP                    /* undef to save memory   */
 #define CONFIG_SYS_PROMPT              "=> "   /* Monitor Command Prompt */
 #if defined(CONFIG_CMD_KGDB)
 
 #define CONFIG_LOADS_ECHO
 #define CONFIG_SYS_LOADS_BAUD_CHANGE
-#define CONFIG_SYS_BOARD_DRAM_INIT     /* Used board specific dram_init */
-
-/*
- * How to get access to the slot ID.  Put this here to make it easy
- * to modify in a centralized location.  This is used in the HDLC
- * driver to set the MAC.
-*/
-#define CONFIG_CHECK_ETHERNET_PRESENT
-#define CONFIG_SYS_SLOT_ID_BASE                CONFIG_SYS_KMBEC_FPGA_BASE
-#define CONFIG_SYS_SLOT_ID_OFF         (0x07)  /* register offset */
-#define CONFIG_SYS_SLOT_ID_MASK                (0x3f)  /* mask for slot ID bits */
 
-#define CONFIG_I2C_MULTI_BUS
-#define CONFIG_SYS_MAX_I2C_BUS         1
 #define CONFIG_SYS_I2C_INIT_BOARD
-#define CONFIG_I2C_MUX
-
-/* EEprom support */
-#define CONFIG_SYS_I2C_MULTI_EEPROMS
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS      3
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS  10
 
 /* Support the IVM EEprom */
 #define        CONFIG_SYS_IVM_EEPROM_ADR       0x50
 #define CONFIG_MTD_DEVICE
 #define CONFIG_MTD_CONCAT
 
-/* common powerpc specific env settings */
+#define CONFIG_CMD_CRAMFS
+#define CONFIG_CRAMFS_CMDLINE
+
 #ifndef CONFIG_KM_DEF_ENV_BOOTPARAMS
 #define CONFIG_KM_DEF_ENV_BOOTPARAMS \
-       "bootparams=empty\0"    \
-       "initial_boot_bank=0\0"
+       "actual_bank=0\0"
 #endif
 
 #ifndef CONFIG_KM_DEF_NETDEV
        "netdev=eth0\0"
 #endif
 
-#ifndef CONFIG_KM_UBI_PARTITION_NAME
-#define CONFIG_KM_UBI_PARTITION_NAME   "ubi0"
-#endif
-#ifndef CONFIG_KM_UBI_LINUX_MTD_NAME
-#define CONFIG_KM_UBI_LINUX_MTD_NAME   "ubi0"
+#ifndef CONFIG_KM_UBI_PARTITION_NAME_BOOT
+#define CONFIG_KM_UBI_PARTITION_NAME_BOOT      "ubi0"
+#endif /* CONFIG_KM_UBI_PARTITION_NAME_BOOT */
+
+#ifndef CONFIG_KM_UBI_PARTITION_NAME_APP
+/* one flash chip only called boot */
+/* boot: CONFIG_KM_UBI_PARTITION_NAME_BOOT */
+# define CONFIG_KM_UBI_LINUX_MTD                                       \
+       "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_BOOT
+# define CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI                              \
+       "ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME_BOOT "\0"
+#else /* CONFIG_KM_UBI_PARTITION_NAME_APP */
+/* two flash chips called boot and app */
+/* boot: CONFIG_KM_UBI_PARTITION_NAME_BOOT */
+/* app:  CONFIG_KM_UBI_PARTITION_NAME_APP */
+# define CONFIG_KM_UBI_LINUX_MTD                                       \
+       "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_BOOT " "                \
+       "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_APP
+# define CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI                              \
+       "ubiattach=if test ${boot_bank} -eq 0; then; "                  \
+       "ubi part " CONFIG_KM_UBI_PARTITION_NAME_BOOT "; else; "        \
+       "ubi part " CONFIG_KM_UBI_PARTITION_NAME_APP "; fi\0"
+#endif /* CONFIG_KM_UBI_PARTITION_NAME_APP */
+
+#ifdef CONFIG_NAND_ECC_BCH
+#define CONFIG_KM_UIMAGE_NAME "ecc_bch_uImage\0"
+#define CONFIG_KM_ECC_MODE    " eccmode=bch"
+#else
+#define CONFIG_KM_UIMAGE_NAME "uImage\0"
+#define CONFIG_KM_ECC_MODE
 #endif
 
-#define xstr(s)        str(s)
-#define str(s) #s
-
-/*
- * bootrunner
- * - run all commands in 'subbootcmds'
- * - on error, stop running the remaing commands
- */
-#define CONFIG_KM_DEF_ENV_BOOTRUNNER                                   \
-       "bootrunner="                                                   \
-               "break=0; "                                             \
-               "for subbootcmd in ${subbootcmds}; do "                 \
-               "if test ${break} -eq 0; then; "                        \
-               "print ${subbootcmd}; "                                 \
-               "run ${subbootcmd} || break=1; "                        \
-               "fi; "                                                  \
-               "done\0"                                                \
-       ""
-
 /*
  * boottargets
- * - set 'subbootcmds' for the bootrunner
+ * - set 'subbootcmds'
  * - set 'bootcmd' and 'altbootcmd'
  * available targets:
  * - 'release': for a standalone system                kernel/rootfs from flash
- *
- * - 'commonargs': bootargs common to all targets
  */
 #define CONFIG_KM_DEF_ENV_BOOTTARGETS                                  \
-       "commonargs="                                                   \
-               "addip "                                                \
-               "addtty "                                               \
-               "addmem "                                               \
-               "addinit "                                              \
-               "addvar "                                               \
-               "addmtdparts "                                          \
-               "addbootcount "                                         \
-               "\0"                                                    \
-       "release="                                                      \
-               "setenv actual_bank ${initial_boot_bank} && "           \
-               "setenv subbootcmds \""                                 \
-               "checkboardid "                                         \
-               "ubiattach ubicopy "                                    \
-               "cramfsloadfdt cramfsloadkernel "                       \
-               "flashargs ${commonargs} "                              \
-               "addpanic boot "                                        \
-               "\" && "                                                \
-               "setenv bootcmd \'"                                     \
-               "run actual bootrunner; reset"                          \
-               "\' && "                                                \
-               "setenv altbootcmd \'"                                  \
-               "run backup bootrunner; reset"                          \
-               "\' && "                                                \
-               "saveenv && saveenv && "                                \
-               "reset\0"                                               \
-       "debug_env="                                                    \
-               "tftp 200000 " CONFIG_KM_ARCH_DBG_FILE " && "           \
+       "subbootcmds=ubiattach ubicopy cramfsloadfdt cramfsloadkernel " \
+               "flashargs add_default addpanic boot\0"                 \
+       "develop="                                                      \
+               "tftp 200000 scripts/develop-${arch}.txt && "           \
+               "env import -t 200000 ${filesize} && "                  \
+               "run setup_debug_env\0"                                 \
+       "ramfs="                                                        \
+               "tftp 200000 scripts/ramfs-${arch}.txt && "             \
                "env import -t 200000 ${filesize} && "                  \
-               "run debug_env_common\0"                                \
+               "run setup_debug_env\0"                                 \
        ""
 
 /*
  * bootargs
  * - modify 'bootargs'
  *
- * - 'addip': add ip configuration
- * - 'addmem': limit kernel memory mem=
+ * - 'add_default': default bootargs common for all arm/ppc boards
  * - 'addpanic': add kernel panic options
- * - 'addtty': add console=...
- * - 'addvar': add phram device for /var
  * - 'flashargs': defaults arguments for flash base boot
  *
- * processor specific settings
- * - 'addbootcount': add boot counter
- * - 'addmtdparts': add mtd partition information
  */
 #define CONFIG_KM_DEF_ENV_BOOTARGS                                     \
-       "addinit="                                                      \
-               "setenv bootargs ${bootargs} init=${init}\0"            \
-       "addip="                                                        \
+       "add_default="                                                  \
                "setenv bootargs ${bootargs} "                          \
                "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
-               ":${hostname}:${netdev}:off\0"                          \
-       "addmem="                                                       \
-               "setenv bootargs ${bootargs} mem=${pnvramaddr}\0"       \
+               ":${hostname}:${netdev}:off3"                           \
+               " console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}"        \
+               " mem=${kernelmem} init=${init}"                        \
+               CONFIG_KM_ECC_MODE                                      \
+               " phram.phram=phvar,${varaddr}," __stringify(CONFIG_KM_PHRAM)\
+               " " CONFIG_KM_UBI_LINUX_MTD " "                         \
+               CONFIG_KM_DEF_BOOT_ARGS_CPU                             \
+               "\0"                                                    \
        "addpanic="                                                     \
                "setenv bootargs ${bootargs} panic=1 panic_on_oops=1\0" \
-       "addtty="                                                       \
-               "setenv bootargs ${bootargs}"                           \
-               " console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}\0"      \
-       "addvar="                                                       \
-               "setenv bootargs ${bootargs} phram.phram=phvar,"        \
-               "${varaddr}," xstr(CONFIG_KM_PHRAM) "\0"                \
        "flashargs="                                                    \
                "setenv bootargs "                                      \
-               "ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " "             \
                "root=mtdblock:rootfs${boot_bank} "                     \
                "rootfstype=squashfs ro\0"                              \
        ""
  * - 'cramfsloadfdt': copy fdt from a cramfs to ram
  */
 #define CONFIG_KM_DEF_ENV_FLASH_BOOT                                   \
-       "cramfsaddr=" xstr(CONFIG_KM_CRAMFS_ADDR) "\0"                  \
-       "cramfsloadkernel="                                             \
-               "cramfsload ${kernel_addr_r} uImage && "                \
-               "setenv actual_kernel_addr ${kernel_addr_r}\0"          \
-       "ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME "\0"         \
-       "ubicopy=ubi read "xstr(CONFIG_KM_CRAMFS_ADDR)                  \
+       "cramfsaddr=" __stringify(CONFIG_KM_CRAMFS_ADDR) "\0"           \
+       "cramfsloadkernel=cramfsload ${load_addr_r} ${uimage}\0"        \
+       "ubicopy=ubi read "__stringify(CONFIG_KM_CRAMFS_ADDR)           \
                        " bootfs${boot_bank}\0"                         \
-       ""
+       "uimage=" CONFIG_KM_UIMAGE_NAME                                 \
+       CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI
 
 /*
  * constants
  * - 'default': setup default environment
  */
 #define CONFIG_KM_DEF_ENV_CONSTANTS                                    \
-       "actual=setenv boot_bank ${actual_bank}\0"                      \
-       "backup=setenv boot_bank ${backup_bank}\0"                      \
-       "actual_bank=${initial_boot_bank}\0"                            \
        "backup_bank=0\0"                                               \
-       "default="                                                      \
-               "setenv default 'run newenv; reset' &&  "               \
-               "run release && saveenv; reset\0"                       \
-       "checkboardid=km_checkbidhwk\0"                                 \
-       "pnvramsize=" xstr(CONFIG_KM_PNVRAM) "\0"                       \
+       "release=run newenv; reset\0"                                   \
+       "pnvramsize=" __stringify(CONFIG_KM_PNVRAM) "\0"                \
+       "testbootcmd=setenv boot_bank ${test_bank}; "                   \
+               "run ${subbootcmds}; reset\0"                           \
        ""
 
 #ifndef CONFIG_KM_DEF_ENV
        CONFIG_KM_DEF_ENV_BOOTPARAMS                                    \
        CONFIG_KM_DEF_NETDEV                                            \
        CONFIG_KM_DEF_ENV_CPU                                           \
-       CONFIG_KM_DEF_ENV_BOOTRUNNER                                    \
        CONFIG_KM_DEF_ENV_BOOTTARGETS                                   \
        CONFIG_KM_DEF_ENV_BOOTARGS                                      \
        CONFIG_KM_DEF_ENV_FLASH_BOOT                                    \
        CONFIG_KM_DEF_ENV_CONSTANTS                                     \
        "altbootcmd=run bootcmd\0"                                      \
-       "bootcmd=run default\0"                                         \
-       "bootlimit=2\0"                                                 \
+       "bootcmd=km_checkbidhwk &&  "                                   \
+               "setenv bootcmd \'if km_checktestboot; then; "          \
+                               "setenv boot_bank ${test_bank}; else; " \
+                               "setenv boot_bank ${actual_bank}; fi;"  \
+                       "run ${subbootcmds}; reset\' && "               \
+               "setenv altbootcmd \'setenv boot_bank ${backup_bank}; " \
+                       "run ${subbootcmds}; reset\' && "               \
+               "saveenv && saveenv && boot\0"                          \
+       "bootlimit=3\0"                                                 \
        "init=/sbin/init-overlay.sh\0"                                  \
-       "kernel_addr_r="xstr(CONFIG_KM_KERNEL_ADDR) "\0"                \
-       "load=tftpboot ${u-boot_addr_r} ${u-boot}\0"                    \
+       "load_addr_r="__stringify(CONFIG_KM_KERNEL_ADDR) "\0"           \
+       "load=tftpboot ${load_addr_r} ${u-boot}\0"                      \
        "mtdids=" MTDIDS_DEFAULT "\0"                                   \
        "mtdparts=" MTDPARTS_DEFAULT "\0"                               \
-       "stderr=serial\0"                                               \
-       "stdin=serial\0"                                                \
-       "stdout=serial\0"                                               \
-       "u-boot="xstr(CONFIG_HOSTNAME) "/u-boot.bin\0"                  \
-       "u-boot_addr_r="xstr(CONFIG_KM_KERNEL_ADDR) "\0"                \
        ""
 #endif /* CONFIG_KM_DEF_ENV */