summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2015-04-28 02:07:36 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2015-04-28 02:07:36 +0200
commit92d747bf338ceb8d6dbdd3e5e5f7f72226ce0792 (patch)
treefa0799533bc44115939977c52973254f514d49ba /include
parentdcca76ea36fc778fa750473aee09fa0297dc5e2b (diff)
colibri_t20: migrate
Migrate Colibri T20 to U-Boot 2015.04.
Diffstat (limited to 'include')
-rw-r--r--include/configs/colibri_t20.h154
1 files changed, 148 insertions, 6 deletions
diff --git a/include/configs/colibri_t20.h b/include/configs/colibri_t20.h
index 5ce930cdbf..475edee6fd 100644
--- a/include/configs/colibri_t20.h
+++ b/include/configs/colibri_t20.h
@@ -1,5 +1,7 @@
/*
- * Copyright (C) 2012 Lucas Stach
+ * Copyright (c) 2011-2015 Toradex, Inc.
+ *
+ * Configuration settings for the Toradex Colibri T20 modules.
*
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -9,9 +11,14 @@
#include "tegra20-common.h"
+#undef CONFIG_SYS_DCACHE_OFF /* breaks L4T kernel boot */
+#define CONFIG_ARCH_MISC_INIT
+
/* High-level configuration options */
#define V_PROMPT "Colibri T20 # "
-#define CONFIG_TEGRA_BOARD_STRING "Toradex Colibri T20"
+#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
@@ -21,6 +28,15 @@
#define CONFIG_MACH_TYPE MACH_TYPE_COLIBRI_T20
+#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
@@ -31,6 +47,20 @@
#define CONFIG_TEGRA_MMC
#define CONFIG_CMD_MMC
+/* USB client support */
+#define CONFIG_TRDX_VID 0x1B67
+/* TBD */
+#define CONFIG_TRDX_PID_COLIBRI_T20_256 0x0020
+#define CONFIG_TRDX_PID_COLIBRI_T20_512 0x0021
+#define CONFIG_TRDX_PID_COLIBRI_T20_256_IT 0x0022
+#define CONFIG_TRDX_PID_COLIBRI_T20_512_IT 0x0023
+#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_T20_256
+
+/* USB DFU */
+#define CONFIG_DFU_NAND
+
/* USB host support */
#define CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_TEGRA
@@ -61,13 +91,34 @@
/* NAND support */
#define CONFIG_CMD_NAND
#define CONFIG_TEGRA_NAND
-#define CONFIG_SYS_MAX_NAND_DEVICE 1
+#define CONFIG_SYS_MAX_NAND_DEVICE 1
+#define CONFIG_SYS_NAND_ONFI_DETECTION
+
+/* Dynamic MTD partition support */
+#define CONFIG_CMD_MTDPARTS /* Enable 'mtdparts' command line support */
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
+#define MTDIDS_DEFAULT "nand0=tegra_nand"
+#define MTDPARTS_DEFAULT "mtdparts=tegra_nand:" \
+ "2m(u-boot)ro," \
+ "512k(cfgblock)ro," \
+ "512k(u-boot-env)," \
+ "-(ubi)"
+
+#undef CONFIG_CMD_IMLS
/* Environment in NAND, 64K is a bit excessive but erase block is 512K anyway */
#define CONFIG_ENV_IS_IN_NAND
-#define CONFIG_ENV_OFFSET (SZ_2M)
-#undef CONFIG_ENV_SIZE /* undef size from tegra20-common.h */
-#define CONFIG_ENV_SIZE (SZ_64K)
+#define CONFIG_ENV_OFFSET (SZ_2M + SZ_512K)
+#undef CONFIG_ENV_SIZE /* undef size from tegra20-common.h */
+#define CONFIG_ENV_SIZE (SZ_64K)
+
+#define CONFIG_RBTREE
+#define CONFIG_LZO
+#define CONFIG_CMD_BOOTZ
+#define CONFIG_CMD_UBI
+#define CONFIG_MTD_UBI_FASTMAP
+#define CONFIG_CMD_UBIFS /* increases size by almost 60 KB */
/* Debug commands */
#define CONFIG_CMD_BDI
@@ -77,6 +128,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 ubiboot; echo; echo ubiboot failed; " \
+ "run sdboot; echo; echo sdboot failed; " \
+ "run usbboot; echo; echo usbboot failed; " \
+ "run nfsboot; echo; echo nfsboot failed"
+
+#define DFU_ALT_NAND_INFO "u-boot part 0,0;ubi part 0,3"
+
+#define NFS_BOOTCMD \
+ "nfsargs=ip=:::::eth0:on root=/dev/nfs rw netdevwait\0" \
+ "nfsboot=usb start; run setup; setenv bootargs ${defargs} ${mtdparts}" \
+ " ${nfsargs} ${setupargs} ${vidargs}; echo Booting via DHCP/" \
+ "TFTP/NFS...; run nfsdtbload; dhcp ${kernel_addr_r} " \
+ "&& bootz ${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/mmcblk0p2 rw,noatime rootfstype=ext3 " \
+ "rootwait\0" \
+ "sdboot=run setup; setenv bootargs ${defargs} ${mtdparts} ${sdargs} " \
+ "${setupargs} ${vidargs}; echo Booting from SD card...; " \
+ "run sddtbload; load mmc 1:1 ${kernel_addr_r} ${boot_file} " \
+ "&& bootz ${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 UBI_BOOTCMD \
+ "ubiargs=ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs " \
+ "ubi.fm_autoconvert=1\0" \
+ "ubiboot=run setup; setenv bootargs ${defargs} ${ubiargs} ${mtdparts}" \
+ " ${setupargs} ${vidargs}; echo Booting from NAND...; " \
+ "ubi part ubi && ubifsmount ubi0:rootfs && run ubidtbload; " \
+ "ubifsload ${kernel_addr_r} /boot/${boot_file} && " \
+ "bootz ${kernel_addr_r} - ${dtbparam}\0" \
+ "ubidtbload=setenv dtbparam; ubifsload ${fdt_addr_r} " \
+ "/boot/${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} ${mtdparts} " \
+ "${setupargs} ${usbargs} ${vidargs}; echo Booting from USB " \
+ "stick...; usb start && run usbdtbload; load usb 0:1 " \
+ "${kernel_addr_r} ${boot_file} && " \
+ "bootz ${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=zImage\0" \
+ "console=ttyS0\0" \
+ "defargs=vmalloc=128M usb_high_speed=1\0" \
+ "dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
+ "fdt_board=eval-v3\0" \
+ "mtdparts=" MTDPARTS_DEFAULT "\0" \
+ NFS_BOOTCMD \
+ SD_BOOTCMD \
+ "setethupdate=tftpboot ${kernel_addr_r} flash_eth.img\0" \
+ "setsdupdate=setenv interface mmc; setenv drive 0; mmc rescan; " \
+ "load ${interface} ${drive}:1 ${kernel_addr_r} " \
+ "flash_blk.img\0" \
+ "setup=setenv setupargs asix_mac=${ethaddr} " \
+ "consoleblank=0 no_console_suspend=1 console=tty1 " \
+ "console=${console},${baudrate}n8 debug_uartport=lsport,0 " \
+ "${memargs}\0" \
+ "setusbupdate=usb start && setenv interface usb; setenv drive 0; " \
+ "load ${interface} ${drive}:1 ${kernel_addr_r} " \
+ "flash_blk.img\0" \
+ "setupdate=run setsdupdate || run setusbupdate || run setethupdate &&" \
+ " source ${loadaddr}\0" \
+ UBI_BOOTCMD \
+ USB_BOOTCMD \
+ "vidargs=video=tegrafb0:640x480-16@60\0"
+
/* Increase console I/O buffer size */
#undef CONFIG_SYS_CBSIZE
#define CONFIG_SYS_CBSIZE 1024
@@ -92,6 +230,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"