summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/configs/cardhu.h17
-rw-r--r--include/configs/colibri_t20.h246
-rw-r--r--include/configs/colibri_t20_sdboot.h93
-rw-r--r--include/configs/colibri_t30.h178
-rw-r--r--include/configs/harmony.h8
-rw-r--r--include/configs/tegra-common.h1
-rw-r--r--include/configs/tegra2-common.h7
-rw-r--r--include/configs/tegra3-common.h2
-rw-r--r--include/fdt_decode.h18
-rw-r--r--include/u-boot/md5.h5
10 files changed, 568 insertions, 7 deletions
diff --git a/include/configs/cardhu.h b/include/configs/cardhu.h
index 79cb79c6fe..69d15088b1 100644
--- a/include/configs/cardhu.h
+++ b/include/configs/cardhu.h
@@ -32,12 +32,13 @@
#define V_PROMPT "Tegra3 # "
#define CONFIG_TEGRA3_CARDHU
-#define CONFIG_SYS_SKIP_ARM_RELOCATION
+/* This currently fails environment memory allocation */
+#undef CONFIG_SYS_SKIP_ARM_RELOCATION
#define CONFIG_EXTRA_BOOTARGS \
"panel=lvds " \
"tegraid=30.1.2.0.0 " \
- "debug_uartport=lsport\0" \
+ "debug_uartport=lsport\0"
#define CONFIG_TEGRA_LP0
#define CONFIG_TEGRA3_WARMBOOT
@@ -99,4 +100,16 @@
#define CONFIG_ENV_IS_NOWHERE
+/* support USB ethernet adapters */
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_ASIX
+
+/*
+ * Ethernet support
+ */
+#define CONFIG_CMD_NET
+#define CONFIG_NET_MULTI
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_DHCP
+
#endif /* __CONFIG_H */
diff --git a/include/configs/colibri_t20.h b/include/configs/colibri_t20.h
new file mode 100644
index 0000000000..52a8414148
--- /dev/null
+++ b/include/configs/colibri_t20.h
@@ -0,0 +1,246 @@
+/*
+ * Copyright (C) 2012 Toradex, Inc.
+ * Portions Copyright (c) 2010, 2011 NVIDIA Corporation
+ * Portions Copyright (c) 2011 The Chromium OS Authors
+ *
+ * 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
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <asm/sizes.h>
+
+#define CONFIG_COLIBRI_T20 /* Toradex Colibri T20 module */
+
+//#define CONFIG_TEGRA2_LP0
+
+/* High-level configuration options */
+#define TEGRA2_SYSMEM "mem=256M@0M"
+#define V_PROMPT "Tegra2 # "
+
+#define CONFIG_OF_UPDATE_FDT_BEFORE_BOOT 1
+
+#include "tegra2-common.h"
+
+//careful this might fail kernel booting
+#undef CONFIG_BOOTSTAGE /* Record boot time */
+#undef CONFIG_BOOTSTAGE_REPORT /* Print a boot time report */
+
+#define CONFIG_SYS_NAND_BASE_LIST {}
+
+//#define USB_KBD_DEBUG
+#define CONFIG_USB_KEYBOARD
+
+#define CONFIG_CONSOLE_MUX
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+#define CONFIG_STD_DEVICES_SETTINGS "stdin=serial,usbkbd\0" \
+ "stdout=serial,lcd\0" \
+ "stderr=serial,lcd\0"
+
+#define CONFIG_SYS_BOARD_ODMDATA 0x300d8011 /* lp1, 1GB */
+
+#define CONFIG_REVISION_TAG 1
+#define CONFIG_SERIAL_TAG 1
+
+#define CONFIG_TRDX_CFG_BLOCK_OFFSET (gd->conf_blk_offset)
+#define CONFIG_TRDX_CFG_BLOCK_OFFSET2 (gd->conf_blk_offset2)
+
+#define CONFIG_CMD_ASKENV
+#define CONFIG_CMD_DIAG
+#define CONFIG_CMD_ELF
+#undef CONFIG_CMD_FLASH
+#define CONFIG_CMD_SAVEENV
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_LZO
+
+#undef CONFIG_BOOTDELAY
+#define CONFIG_BOOTDELAY 5
+#define CONFIG_NETMASK 255.255.255.0
+#undef CONFIG_IPADDR
+#define CONFIG_IPADDR 192.168.10.2
+#undef CONFIG_SERVERIP
+#define CONFIG_SERVERIP 192.168.10.1
+#undef CONFIG_BOOTFILE /* passed by BOOTP/DHCP */
+
+#define CONFIG_BZIP2
+#define CONFIG_CRC32_VERIFY
+#define CONFIG_TIMESTAMP
+
+#define CONFIG_AUTO_COMPLETE
+
+#define CONFIG_SYS_USE_UBI
+#define CONFIG_MTD_DEVICE
+#define CONFIG_CMD_JFFS2
+#define CONFIG_JFFS2_NAND
+#define CONFIG_JFFS2_CMDLINE
+#define CONFIG_RBTREE
+
+#undef CONFIG_LINUXCONSOLE /* dynamically adjusted */
+
+#define DEFAULT_BOOTCOMMAND \
+ "run flashboot; run nfsboot"
+
+#define FLASH_BOOTCMD \
+ "run setup; " \
+ "setenv bootargs ${defargs} ${flashargs} ${mtdparts} ${setupargs}; " \
+ "echo Booting from NAND...; " \
+ "nboot ${loadaddr} 0 ${lnxoffset} && bootm"
+
+#define MMC_BOOTCMD \
+ "echo Loading RAM disk and kernel from MMC/SD card...; "\
+ "mmc init && " \
+ "fatload mmc 0:1 0xC08000 rootfs-ext2.img.gz && " \
+ "fatload mmc 0:1 ${loadaddr} uImage;" \
+ "run ramboot"
+
+#define NFS_BOOTCMD \
+ "run setup; " \
+ "setenv bootargs ${defargs} ${nfsargs} ${mtdparts} ${setupargs}; " \
+ "echo Booting from NFS...; " \
+ "usb start; " \
+ "dhcp; " \
+ "bootm"
+
+#define RAM_BOOTCMD \
+ "run setup; " \
+ "setenv bootargs ${defargs} ${ramargs} ${mtdparts} ${setupargs}; " \
+ "echo Booting from RAM...; " \
+ "bootm"
+
+#define UBI_BOOTCMD \
+ "run setup; " \
+ "setenv bootargs ${defargs} ${ubiargs} ${mtdparts} ${setupargs}; " \
+ "echo Booting from NAND...; " \
+ "ubi part kernel-ubi && ubi read ${loadaddr} kernel; " \
+ "bootm"
+
+#define USB_BOOTCMD \
+ "echo Loading RAM disk and kernel from USB stick...; " \
+ "usb start && " \
+ "fatload usb 0:1 0xC08000 rootfs-ext2.img.gz && " \
+ "fatload usb 0:1 ${loadaddr} uImage;" \
+ "run ramboot"
+
+#define SD_BOOTCMD \
+ "run setup; " \
+ "setenv bootargs ${defargs} ${sdargs} ${mtdparts} ${setupargs}; " \
+ "echo Booting from MMC/SD card...; " \
+ "mmc read 0 ${loadaddr} 0x2a00 0x2000; " \
+ "bootm"
+
+#undef CONFIG_BOOTARGS
+#undef CONFIG_BOOTCOMMAND
+#undef CONFIG_DIRECT_BOOTARGS
+#define CONFIG_BOOTCOMMAND DEFAULT_BOOTCOMMAND
+#define CONFIG_NFSBOOTCOMMAND NFS_BOOTCMD
+#define CONFIG_RAMBOOTCOMMAND RAM_BOOTCMD
+//moved from disk/part_efi.h to here, give the block where the GP1 partition starts
+//compare with sdargs below
+#ifdef __CONFIG_SDBOOT_H
+#define GPT_PRIMARY_PARTITION_TABLE_LBA 18945ULL
+#else
+#define GPT_PRIMARY_PARTITION_TABLE_LBA 1ULL
+#endif
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ CONFIG_STD_DEVICES_SETTINGS \
+ "defargs=video=tegrafb vmalloc=128M usb_high_speed=1\0" \
+ "flashargs=ip=off root=/dev/mtdblock0 rw rootfstype=yaffs2\0" \
+ "flashboot=" FLASH_BOOTCMD "\0" \
+ "mmcboot=" MMC_BOOTCMD "\0" \
+ "nfsargs=ip=:::::eth0:on root=/dev/nfs rw netdevwait\0" \
+ "ramargs=initrd=0xA1800000,32M ramdisk_size=32768 root=/dev/ram0 rw\0" \
+ "sdargs=root=/dev/mmcblk3p1 ip=:::::eth0:off rw,noatime rootfstype=ext3 rootwait gpt gpt_sector=18945\0" \
+ "sdboot=" SD_BOOTCMD "\0" \
+ "setup=setenv setupargs asix_mac=${ethaddr} no_console_suspend=1 console=ttyS0,${baudrate}n8 console=tty1 debug_uartport=lsport,0 ${memargs}\0" \
+ "ubiargs=ubi.mtd=0 root=ubi0:rootfs rootfstype=ubifs\0" \
+ "ubiboot=" UBI_BOOTCMD "\0" \
+ "usbboot=" USB_BOOTCMD "\0" \
+ ""
+
+/* 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"
+
+/* GPIO */
+#define CONFIG_TEGRA_GPIO
+#define CONFIG_CMD_TEGRA_GPIO_INFO
+
+/* I2C */
+#define CONFIG_TEGRA_I2C
+#define CONFIG_SYS_I2C_INIT_BOARD
+#define CONFIG_I2C_MULTI_BUS
+#define CONFIG_SYS_MAX_I2C_BUS 4
+#define CONFIG_SYS_I2C_SPEED 100000
+#define CONFIG_CMD_I2C
+
+/* PMU and EMC support, requires i2c */
+#define CONFIG_TEGRA_PMU
+#define CONFIG_TEGRA_CLOCK_SCALING
+
+/* SD/MMC */
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_TEGRA_MMC
+#define CONFIG_CMD_MMC
+
+#define CONFIG_DOS_PARTITION
+#define CONFIG_EFI_PARTITION
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+
+/* Environment not stored */
+//#define CONFIG_ENV_IS_NOWHERE
+#ifndef CONFIG_ENV_IS_NOWHERE
+/* Environment stored in NAND flash */
+#define CONFIG_ENV_IS_IN_NAND 1 /* use NAND for environment vars */
+#if defined(CONFIG_ENV_IS_IN_NAND)
+/* once the nand is detected the corresponding setting is taken */
+#define CONFIG_ENV_OFFSET (gd->env_offset)
+#define CONFIG_ENV_RANGE 0x80000
+#endif
+
+#endif
+
+/*
+ * LCDC configuration
+ */
+#define CONFIG_LCD
+#define CONFIG_VIDEO_TEGRA
+
+/* TODO: This needs to be configurable at run-time */
+#define LCD_BPP LCD_COLOR16
+#define CONFIG_SYS_WHITE_ON_BLACK /* Console colors */
+
+#define CONFIG_DEFAULT_DEVICE_TREE "colibri_t20"
+
+/* NAND support */
+#define CONFIG_CMD_NAND
+#define CONFIG_TEGRA2_NAND
+
+/* Max number of NAND devices */
+#define CONFIG_SYS_MAX_NAND_DEVICE 1
+
+#define CONFIG_CMD_IMI
+
+#endif /* __CONFIG_H */
diff --git a/include/configs/colibri_t20_sdboot.h b/include/configs/colibri_t20_sdboot.h
new file mode 100644
index 0000000000..a23d1a6823
--- /dev/null
+++ b/include/configs/colibri_t20_sdboot.h
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2012 Toradex, Inc.
+ * Portions Copyright (c) 2010, 2011 NVIDIA Corporation
+ * Portions Copyright (c) 2011 The Chromium OS Authors
+ *
+ * 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
+ */
+
+/*
+ * Use this configuration for an u-boot which stores its environment in SD/MMC
+ * Useful if SD/MMC is selected as the boot device, so also the environment is taken from there
+ *
+ * Use colibri_t20.h for everything which is not specific to using SD/MMC as the boot device!!
+ */
+
+/*
+SD-BOOT
+The sd sector numbers are used as follows:
+u-boot needs to find ENV and LNX to get to the environment and the kernel, the kernel needs to find the APP partition for the rootfs.
+ENV: colibri_t20_sdboot.h
+Set CONFIG_ENV_MMC_OFFSET to the byte start address of ENV, take the sector address of Partid 6 (which is in 2024 byte sectors)
+
+LNX: colibri_t20.h
+Set the u-boot environment SDBOOTCMD below, mmc read RAMloadaddr, 512byte sector start, 512byte copy length
+take the sector address of Partid 7 (which is in 2024 byte sectors)
+
+APP: colibri_t20.h
+Set the u-boot environment sdargs and the variable GPT_PRIMARY_PARTITION_TABLE_LBA below.
+The kernel finds the partition with the help of the GP1/GPT partitions. The kernel commandline must include "gpt gpt_sector=xxx"
+to force it to use GUID Partition Table (GPT) and to give the 512byte sector start address of the primary GUID.
+Set this in
+Take the start address of Partid 8 (which is in 2048 byte sectors). add 1 to the resulting 512byte block. (at pos. 0 is the MBR)
+
+E.g. Output during nvflash procedure on serial console:
+SD Alloc Partid=2, start sector=0,num=1536
+SD Alloc Partid=3, start sector=1536,num=64
+SD Alloc Partid=4, start sector=1600,num=960
+SD Alloc Partid=5, start sector=2560,num=64
+SD Alloc Partid=6, start sector=2624,num=64
+SD Alloc Partid=7, start sector=2688,num=2048
+SD Alloc Partid=8, start sector=4736,num=512
+SD Alloc Partid=9, start sector=5248,num=500032
+SD Alloc Partid=10, start sector=505280,num=460352
+
+sector start address 4736 * 2048 -> 18944 * 512 -> GPT start sector is 18945.
+*/
+
+
+#ifndef __CONFIG_SDBOOT_H
+#define __CONFIG_SDBOOT_H
+
+#include "colibri_t20.h"
+
+#undef DEFAULT_BOOTCOMMAND
+#undef CONFIG_BOOTCOMMAND
+
+#define DEFAULT_BOOTCOMMAND \
+ "run sdboot; run nfsboot"
+#define CONFIG_BOOTCOMMAND DEFAULT_BOOTCOMMAND
+
+
+#ifdef CONFIG_ENV_IS_NOWHERE
+#undef CONFIG_ENV_IS_NOWHERE
+#endif
+#ifdef CONFIG_ENV_IS_IN_NAND
+#undef CONFIG_ENV_IS_IN_NAND
+#endif
+
+/* Environment stored in SD/MMC */
+#define CONFIG_ENV_IS_IN_MMC 1
+
+#if defined(CONFIG_ENV_IS_IN_MMC)
+#define CONFIG_SYS_MMC_ENV_DEV 0 /* use MMC0, slot on eval board and Iris */
+#define CONFIG_ENV_MMC_OFFSET (10496 * 512) /* Byteaddress of the beginning of the ENV partition */
+#endif
+
+#endif /* __CONFIG_H */
diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h
new file mode 100644
index 0000000000..02fcbe9139
--- /dev/null
+++ b/include/configs/colibri_t30.h
@@ -0,0 +1,178 @@
+/*
+ * Copyright (C) 2012 Toradex, Inc.
+ * Portions Copyright (c) 2010, 2011 NVIDIA Corporation
+ * Portions Copyright (c) 2011 The Chromium OS Authors
+ *
+ * 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
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <asm/sizes.h>
+
+#define CONFIG_COLIBRI_T30 /* Toradex Colibri T30 module */
+
+/* High-level configuration options */
+#define TEGRA3_SYSMEM "mem=1023M@2048M vmalloc=128M"
+#define V_PROMPT "Tegra3 # "
+
+#define CONFIG_TEGRA3_CARDHU
+/* This currently fails environment memory allocation */
+#undef CONFIG_SYS_SKIP_ARM_RELOCATION
+
+#include "tegra3-common.h"
+/* undef the enviroment settings in tegra3-common.h / tegra-common.h */
+#undef CONFIG_ENV_SIZE
+#undef CONFIG_LOADADDR
+#undef CONFIG_BOOTDELAY
+#undef CONFIG_BOOTARGS
+#undef CONFIG_BOOTCOMMAND
+#undef CONFIG_DIRECT_BOOTARGS
+
+
+#define CONFIG_DEFAULT_DEVICE_TREE "colibri_t30"
+
+//#define USB_KBD_DEBUG
+#define CONFIG_USB_KEYBOARD
+
+#define CONFIG_CONSOLE_MUX
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+#define CONFIG_STD_DEVICES_SETTINGS "stdin=serial,usbkbd\0" \
+ "stdout=serial,lcd\0" \
+ "stderr=serial,lcd\0"
+
+#define CONFIG_SYS_BOARD_ODMDATA 0x40080105 /* 1GB, UARTA, etc */
+
+/* PMU */
+/* disabled for now #define CONFIG_HW_WATCHDOG */
+
+#define CONFIG_BOOTDELAY 3
+
+/* ENV */
+#define CONFIG_ENV_SIZE SZ_4K /* env size is a maximum of 4k */
+#define CONFIG_ENV_SECT_SIZE CONFIG_ENV_SIZE
+
+#define CONFIG_NFSBOOTCOMMAND \
+ "setenv bootargs ${defargs} ${nfsargs}; " \
+ "echo Booting from NFS...; " \
+ "usb start; " \
+ "dhcp; " \
+ "bootm ${loadaddr} "
+
+#define USB_BOOTCMD \
+ "setenv bootargs ${defargs} root=/dev/sda3 rw rootwait; " \
+ "echo Booting from USB Stick...; " \
+ "usb start; " \
+ "fatload usb 0:1 ${loadaddr} uimage; " \
+ "bootm ${loadaddr} "
+
+#define EMMC_BOOTCMD \
+ "setenv bootargs ${defargs} ${mmcargs} ;" \
+ "echo Booting from internal eMMC card...; " \
+ "mmc read 0 ${loadaddr} ${mmc_kernel_sec}; " \
+ "bootm ${loadaddr} "
+
+#define CONFIG_BOOTCOMMAND "run emmcboot; run usbboot; run nfsboot;"
+#define CONFIG_LOADADDR 0x80408000
+#define CONFIG_ETHADDR 00:0e:c6:87:72:01
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ CONFIG_STD_DEVICES_SETTINGS \
+ "board=colibri_t30\0" \
+ "defargs=console=ttyS0,115200n8 debug_uartport=lsport lp0_vec=0x00002000@0x9C406000 video=tegrafb mem=1023M@2048M vmalloc=128M noinitrd usbcore.old_scheme_first=1 core_edp_mv=1300 panel=lvds tegraid=30.1.2.0.0 tegra_fbmem=3072K@0xBFE00000 \0" \
+ "mmcargs=root=/dev/mmcblk0p1 ip=:::::eth0:off rw rootwait rootfstype=ext2 gpt gpt_sector=32768 \0" \
+ "mmc_kernel_sec=0x5000 0x2000 \0" \
+ "nfsargs=ip=:::::eth0:on root=/dev/nfs rw netdevwait\0" \
+ "emmcboot=" EMMC_BOOTCMD "\0" \
+ "usbboot=" USB_BOOTCMD "\0"
+
+
+/* GPIO */
+#define CONFIG_TEGRA_GPIO
+#define CONFIG_CMD_TEGRA_GPIO_INFO
+
+/* I2C */
+#define CONFIG_TEGRA_I2C
+#define CONFIG_SYS_I2C_INIT_BOARD
+#define CONFIG_I2C_MULTI_BUS
+#define CONFIG_SYS_MAX_I2C_BUS 4
+#define CONFIG_SYS_I2C_SPEED 100000
+#define CONFIG_CMD_I2C
+
+/* PMU */
+#define CONFIG_TEGRA_PMU
+
+/* SD/MMC */
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_TEGRA_MMC
+#define CONFIG_CMD_MMC
+
+#define CONFIG_DOS_PARTITION
+#define CONFIG_EFI_PARTITION
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+
+/* NAND support */
+/*#define CONFIG_CMD_NAND
+#define CONFIG_TEGRA2_NAND */
+
+/* Max number of NAND devices */
+/*#define CONFIG_SYS_MAX_NAND_DEVICE 1 */
+
+/* Environment storage location, define only one of the alternatives */
+/*#define CONFIG_ENV_IS_NOWHERE*/ /* Environment not stored */
+/*#define CONFIG_ENV_IS_IN_NAND*/ /* use NAND for environment vars */
+#define CONFIG_ENV_IS_IN_MMC /* use NAND for environment vars */
+
+/* Environment stored in NAND flash */
+#if defined(CONFIG_ENV_IS_IN_NAND)
+/* temporarily use space at end of LNX kernel partition for now */
+/*#define CONFIG_ENV_OFFSET 0x1680000
+#define CONFIG_ENV_RANGE 0x200000*/
+#endif
+
+#if defined(CONFIG_ENV_IS_IN_MMC)
+#define CONFIG_SYS_MMC_ENV_DEV 0 /* use MMC0 */
+#define CONFIG_ENV_OFFSET (16384 * 512) /* Byteaddress of the beginning of the ENV partition */
+#endif
+
+/* support USB ethernet adapters */
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_ASIX
+
+/*
+ * Ethernet support
+ */
+#define CONFIG_CMD_NET
+#define CONFIG_NET_MULTI
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_DHCP
+
+/*
+ * LCDC configuration
+ */
+#define CONFIG_LCD
+#define CONFIG_VIDEO_TEGRA
+
+/* TODO: This needs to be configurable at run-time */
+#define LCD_BPP LCD_COLOR16
+#define CONFIG_SYS_WHITE_ON_BLACK /*Console colors*/
+
+#endif /* __CONFIG_H */
diff --git a/include/configs/harmony.h b/include/configs/harmony.h
index 6fb1021fcb..c9e0583e1f 100644
--- a/include/configs/harmony.h
+++ b/include/configs/harmony.h
@@ -126,6 +126,14 @@
/* physical address to access nand at CS0 */
#define CONFIG_SYS_NAND_BASE TEGRA_NAND_BASE
+/* I2C */
+#define CONFIG_TEGRA_I2C
+#define CONFIG_SYS_I2C_INIT_BOARD
+#define CONFIG_I2C_MULTI_BUS
+#define CONFIG_SYS_MAX_I2C_BUS 4
+#define CONFIG_SYS_I2C_SPEED 100000
+#define CONFIG_CMD_I2C
+
/* Max number of NAND devices */
#define CONFIG_SYS_MAX_NAND_DEVICE 1
#endif /* __CONFIG_H */
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 21ddcdf7a9..8c4448beca 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -111,6 +111,7 @@
/* allow to overwrite serial and ethaddr */
#define CONFIG_ENV_OVERWRITE
+/* environment baudrate unfortunately does not seem to work properly */
#define CONFIG_BAUDRATE 115200
#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\
115200}
diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h
index 8396dc4d3b..d8f1eda7b3 100644
--- a/include/configs/tegra2-common.h
+++ b/include/configs/tegra2-common.h
@@ -107,7 +107,8 @@
#define CONFIG_SYS_NO_FLASH
#ifdef CONFIG_TEGRA2_WARMBOOT
-#define TEGRA_LP0_ADDR 0x1C406000
+//ToDo: determine LP0 address dynamically
+#define TEGRA_LP0_ADDR 0x0C406000
#define TEGRA_LP0_SIZE 0x2000
#define TEGRA_LP0_VEC \
"lp0_vec=" QUOTE(TEGRA_LP0_SIZE) "@" QUOTE(TEGRA_LP0_ADDR) " "
@@ -154,9 +155,9 @@
*/
#define CONFIG_NR_DRAM_BANKS 1
#define PHYS_SDRAM_1 TEGRA_SDRC_CS0
-#define PHYS_SDRAM_1_SIZE 0x20000000 /* 512M */
+/* Size queried at runtime by board_query_sdram_size() */
-#define CONFIG_SYS_TEXT_BASE 0x00E08000
+#define CONFIG_SYS_TEXT_BASE 0x00108000
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
#define BCT_SDRAM_PARAMS_OFFSET (BCT_OFFSET + 0x88)
diff --git a/include/configs/tegra3-common.h b/include/configs/tegra3-common.h
index ea391c1900..4a42c63e46 100644
--- a/include/configs/tegra3-common.h
+++ b/include/configs/tegra3-common.h
@@ -131,7 +131,7 @@
#define PHYS_SDRAM_1 TEGRA_SDRC_CS0
#define PHYS_SDRAM_1_SIZE 0x40000000 /* 1GB */
-#define CONFIG_SYS_TEXT_BASE 0x80E08000
+#define CONFIG_SYS_TEXT_BASE 0x80108000
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
#define CONFIG_INITRD_TAG /* enable initrd ATAG */
diff --git a/include/fdt_decode.h b/include/fdt_decode.h
index 7b9e94919c..0969e29dec 100644
--- a/include/fdt_decode.h
+++ b/include/fdt_decode.h
@@ -244,6 +244,17 @@ enum {
FDT_NAND_TIMING_COUNT
};
+enum {
+ FDT_NAND_ENV_OFFSET,
+ FDT_NAND_CONFIG_OFFSET,
+ FDT_NAND_CONFIG_OFFSET2,
+ FDT_NAND_KERNEL_OFFSET,
+ FDT_NAND_ROOTFS_LENGTH,
+ FDT_NAND_ROOTFS_SIZE,
+
+ FDT_NAND_PARTOFFSET_COUNT
+};
+
/* Information about an attached NAND chip */
struct fdt_nand {
struct nand_ctlr *reg;
@@ -262,6 +273,13 @@ struct fdt_nand {
int page_spare_bytes;
int page_data_bytes; /* Bytes in data area */
int timing[FDT_NAND_TIMING_COUNT];
+ /*
+ * The offset of the start of
+ * u-boot-environment config-block kernel rootfs-size rootfs-start
+ * rootfs: the numbers are concatenated to mtdparts=tegra_nand:<rootfs-size>K@<rootfs-start>K(userspace)
+ * take them from a download with NVFLASH
+ */
+ int nv_partitions[FDT_NAND_PARTOFFSET_COUNT];
};
/**
diff --git a/include/u-boot/md5.h b/include/u-boot/md5.h
index 08924cce3c..e09c16a6e3 100644
--- a/include/u-boot/md5.h
+++ b/include/u-boot/md5.h
@@ -11,7 +11,10 @@
struct MD5Context {
__u32 buf[4];
__u32 bits[2];
- unsigned char in[64];
+ union {
+ unsigned char in[64];
+ __u32 in32[16];
+ };
};
/*