diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2012-08-22 16:16:26 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2012-08-22 16:16:26 +0200 |
commit | 2a1325206da5381292c2b268e248702c523cc927 (patch) | |
tree | 45d684a865eab51b0711d07782b1d8e8ae9d9932 /include | |
parent | 2f2f858faddd3cce54f7c64bc8fc8b596c1ddfaf (diff) |
Initial Toradex Colibri T20 L4T R15 support.T20_LinuxImageV2.0Alpha1_20120808
Diffstat (limited to 'include')
-rw-r--r-- | include/configs/cardhu.h | 17 | ||||
-rw-r--r-- | include/configs/colibri_t20.h | 246 | ||||
-rw-r--r-- | include/configs/colibri_t20_sdboot.h | 93 | ||||
-rw-r--r-- | include/configs/colibri_t30.h | 178 | ||||
-rw-r--r-- | include/configs/harmony.h | 8 | ||||
-rw-r--r-- | include/configs/tegra-common.h | 1 | ||||
-rw-r--r-- | include/configs/tegra2-common.h | 7 | ||||
-rw-r--r-- | include/configs/tegra3-common.h | 2 | ||||
-rw-r--r-- | include/fdt_decode.h | 18 | ||||
-rw-r--r-- | include/u-boot/md5.h | 5 |
10 files changed, 568 insertions, 7 deletions
diff --git a/include/configs/cardhu.h b/include/configs/cardhu.h index 79cb79c6fe5..69d15088b1c 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 00000000000..52a84141488 --- /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 00000000000..a23d1a68237 --- /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 00000000000..02fcbe9139a --- /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 6fb1021fcb6..c9e0583e1f5 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 21ddcdf7a9b..8c4448beca4 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 8396dc4d3b0..d8f1eda7b3c 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 ea391c19009..4a42c63e468 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 7b9e94919cf..0969e29dec2 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 08924cce3cf..e09c16a6e3f 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]; + }; }; /* |