diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2015-04-18 02:19:33 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2015-04-18 02:36:07 +0200 |
commit | 81a38df0631cfa6b3a85c97e631abf73dc0a2226 (patch) | |
tree | 2afc049ea3dc36c17d51f1dda766a60dbaf4faa3 | |
parent | 81bfc51c3032d5ee4e52552ae261773f66acf3f9 (diff) |
apalis/colibri_t30: migrate
Migrate Apalis/Colibri T30 to U-Boot 2015.04.
-rw-r--r-- | board/toradex/apalis_t30/Kconfig | 16 | ||||
-rw-r--r-- | board/toradex/apalis_t30/Makefile | 2 | ||||
-rw-r--r-- | board/toradex/apalis_t30/apalis_t30.c | 79 | ||||
-rw-r--r-- | board/toradex/apalis_t30/pinmux-config-apalis_t30.h | 2 | ||||
-rw-r--r-- | board/toradex/colibri_t30/Kconfig | 16 | ||||
-rw-r--r-- | board/toradex/colibri_t30/Makefile | 2 | ||||
-rw-r--r-- | board/toradex/colibri_t30/colibri_t30.c | 60 | ||||
-rw-r--r-- | board/toradex/colibri_t30/pinmux-config-colibri_t30.h | 2 | ||||
-rw-r--r-- | include/configs/apalis_t30.h | 129 | ||||
-rw-r--r-- | include/configs/colibri_t30.h | 125 |
10 files changed, 411 insertions, 22 deletions
diff --git a/board/toradex/apalis_t30/Kconfig b/board/toradex/apalis_t30/Kconfig index f1dcda59275..1abcdf29f58 100644 --- a/board/toradex/apalis_t30/Kconfig +++ b/board/toradex/apalis_t30/Kconfig @@ -9,4 +9,20 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "apalis_t30" +config TRDX_CFG_BLOCK + default y + +config TRDX_HAVE_MMC + default y + +config TRDX_CFG_BLOCK_DEV + default "0" + +config TRDX_CFG_BLOCK_PART + default "1" + +# Toradex Configblock in eMMC, at the end of 1st "boot sector" +config TRDX_CFG_BLOCK_OFFSET + default "-512" + endif diff --git a/board/toradex/apalis_t30/Makefile b/board/toradex/apalis_t30/Makefile index a968e6b79e4..d38872a71a2 100644 --- a/board/toradex/apalis_t30/Makefile +++ b/board/toradex/apalis_t30/Makefile @@ -1,4 +1,4 @@ -# Copyright (c) 2014 Marcel Ziswiler +# Copyright (c) 2012-2015 Toradex, Inc. # SPDX-License-Identifier: GPL-2.0+ include $(srctree)/board/nvidia/common/common.mk diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c index 624421496a4..aedbbb43e63 100644 --- a/board/toradex/apalis_t30/apalis_t30.c +++ b/board/toradex/apalis_t30/apalis_t30.c @@ -1,23 +1,96 @@ /* - * (C) Copyright 2014 - * Marcel Ziswiler <marcel@ziswiler.com> + * Copyright (c) 2012-2015 Toradex, Inc. * * SPDX-License-Identifier: GPL-2.0+ */ #include <common.h> -#include <dm.h> #include <asm/arch/gp_padctrl.h> #include <asm/arch/pinmux.h> +#include <asm/arch-tegra/ap.h> +#include <asm/arch-tegra/tegra.h> #include <asm/gpio.h> +#include <asm/io.h> +#include <dm.h> +#include <g_dnl.h> #include <i2c.h> #include <netdev.h> #include "pinmux-config-apalis_t30.h" +#include "../common/configblock.h" + +DECLARE_GLOBAL_DATA_PTR; #define PMU_I2C_ADDRESS 0x2D #define MAX_I2C_RETRY 3 +int arch_misc_init(void) +{ + /* Default memory arguments */ + if (!getenv("memargs")) { + switch (gd->ram_size) { + case 0x40000000: + /* 1 GB */ + setenv("memargs", "vmalloc=128M mem=1012M@2048M " + "fbmem=12M@3060M"); + break; + case 0x7ff00000: + case 0x80000000: + /* 2 GB */ + setenv("memargs", "vmalloc=256M mem=2035M@2048M " + "fbmem=12M@4083M"); + break; + default: + printf("Failed detecting RAM size.\n"); + } + } + + if (readl(NV_PA_BASE_SRAM + NVBOOTINFOTABLE_BOOTTYPE) == + NVBOOTTYPE_RECOVERY) { + printf("USB recovery mode, disabled autoboot\n"); + setenv("bootdelay", "-1"); + } + + return 0; +} + +int checkboard(void) +{ +#ifdef CONFIG_TRDX_CFG_BLOCK + if (read_trdx_cfg_block()) + printf("Missing Toradex config block\n"); + else { + display_board_info(); + return 0; + } +#endif + printf("Model: Toradex Apalis T30 %dGB\n", (gd->ram_size == 0x40000000)?1:2); + + return 0; +} + +int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) +{ + unsigned short prodnr = 0; + unsigned short usb_pid; + + get_board_product_number(&prodnr); + + put_unaligned(CONFIG_TRDX_VID, &dev->idVendor); + + if (prodnr != 31) + if (gd->ram_size == 0x40000000) + usb_pid = CONFIG_TRDX_PID_APALIS_T30_1G; + else + usb_pid = CONFIG_TRDX_PID_APALIS_T30_2G; + else + usb_pid = CONFIG_TRDX_PID_APALIS_T30_1G_IT; + + put_unaligned(usb_pid, &dev->idProduct); + + return 0; +} + /* * Routine: pinmux_init * Description: Do individual peripheral pinmux configs diff --git a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h index c988d395c19..bc4094d69e9 100644 --- a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h +++ b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Marcel Ziswiler + * Copyright (c) 2012-2015, Toradex, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, diff --git a/board/toradex/colibri_t30/Kconfig b/board/toradex/colibri_t30/Kconfig index 3e436a2d3fd..b2cce319a76 100644 --- a/board/toradex/colibri_t30/Kconfig +++ b/board/toradex/colibri_t30/Kconfig @@ -9,4 +9,20 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "colibri_t30" +config TRDX_CFG_BLOCK + default y + +config TRDX_HAVE_MMC + default y + +config TRDX_CFG_BLOCK_DEV + default "0" + +config TRDX_CFG_BLOCK_PART + default "1" + +# Toradex Configblock in eMMC, at the end of 1st "boot sector" +config TRDX_CFG_BLOCK_OFFSET + default "-512" + endif diff --git a/board/toradex/colibri_t30/Makefile b/board/toradex/colibri_t30/Makefile index 3d58a4b2c1c..9f5c45ad5af 100644 --- a/board/toradex/colibri_t30/Makefile +++ b/board/toradex/colibri_t30/Makefile @@ -1,4 +1,4 @@ -# Copyright (c) 2013-2014 Stefan Agner +# Copyright (c) 2012-2015 Toradex, Inc. # SPDX-License-Identifier: GPL-2.0+ include $(srctree)/board/nvidia/common/common.mk diff --git a/board/toradex/colibri_t30/colibri_t30.c b/board/toradex/colibri_t30/colibri_t30.c index f4bc7d8728e..a7ce04b66f9 100644 --- a/board/toradex/colibri_t30/colibri_t30.c +++ b/board/toradex/colibri_t30/colibri_t30.c @@ -1,16 +1,66 @@ /* - * (C) Copyright 2014 - * Stefan Agner <stefan@agner.ch> + * Copyright (c) 2012-2015 Toradex, Inc. * * SPDX-License-Identifier: GPL-2.0+ */ #include <common.h> -#include <asm/arch/pinmux.h> #include <asm/arch/gp_padctrl.h> -#include "pinmux-config-colibri_t30.h" -#include <i2c.h> +#include <asm/arch/pinmux.h> +#include <asm/arch-tegra/ap.h> +#include <asm/arch-tegra/tegra.h> #include <asm/gpio.h> +#include <asm/io.h> +#include <g_dnl.h> +#include <i2c.h> + +#include "pinmux-config-colibri_t30.h" +#include "../common/configblock.h" + +int arch_misc_init(void) +{ + if (readl(NV_PA_BASE_SRAM + NVBOOTINFOTABLE_BOOTTYPE) == + NVBOOTTYPE_RECOVERY) { + printf("USB recovery mode, disabled autoboot\n"); + setenv("bootdelay", "-1"); + } + + return 0; +} + +int checkboard(void) +{ +#ifdef CONFIG_TRDX_CFG_BLOCK + if (read_trdx_cfg_block()) + printf("Missing Toradex config block\n"); + else { + display_board_info(); + return 0; + } +#endif + printf("Model: Toradex Colibri T30 1GB\n"); + + return 0; +} + +int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) +{ + unsigned short prodnr = 0; + unsigned short usb_pid; + + get_board_product_number(&prodnr); + + put_unaligned(CONFIG_TRDX_VID, &dev->idVendor); + + if (prodnr != 30) + usb_pid = CONFIG_TRDX_PID_COLIBRI_T30; + else + usb_pid = CONFIG_TRDX_PID_COLIBRI_T30_IT; + + put_unaligned(usb_pid, &dev->idProduct); + + return 0; +} /* * Routine: pinmux_init diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h index 4e73c0762e0..3f9e8038c62 100644 --- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h +++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2014, Stefan Agner + * Copyright (c) 2012-2015, Toradex, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, diff --git a/include/configs/apalis_t30.h b/include/configs/apalis_t30.h index 6d38853ed06..a85ee7eabfd 100644 --- a/include/configs/apalis_t30.h +++ b/include/configs/apalis_t30.h @@ -1,5 +1,7 @@ /* - * Copyright (c) 2014-2015 Marcel Ziswiler + * Copyright (c) 2012-2015 Toradex, Inc. + * + * Configuration settings for the Toradex Apalis T30 modules. * * SPDX-License-Identifier: GPL-2.0+ */ @@ -11,9 +13,13 @@ #include "tegra30-common.h" +#define CONFIG_ARCH_MISC_INIT + /* High-level configuration options */ #define V_PROMPT "Apalis T30 # " -#define CONFIG_TEGRA_BOARD_STRING "Toradex Apalis T30" +#define CONFIG_CUSTOM_BOARDINFO /* not from device-tree model node */ +#undef CONFIG_DISPLAY_BOARDINFO +#define CONFIG_DISPLAY_BOARDINFO_LATE /* Board-specific serial config */ #define CONFIG_SERIAL_MULTI @@ -22,11 +28,20 @@ #define CONFIG_MACH_TYPE MACH_TYPE_APALIS_T30 +#define CONFIG_INITRD_TAG +#define CONFIG_REVISION_TAG +#define CONFIG_SERIAL_TAG + +/* Make the HW version stuff available in U-Boot env */ +#define CONFIG_VERSION_VARIABLE /* ver environment variable */ +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG +#define CONFIG_CMD_ASKENV + /* I2C */ #define CONFIG_SYS_I2C_TEGRA #define CONFIG_CMD_I2C -/* SD/MMC */ +/* SD/MMC support */ #define CONFIG_MMC #define CONFIG_GENERIC_MMC #define CONFIG_TEGRA_MMC @@ -38,15 +53,27 @@ #define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_MMC_ENV_PART 2 -/* USB Host support */ +/* USB client support */ +#define CONFIG_TRDX_VID 0x1B67 +/* TBD */ +#define CONFIG_TRDX_PID_APALIS_T30_1G 0x001A +#define CONFIG_TRDX_PID_APALIS_T30_2G 0x001B +#define CONFIG_TRDX_PID_APALIS_T30_1G_IT 0x001C +#define CONFIG_TRDX_PID_APALIS_T30_2G_IT 0x001D +#define CONFIG_G_DNL_MANUFACTURER "Toradex" +#define CONFIG_G_DNL_VENDOR_NUM CONFIG_TRDX_VID +#define CONFIG_G_DNL_PRODUCT_NUM CONFIG_TRDX_PID_APALIS_T30_1G + +/* USB host support */ #define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_TEGRA -#define CONFIG_USB_MAX_CONTROLLER_COUNT 3 +#define CONFIG_USB_MAX_CONTROLLER_COUNT 3 #define CONFIG_USB_STORAGE #define CONFIG_CMD_USB /* PCI host support */ #define CONFIG_PCI +#undef CONFIG_PCI_SCAN_SHOW #define CONFIG_PCI_TEGRA #define CONFIG_PCI_PNP #define CONFIG_CMD_PCI @@ -64,6 +91,94 @@ #define CONFIG_CMD_SETEXPR #define CONFIG_FAT_WRITE +#undef CONFIG_BOOTDELAY +#define CONFIG_BOOTDELAY 1 +#undef CONFIG_IPADDR +#define CONFIG_IPADDR 192.168.10.2 +#define CONFIG_NETMASK 255.255.255.0 +#undef CONFIG_SERVERIP +#define CONFIG_SERVERIP 192.168.10.1 + +#define CONFIG_BOOTCOMMAND \ + "run emmcboot; echo; echo emmcboot failed; " \ + "run sdboot; echo; echo sdboot failed; " \ + "run usbboot; echo; echo usbboot failed; " \ + "run nfsboot; echo; echo nfsboot failed" + +#define DFU_ALT_EMMC_INFO "apalis_t30.img raw 0x0 0x500 mmcpart 1; " \ + "/uImage fat 0 1 mmcpart 0; " \ + "/tegra30-apalis-eval.dtb fat 0 1 mmcpart 0; " \ + "rootfs part 0 2 mmcpart 0" + +#define EMMC_BOOTCMD \ + "emmcargs=ip=off root=/dev/mmcblk0p2 rw,noatime rootfstype=ext3 " \ + "rootwait\0" \ + "emmcboot=run setup; setenv bootargs ${defargs} ${emmcargs} " \ + "${setupargs} ${vidargs}; echo Booting from internal eMMC " \ + "chip...; run emmcdtbload; load mmc 0:1 ${kernel_addr_r} " \ + "${boot_file} && bootm ${kernel_addr_r} - ${dtbparam}\0" \ + "emmcdtbload=setenv dtbparam; load mmc 0:1 ${fdt_addr_r} " \ + "${soc}-apalis-${fdt_board}.dtb && " \ + "setenv dtbparam ${fdt_addr_r}\0" + +#define NFS_BOOTCMD \ + "nfsargs=ip=:::::eth0:on root=/dev/nfs rw netdevwait\0" \ + "nfsboot=run setup; setenv bootargs ${defargs} ${nfsargs} " \ + "${setupargs} ${vidargs}; echo Booting via DHCP/TFTP/NFS...; " \ + "run nfsdtbload; dhcp ${kernel_addr_r} " \ + "&& bootm ${kernel_addr_r} - ${dtbparam}\0" \ + "nfsdtbload=setenv dtbparam; tftp ${fdt_addr_r} " \ + "${soc}-apalis-${fdt_board}.dtb " \ + "&& setenv dtbparam ${fdt_addr_r}\0" + +#define SD_BOOTCMD \ + "sdargs=ip=off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext3 " \ + "rootwait\0" \ + "sdboot=run setup; setenv bootargs ${defargs} ${sdargs} ${setupargs} " \ + "${vidargs}; echo Booting from SD card in 8bit slot...; " \ + "run sddtbload; load mmc 1:1 ${kernel_addr_r} " \ + "${boot_file} && bootm ${kernel_addr_r} - ${dtbparam}\0" \ + "sddtbload=setenv dtbparam; load mmc 1:1 ${fdt_addr_r} " \ + "${soc}-apalis-${fdt_board}.dtb " \ + "&& setenv dtbparam ${fdt_addr_r}\0" + +#define USB_BOOTCMD \ + "usbargs=ip=off root=/dev/sda2 rw,noatime rootfstype=ext3 " \ + "rootwait\0" \ + "usbboot=run setup; setenv bootargs ${defargs} ${setupargs} " \ + "${usbargs} ${vidargs}; echo Booting from USB stick...; " \ + "usb start && run usbdtbload; load usb 0:1 ${kernel_addr_r} " \ + "${boot_file} && bootm ${kernel_addr_r} - ${dtbparam}\0" \ + "usbdtbload=setenv dtbparam; load usb 0:1 ${fdt_addr_r} " \ + "${soc}-apalis-${fdt_board}.dtb " \ + "&& setenv dtbparam ${fdt_addr_r}\0" + +#define BOARD_EXTRA_ENV_SETTINGS \ + "boot_file=uImage\0" \ + "console=ttyS0\0" \ + "defargs=core_edp_mv=1300 usb_high_speed=1\0" \ + "dfu_alt_info=" DFU_ALT_EMMC_INFO "\0" \ + EMMC_BOOTCMD \ + "fdt_board=eval\0" \ + NFS_BOOTCMD \ + SD_BOOTCMD \ + "setethupdate=tftpboot ${kernel_addr_r} flash_eth.img " \ + "&& source ${kernel_addr_r}\0" \ + "setsdupdate=setenv interface mmc; setenv drive 1; mmc rescan; " \ + "load ${interface} ${drive}:1 ${kernel_addr_r} flash_blk.img " \ + "|| setenv drive 2; mmc rescan; load ${interface} ${drive}:1 " \ + "${kernel_addr_r} flash_blk.img && source ${kernel_addr_r}\0" \ + "setup=setenv setupargs igb_mac=${ethaddr} " \ + "consoleblank=0 no_console_suspend=1 console=tty1 " \ + "console=${console},${baudrate}n8 debug_uartport=lsport,0 " \ + "${memargs}\0" \ + "setusbupdate=setenv interface usb; setenv drive 1; " \ + "load ${interface} ${drive}:1 ${kernel_addr_r} flash_blk.img " \ + "&& source ${kernel_addr_r}\0" \ + "setupdate=run setsdupdate || run setusbupdate || run setethupdate\0" \ + USB_BOOTCMD \ + "vidargs=video=tegrafb0:640x480-16@60 fbcon=map:1\0" + /* Increase console I/O buffer size */ #undef CONFIG_SYS_CBSIZE #define CONFIG_SYS_CBSIZE 1024 @@ -79,6 +194,10 @@ #undef CONFIG_SYS_MAXARGS #define CONFIG_SYS_MAXARGS 32 +#define CONFIG_CMD_TIME +#define CONFIG_CMD_MEMTEST +#define CONFIG_SYS_ALT_MEMTEST + #include "tegra-common-usb-gadget.h" #include "tegra-common-post.h" diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h index ee6fa1c8307..9012b6d20cc 100644 --- a/include/configs/colibri_t30.h +++ b/include/configs/colibri_t30.h @@ -1,5 +1,7 @@ /* - * Copyright (c) 2013-2015 Stefan Agner + * Copyright (c) 2012-2015 Toradex, Inc. + * + * Configuration settings for the Toradex Colibri T30 modules. * * SPDX-License-Identifier: GPL-2.0+ */ @@ -11,9 +13,13 @@ #include "tegra30-common.h" +#define CONFIG_ARCH_MISC_INIT + /* High-level configuration options */ #define V_PROMPT "Colibri T30 # " -#define CONFIG_TEGRA_BOARD_STRING "Toradex Colibri T30" +#define CONFIG_CUSTOM_BOARDINFO /* not from device-tree model node */ +#undef CONFIG_DISPLAY_BOARDINFO +#define CONFIG_DISPLAY_BOARDINFO_LATE /* Board-specific serial config */ #define CONFIG_SERIAL_MULTI @@ -22,11 +28,20 @@ #define CONFIG_MACH_TYPE MACH_TYPE_COLIBRI_T30 +#define CONFIG_INITRD_TAG +#define CONFIG_REVISION_TAG +#define CONFIG_SERIAL_TAG + +/* Make the HW version stuff available in U-Boot env */ +#define CONFIG_VERSION_VARIABLE /* ver environment variable */ +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG +#define CONFIG_CMD_ASKENV + /* I2C */ #define CONFIG_SYS_I2C_TEGRA #define CONFIG_CMD_I2C -/* SD/MMC */ +/* SD/MMC support */ #define CONFIG_MMC #define CONFIG_GENERIC_MMC #define CONFIG_TEGRA_MMC @@ -38,10 +53,19 @@ #define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_MMC_ENV_PART 2 -/* USB Host support */ +/* USB client support */ +#define CONFIG_TRDX_VID 0x1B67 +/* TBD */ +#define CONFIG_TRDX_PID_COLIBRI_T30 0x001E +#define CONFIG_TRDX_PID_COLIBRI_T30_IT 0x001F +#define CONFIG_G_DNL_MANUFACTURER "Toradex" +#define CONFIG_G_DNL_VENDOR_NUM CONFIG_TRDX_VID +#define CONFIG_G_DNL_PRODUCT_NUM CONFIG_TRDX_PID_COLIBRI_T30 + +/* USB host support */ #define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_TEGRA -#define CONFIG_USB_MAX_CONTROLLER_COUNT 3 +#define CONFIG_USB_MAX_CONTROLLER_COUNT 3 #define CONFIG_USB_STORAGE #define CONFIG_CMD_USB @@ -57,6 +81,93 @@ #define CONFIG_CMD_SETEXPR #define CONFIG_FAT_WRITE +#undef CONFIG_BOOTDELAY +#define CONFIG_BOOTDELAY 1 +#undef CONFIG_IPADDR +#define CONFIG_IPADDR 192.168.10.2 +#define CONFIG_NETMASK 255.255.255.0 +#undef CONFIG_SERVERIP +#define CONFIG_SERVERIP 192.168.10.1 + +#define CONFIG_BOOTCOMMAND \ + "run emmcboot; echo; echo emmcboot failed; " \ + "run sdboot; echo; echo sdboot failed; " \ + "run usbboot; echo; echo usbboot failed; " \ + "run nfsboot; echo; echo nfsboot failed" + +#define DFU_ALT_EMMC_INFO "colibri_t30.img raw 0x0 0x500 mmcpart 1; " \ + "/uImage fat 0 1 mmcpart 0; " \ + "/tegra30-colibri-eval-v3.dtb fat 0 1 mmcpart 0; " \ + "rootfs part 0 2 mmcpart 0" + +#define EMMC_BOOTCMD \ + "emmcargs=ip=off root=/dev/mmcblk0p2 rw,noatime rootfstype=ext3 " \ + "rootwait\0" \ + "emmcboot=run setup; setenv bootargs ${defargs} ${emmcargs} " \ + "${setupargs} ${vidargs}; echo Booting from internal eMMC " \ + "chip...; run emmcdtbload; load mmc 0:1 ${kernel_addr_r} " \ + "${boot_file} && bootm ${kernel_addr_r} - ${dtbparam}\0" \ + "emmcdtbload=setenv dtbparam; load mmc 0:1 ${fdt_addr_r} " \ + "${soc}-colibri-${fdt_board}.dtb && " \ + "setenv dtbparam ${fdt_addr_r}\0" + +#define NFS_BOOTCMD \ + "nfsargs=ip=:::::eth0:on root=/dev/nfs rw netdevwait\0" \ + "nfsboot=usb start; run setup; setenv bootargs ${defargs} ${nfsargs} " \ + "${setupargs} ${vidargs}; echo Booting via DHCP/TFTP/NFS...; " \ + "run nfsdtbload; dhcp ${kernel_addr_r} " \ + "&& bootm ${kernel_addr_r} - ${dtbparam}\0" \ + "nfsdtbload=setenv dtbparam; tftp ${fdt_addr_r} " \ + "${soc}-colibri-${fdt_board}.dtb " \ + "&& setenv dtbparam ${fdt_addr_r}\0" + +#define SD_BOOTCMD \ + "sdargs=ip=off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext3 " \ + "rootwait\0" \ + "sdboot=run setup; setenv bootargs ${defargs} ${sdargs} ${setupargs} " \ + "${vidargs}; echo Booting from SD card in 8bit slot...; " \ + "run sddtbload; load mmc 1:1 ${kernel_addr_r} " \ + "${boot_file} && bootm ${kernel_addr_r} - ${dtbparam}\0" \ + "sddtbload=setenv dtbparam; load mmc 1:1 ${fdt_addr_r} " \ + "${soc}-colibri-${fdt_board}.dtb " \ + "&& setenv dtbparam ${fdt_addr_r}\0" + +#define USB_BOOTCMD \ + "usbargs=ip=off root=/dev/sda2 rw,noatime rootfstype=ext3 " \ + "rootwait\0" \ + "usbboot=run setup; setenv bootargs ${defargs} ${setupargs} " \ + "${usbargs} ${vidargs}; echo Booting from USB stick...; " \ + "usb start && run usbdtbload; load usb 0:1 ${kernel_addr_r} " \ + "${boot_file} && bootm ${kernel_addr_r} - ${dtbparam}\0" \ + "usbdtbload=setenv dtbparam; load usb 0:1 ${fdt_addr_r} " \ + "${soc}-colibri-${fdt_board}.dtb " \ + "&& setenv dtbparam ${fdt_addr_r}\0" + +#define BOARD_EXTRA_ENV_SETTINGS \ + "boot_file=uImage\0" \ + "console=ttyS0\0" \ + "defargs=core_edp_mv=1300 usb_high_speed=1\0" \ + "dfu_alt_info=" DFU_ALT_EMMC_INFO "\0" \ + EMMC_BOOTCMD \ + "fdt_board=eval-v3\0" \ + NFS_BOOTCMD \ + SD_BOOTCMD \ + "setethupdate=tftpboot ${kernel_addr_r} flash_eth.img " \ + "&& source ${kernel_addr_r}\0" \ + "setsdupdate=setenv interface mmc; setenv drive 1; mmc rescan; " \ + "load ${interface} ${drive}:1 ${kernel_addr_r} flash_blk.img " \ + "&& source ${kernel_addr_r}\0" \ + "setup=setenv setupargs igb_mac=${ethaddr} " \ + "consoleblank=0 no_console_suspend=1 console=tty1 " \ + "console=${console},${baudrate}n8 debug_uartport=lsport,0 " \ + "vmalloc=128M mem=1012M@2048M fbmem=12M@3060M\0" \ + "setusbupdate=setenv interface usb; setenv drive 1; " \ + "load ${interface} ${drive}:1 ${kernel_addr_r} flash_blk.img " \ + "&& source ${kernel_addr_r}\0" \ + "setupdate=run setsdupdate || run setusbupdate || run setethupdate\0" \ + USB_BOOTCMD \ + "vidargs=video=tegrafb0:640x480-16@60 fbcon=map:1\0" + /* Increase console I/O buffer size */ #undef CONFIG_SYS_CBSIZE #define CONFIG_SYS_CBSIZE 1024 @@ -72,6 +183,10 @@ #undef CONFIG_SYS_MAXARGS #define CONFIG_SYS_MAXARGS 32 +#define CONFIG_CMD_TIME +#define CONFIG_CMD_MEMTEST +#define CONFIG_SYS_ALT_MEMTEST + #include "tegra-common-usb-gadget.h" #include "tegra-common-post.h" |