2011-01-27 10:58:08 +00:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2010,2011
|
|
|
|
* NVIDIA Corporation <www.nvidia.com>
|
|
|
|
*
|
2013-07-08 07:37:19 +00:00
|
|
|
* SPDX-License-Identifier: GPL-2.0+
|
2011-01-27 10:58:08 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __CONFIG_H
|
|
|
|
#define __CONFIG_H
|
|
|
|
|
|
|
|
#include <asm/sizes.h>
|
2012-04-02 13:19:03 +00:00
|
|
|
|
|
|
|
/* LP0 suspend / resume */
|
2012-09-05 00:00:24 +00:00
|
|
|
#define CONFIG_TEGRA_LP0
|
2012-04-02 13:19:03 +00:00
|
|
|
#define CONFIG_AES
|
|
|
|
#define CONFIG_TEGRA_PMU
|
|
|
|
#define CONFIG_TPS6586X_POWER
|
|
|
|
#define CONFIG_TEGRA_CLOCK_SCALING
|
|
|
|
|
2012-08-31 08:30:00 +00:00
|
|
|
#include "tegra20-common.h"
|
2011-01-27 10:58:08 +00:00
|
|
|
|
2012-02-27 10:52:53 +00:00
|
|
|
/* Enable fdt support for Seaboard. Flash the image in u-boot-dtb.bin */
|
2012-08-31 08:30:00 +00:00
|
|
|
#define CONFIG_DEFAULT_DEVICE_TREE tegra20-seaboard
|
2012-02-27 10:52:53 +00:00
|
|
|
#define CONFIG_OF_CONTROL
|
|
|
|
#define CONFIG_OF_SEPARATE
|
|
|
|
|
2011-01-27 10:58:08 +00:00
|
|
|
/* High-level configuration options */
|
2012-08-31 08:30:00 +00:00
|
|
|
#define V_PROMPT "Tegra20 (SeaBoard) # "
|
2012-09-05 00:00:24 +00:00
|
|
|
#define CONFIG_TEGRA_BOARD_STRING "NVIDIA Seaboard"
|
2011-01-27 10:58:08 +00:00
|
|
|
|
|
|
|
/* Board-specific serial config */
|
2012-09-05 00:00:24 +00:00
|
|
|
#define CONFIG_TEGRA_ENABLE_UARTD
|
2011-01-27 10:58:08 +00:00
|
|
|
#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
|
|
|
|
|
2011-11-05 04:46:47 +00:00
|
|
|
/* On Seaboard: GPIO_PI3 = Port I = 8, bit = 3 */
|
|
|
|
#define CONFIG_UART_DISABLE_GPIO GPIO_PI3
|
|
|
|
|
2011-02-23 09:54:31 +00:00
|
|
|
#define CONFIG_MACH_TYPE MACH_TYPE_SEABOARD
|
2011-01-27 10:58:08 +00:00
|
|
|
|
2011-04-14 12:18:06 +00:00
|
|
|
#define CONFIG_BOARD_EARLY_INIT_F
|
2012-10-17 13:25:00 +00:00
|
|
|
#define CONFIG_BOARD_LATE_INIT /* Make sure LCD init is complete */
|
2011-05-31 10:30:38 +00:00
|
|
|
|
2012-02-03 15:14:00 +00:00
|
|
|
/* I2C */
|
2012-10-30 07:28:53 +00:00
|
|
|
#define CONFIG_SYS_I2C_TEGRA
|
2012-02-03 15:14:00 +00:00
|
|
|
#define CONFIG_SYS_I2C_INIT_BOARD
|
|
|
|
#define CONFIG_SYS_I2C_SPEED 100000
|
|
|
|
#define CONFIG_CMD_I2C
|
2012-10-30 07:28:53 +00:00
|
|
|
#define CONFIG_SYS_I2C
|
2012-02-03 15:14:00 +00:00
|
|
|
|
2011-05-31 10:30:38 +00:00
|
|
|
/* SD/MMC */
|
|
|
|
#define CONFIG_MMC
|
|
|
|
#define CONFIG_GENERIC_MMC
|
2012-05-22 11:44:48 +00:00
|
|
|
#define CONFIG_TEGRA_MMC
|
2011-05-31 10:30:38 +00:00
|
|
|
#define CONFIG_CMD_MMC
|
|
|
|
|
tegra: seaboard: disable SPI, move environment to eMMC
The SPI hardware on Seaboard is too broken to use; it is muxed with the
console UART and requires evil interactions between the SPI and UART
drivers to work even partially. The current code in U-Boot is not
sufficient to make this work correctly; auto boot is aborted due to
corruption in the UART RX channel interrupting it.
Instead, move the environment to eMMC, at the end of the second boot
sector. This should not conflict with any other eMMC usage, irrespective
of whether the board boots from SPI, NAND, or eMMC: if U-Boot is stored
in eMMC, it will be stored well below this location. The kernel only
uses the general area of the eMMC once booted, not the boot sectors.
Boards that are derivatives of Seaboard don't have the muxing issue,
and should/could have a separate U-Boot configuration file that does
enable SPI if desired.
Alternatively, the environment could be stored in NAND flash, but we
currently have no driver for that controller.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2012-05-24 11:38:39 +00:00
|
|
|
/* Environment in eMMC, at the end of 2nd "boot sector" */
|
|
|
|
#define CONFIG_ENV_IS_IN_MMC
|
2013-06-11 21:14:03 +00:00
|
|
|
#define CONFIG_ENV_OFFSET (-CONFIG_ENV_SIZE)
|
tegra: seaboard: disable SPI, move environment to eMMC
The SPI hardware on Seaboard is too broken to use; it is muxed with the
console UART and requires evil interactions between the SPI and UART
drivers to work even partially. The current code in U-Boot is not
sufficient to make this work correctly; auto boot is aborted due to
corruption in the UART RX channel interrupting it.
Instead, move the environment to eMMC, at the end of the second boot
sector. This should not conflict with any other eMMC usage, irrespective
of whether the board boots from SPI, NAND, or eMMC: if U-Boot is stored
in eMMC, it will be stored well below this location. The kernel only
uses the general area of the eMMC once booted, not the boot sectors.
Boards that are derivatives of Seaboard don't have the muxing issue,
and should/could have a separate U-Boot configuration file that does
enable SPI if desired.
Alternatively, the environment could be stored in NAND flash, but we
currently have no driver for that controller.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2012-05-24 11:38:39 +00:00
|
|
|
#define CONFIG_SYS_MMC_ENV_DEV 0
|
2012-07-30 10:55:45 +00:00
|
|
|
#define CONFIG_SYS_MMC_ENV_PART 2
|
2012-02-27 10:52:52 +00:00
|
|
|
|
|
|
|
/* USB Host support */
|
2012-10-12 09:45:49 +00:00
|
|
|
#define CONFIG_USB_MAX_CONTROLLER_COUNT 3
|
2012-02-27 10:52:52 +00:00
|
|
|
#define CONFIG_USB_EHCI
|
|
|
|
#define CONFIG_USB_EHCI_TEGRA
|
|
|
|
#define CONFIG_USB_STORAGE
|
|
|
|
#define CONFIG_CMD_USB
|
|
|
|
|
2012-05-16 06:36:12 +00:00
|
|
|
/* USB networking support */
|
|
|
|
#define CONFIG_USB_HOST_ETHER
|
|
|
|
#define CONFIG_USB_ETHER_ASIX
|
|
|
|
|
|
|
|
/* General networking support */
|
|
|
|
#define CONFIG_CMD_NET
|
|
|
|
#define CONFIG_CMD_DHCP
|
|
|
|
|
2012-04-17 09:01:37 +00:00
|
|
|
/* Enable keyboard */
|
2012-09-05 00:00:24 +00:00
|
|
|
#define CONFIG_TEGRA_KEYBOARD
|
2012-04-17 09:01:37 +00:00
|
|
|
#define CONFIG_KEYBOARD
|
|
|
|
|
2012-10-24 08:32:06 +00:00
|
|
|
/* USB keyboard */
|
|
|
|
#define CONFIG_USB_KEYBOARD
|
2012-10-17 13:25:00 +00:00
|
|
|
|
|
|
|
/* LCD support */
|
|
|
|
#define CONFIG_LCD
|
|
|
|
#define CONFIG_PWM_TEGRA
|
|
|
|
#define CONFIG_VIDEO_TEGRA
|
|
|
|
#define LCD_BPP LCD_COLOR16
|
|
|
|
#define CONFIG_SYS_WHITE_ON_BLACK
|
|
|
|
#define CONFIG_CONSOLE_SCROLL_LINES 10
|
tegra: flesh out bootcmd
This implements a useful bootcmd for Tegra. The boot order is:
* If USB enabled, USB storage
* Internal MMC (SD card or eMMC)
* If networking is enabled, BOOTP/TFTP
When booting from USB or MMC, the boot script is assumed to be in
partition 1 (although this may be overridden via the rootpart variable),
both ext2 and FAT filesystems are supported, the boot script may exist
in either / or /boot, and the boot script may be named boot.scr.uimg or
boot.scr.
When booting over the network, it is assumed that boot.scr.uimg exists
on the TFTP server. There is less flexibility here since those setting
up network booting are expected to need less hand-holding.
In all cases, it is expected that the initial file loaded is a U-Boot
image containing a script that will load the kernel, load any required
initrd, load any required DTB, and finally bootm the kernel.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2012-05-16 06:21:00 +00:00
|
|
|
|
2012-07-29 20:53:30 +00:00
|
|
|
/* NAND support */
|
|
|
|
#define CONFIG_CMD_NAND
|
|
|
|
#define CONFIG_TEGRA_NAND
|
|
|
|
|
|
|
|
/* Max number of NAND devices */
|
|
|
|
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
2012-11-05 13:21:01 +00:00
|
|
|
|
|
|
|
#include "tegra-common-post.h"
|
|
|
|
|
2011-01-27 10:58:08 +00:00
|
|
|
#endif /* __CONFIG_H */
|