diff options
| author | Tom Warren <twarren.nvidia@gmail.com> | 2012-12-11 13:34:17 +0000 | 
|---|---|---|
| committer | Tom Warren <twarren@nvidia.com> | 2013-01-16 13:40:08 -0700 | 
| commit | 6d6c0baebe14fd94b5462f098ce03b532e561759 (patch) | |
| tree | a2988fc9f99d65eec1159ef6a665aa544b88fbc2 | |
| parent | 79ce91badeec7c1d0789d16800c2cd679f9d006a (diff) | |
| download | olio-uboot-2014.01-6d6c0baebe14fd94b5462f098ce03b532e561759.tar.xz olio-uboot-2014.01-6d6c0baebe14fd94b5462f098ce03b532e561759.zip | |
Tegra30: Add generic Tegra30 build support
This patch adds basic Tegra30 (T30) build support - no specific
board is targeted.
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
| -rw-r--r-- | Makefile | 6 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/start.S | 4 | ||||
| -rw-r--r-- | board/nvidia/common/board.c | 17 | ||||
| -rw-r--r-- | include/serial.h | 2 | ||||
| -rw-r--r-- | spl/Makefile | 2 | 
6 files changed, 22 insertions, 11 deletions
| @@ -348,7 +348,7 @@ endif  ifeq ($(SOC),exynos)  LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o  endif -ifeq ($(SOC),tegra20) +ifneq ($(CONFIG_TEGRA),)  LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o  LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o  LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o @@ -413,7 +413,7 @@ ALL-$(CONFIG_SPL) += $(obj)$(subst ",,$(CONFIG_SPL_TARGET))  ALL-$(CONFIG_OF_SEPARATE) += $(obj)u-boot.dtb $(obj)u-boot-dtb.bin  # enable combined SPL/u-boot/dtb rules for tegra -ifeq ($(SOC),tegra20) +ifneq ($(CONFIG_TEGRA),)  ifeq ($(CONFIG_OF_SEPARATE),y)  ALL-y += $(obj)u-boot-dtb-tegra.bin  else @@ -530,7 +530,7 @@ $(obj)u-boot.spr:	$(obj)u-boot.img $(obj)spl/u-boot-spl.bin  			conv=notrunc 2>/dev/null  		cat $(obj)spl/u-boot-spl-pad.img $(obj)u-boot.img > $@ -ifeq ($(SOC),tegra20) +ifneq ($(CONFIG_TEGRA),)  ifeq ($(CONFIG_OF_SEPARATE),y)  nodtb=dtb  dtbfile=$(obj)u-boot.dtb diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile index 4fdbee4bc..ee8c2b3fa 100644 --- a/arch/arm/cpu/armv7/Makefile +++ b/arch/arm/cpu/armv7/Makefile @@ -32,7 +32,7 @@ COBJS	+= cache_v7.o  COBJS	+= cpu.o  COBJS	+= syslib.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA20),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA),)  SOBJS	+= lowlevel_init.o  endif diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S index dcc1f831b..6b59529d5 100644 --- a/arch/arm/cpu/armv7/start.S +++ b/arch/arm/cpu/armv7/start.S @@ -251,12 +251,12 @@ ENTRY(c_runtime_cpu_setup)  /*   * Move vector table   */ -#if !defined(CONFIG_TEGRA20) +#if !defined(CONFIG_TEGRA)  	/* Set vector address in CP15 VBAR register */  	ldr     r0, =_start  	add     r0, r0, r9  	mcr     p15, 0, r0, c12, c0, 0  @Set VBAR -#endif /* !Tegra20 */ +#endif /* !Tegra */  	bx	lr diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c index 819c12046..a4af5391b 100644 --- a/board/nvidia/common/board.c +++ b/board/nvidia/common/board.c @@ -26,22 +26,30 @@  #include <linux/compiler.h>  #include <asm/io.h>  #include <asm/arch/clock.h> +#ifdef CONFIG_LCD  #include <asm/arch/display.h> -#include <asm/arch/emc.h> +#endif  #include <asm/arch/funcmux.h>  #include <asm/arch/pinmux.h>  #include <asm/arch/pmu.h> +#ifdef CONFIG_PWM_TEGRA  #include <asm/arch/pwm.h> +#endif  #include <asm/arch/tegra.h> -#include <asm/arch/usb.h>  #include <asm/arch-tegra/board.h>  #include <asm/arch-tegra/clk_rst.h>  #include <asm/arch-tegra/pmc.h>  #include <asm/arch-tegra/sys_proto.h>  #include <asm/arch-tegra/uart.h>  #include <asm/arch-tegra/warmboot.h> -#include <spi.h> +#ifdef CONFIG_TEGRA_CLOCK_SCALING +#include <asm/arch/emc.h> +#endif +#ifdef CONFIG_USB_EHCI_TEGRA +#include <asm/arch/usb.h> +#endif  #include <i2c.h> +#include <spi.h>  #include "emc.h"  DECLARE_GLOBAL_DATA_PTR; @@ -188,6 +196,9 @@ void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));  int board_early_init_f(void)  { +#if defined(CONFIG_TEGRA30) +	pinmux_init(); +#endif  	board_init_uart_f();  	/* Initialize periph GPIOs */ diff --git a/include/serial.h b/include/serial.h index 14f863ed2..f6bb2b90a 100644 --- a/include/serial.h +++ b/include/serial.h @@ -32,7 +32,7 @@ extern struct serial_device *default_serial_console(void);  	defined(CONFIG_MB86R0x) || defined(CONFIG_MPC5xxx) || \  	defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx) || \  	defined(CONFIG_MPC86xx) || defined(CONFIG_SYS_SC520) || \ -	defined(CONFIG_TEGRA20) || defined(CONFIG_SYS_COREBOOT) || \ +	defined(CONFIG_TEGRA) || defined(CONFIG_SYS_COREBOOT) || \  	defined(CONFIG_MICROBLAZE)  extern struct serial_device serial0_device;  extern struct serial_device serial1_device; diff --git a/spl/Makefile b/spl/Makefile index 6dbb1055b..842f15455 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -86,7 +86,7 @@ ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),)  LIBS-y += $(CPUDIR)/omap-common/libomap-common.o  endif -ifeq ($(SOC),tegra20) +ifneq ($(CONFIG_TEGRA),)  LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o  LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o  LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o |