diff options
author | Allen Martin <amartin@nvidia.com> | 2012-08-31 08:30:01 +0000 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-09-01 14:58:21 +0200 |
commit | d9e73a87a9bf30fca8de0578007ae431f18e5434 (patch) | |
tree | acbd09a4229aba969fa3183f5095f8803435e79b | |
parent | 00a2749d7be5b0e6cb6435187ec8fea600b44627 (diff) | |
download | u-boot-imx-d9e73a87a9bf30fca8de0578007ae431f18e5434.zip u-boot-imx-d9e73a87a9bf30fca8de0578007ae431f18e5434.tar.gz u-boot-imx-d9e73a87a9bf30fca8de0578007ae431f18e5434.tar.bz2 |
tegra20: move tegra20 SoC code to arch/arm/cpu/tegra20-common
In preparation for splitting out the armv4t code from tegra20, move
the tegra20 SoC code to arch/arm/cpu/tegra20-common. This code will
be compiled armv4t for the arm7tdmi and armv7 for the cortex A9.
Signed-off-by: Allen Martin <amartin@nvidia.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Tom Warren <twarren@nvidia.com>
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | arch/arm/cpu/armv7/tegra20/Makefile | 15 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/Makefile | 57 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/ap20.c (renamed from arch/arm/cpu/armv7/tegra20/ap20.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/board.c (renamed from arch/arm/cpu/armv7/tegra20/board.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/clock.c (renamed from arch/arm/cpu/armv7/tegra20/clock.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/crypto.c (renamed from arch/arm/cpu/armv7/tegra20/crypto.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/crypto.h (renamed from arch/arm/cpu/armv7/tegra20/crypto.h) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/emc.c (renamed from arch/arm/cpu/armv7/tegra20/emc.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/funcmux.c (renamed from arch/arm/cpu/armv7/tegra20/funcmux.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/lowlevel_init.S (renamed from arch/arm/cpu/armv7/tegra20/lowlevel_init.S) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/pinmux.c (renamed from arch/arm/cpu/armv7/tegra20/pinmux.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/pmu.c (renamed from arch/arm/cpu/armv7/tegra20/pmu.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/sys_info.c (renamed from arch/arm/cpu/armv7/tegra20/sys_info.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/timer.c (renamed from arch/arm/cpu/armv7/tegra20/timer.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/warmboot.c (renamed from arch/arm/cpu/armv7/tegra20/warmboot.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/warmboot_avp.c (renamed from arch/arm/cpu/armv7/tegra20/warmboot_avp.c) | 0 | ||||
-rw-r--r-- | arch/arm/cpu/tegra20-common/warmboot_avp.h (renamed from arch/arm/cpu/armv7/tegra20/warmboot_avp.h) | 0 | ||||
-rw-r--r-- | spl/Makefile | 4 |
19 files changed, 66 insertions, 13 deletions
@@ -319,6 +319,9 @@ endif ifeq ($(SOC),exynos) LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o endif +ifeq ($(SOC),tegra20) +LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o +endif LIBS := $(addprefix $(obj),$(sort $(LIBS-y))) .PHONY : $(LIBS) diff --git a/arch/arm/cpu/armv7/tegra20/Makefile b/arch/arm/cpu/armv7/tegra20/Makefile index da62646..5f4035d 100644 --- a/arch/arm/cpu/armv7/tegra20/Makefile +++ b/arch/arm/cpu/armv7/tegra20/Makefile @@ -23,27 +23,16 @@ # MA 02111-1307 USA # -# The AVP is ARMv4T architecture so we must use special compiler -# flags for any startup files it might use. -CFLAGS_arch/arm/cpu/armv7/tegra20/ap20.o += -march=armv4t -CFLAGS_arch/arm/cpu/armv7/tegra20/clock.o += -march=armv4t -CFLAGS_arch/arm/cpu/armv7/tegra20/warmboot_avp.o += -march=armv4t - include $(TOPDIR)/config.mk LIB = $(obj)lib$(SOC).o -SOBJS := lowlevel_init.o -COBJS-y := ap20.o board.o clock.o funcmux.o pinmux.o sys_info.o timer.o -COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += emc.o -COBJS-$(CONFIG_TEGRA_PMU) += pmu.o COBJS-$(CONFIG_USB_EHCI_TEGRA) += usb.o -COBJS-$(CONFIG_TEGRA20_LP0) += crypto.o warmboot.o warmboot_avp.o COBJS-$(CONFIG_CMD_ENTERRCM) += cmd_enterrcm.o COBJS := $(COBJS-y) -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS)) +SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) all: $(obj).depend $(LIB) diff --git a/arch/arm/cpu/tegra20-common/Makefile b/arch/arm/cpu/tegra20-common/Makefile new file mode 100644 index 0000000..60be2a6 --- /dev/null +++ b/arch/arm/cpu/tegra20-common/Makefile @@ -0,0 +1,57 @@ +# +# (C) Copyright 2010,2011 Nvidia Corporation. +# +# (C) Copyright 2000-2008 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# 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 +# + +include $(TOPDIR)/config.mk + +# The AVP is ARMv4T architecture so we must use special compiler +# flags for any startup files it might use. +CFLAGS_arch/arm/cpu/tegra20-common/ap20.o += -march=armv4t +CFLAGS_arch/arm/cpu/tegra20-common/clock.o += -march=armv4t +CFLAGS_arch/arm/cpu/tegra20-common/warmboot_avp.o += -march=armv4t + +LIB = $(obj)lib$(SOC)-common.o + +SOBJS += lowlevel_init.o +COBJS-y += ap20.o board.o clock.o funcmux.o pinmux.o sys_info.o timer.o +COBJS-$(CONFIG_TEGRA20_LP0) += warmboot.o crypto.o warmboot_avp.o +COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += emc.o +COBJS-$(CONFIG_TEGRA_PMU) += pmu.o + +SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS-y)) + +all: $(obj).depend $(LIB) + +$(LIB): $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/arch/arm/cpu/armv7/tegra20/ap20.c b/arch/arm/cpu/tegra20-common/ap20.c index 8b6afbc..8b6afbc 100644 --- a/arch/arm/cpu/armv7/tegra20/ap20.c +++ b/arch/arm/cpu/tegra20-common/ap20.c diff --git a/arch/arm/cpu/armv7/tegra20/board.c b/arch/arm/cpu/tegra20-common/board.c index e595ff9..e595ff9 100644 --- a/arch/arm/cpu/armv7/tegra20/board.c +++ b/arch/arm/cpu/tegra20-common/board.c diff --git a/arch/arm/cpu/armv7/tegra20/clock.c b/arch/arm/cpu/tegra20-common/clock.c index 2403874..2403874 100644 --- a/arch/arm/cpu/armv7/tegra20/clock.c +++ b/arch/arm/cpu/tegra20-common/clock.c diff --git a/arch/arm/cpu/armv7/tegra20/crypto.c b/arch/arm/cpu/tegra20-common/crypto.c index 5f0b240..5f0b240 100644 --- a/arch/arm/cpu/armv7/tegra20/crypto.c +++ b/arch/arm/cpu/tegra20-common/crypto.c diff --git a/arch/arm/cpu/armv7/tegra20/crypto.h b/arch/arm/cpu/tegra20-common/crypto.h index aff67e7..aff67e7 100644 --- a/arch/arm/cpu/armv7/tegra20/crypto.h +++ b/arch/arm/cpu/tegra20-common/crypto.h diff --git a/arch/arm/cpu/armv7/tegra20/emc.c b/arch/arm/cpu/tegra20-common/emc.c index ffc05e4..ffc05e4 100644 --- a/arch/arm/cpu/armv7/tegra20/emc.c +++ b/arch/arm/cpu/tegra20-common/emc.c diff --git a/arch/arm/cpu/armv7/tegra20/funcmux.c b/arch/arm/cpu/tegra20-common/funcmux.c index 8cfed64..8cfed64 100644 --- a/arch/arm/cpu/armv7/tegra20/funcmux.c +++ b/arch/arm/cpu/tegra20-common/funcmux.c diff --git a/arch/arm/cpu/armv7/tegra20/lowlevel_init.S b/arch/arm/cpu/tegra20-common/lowlevel_init.S index d117f23..d117f23 100644 --- a/arch/arm/cpu/armv7/tegra20/lowlevel_init.S +++ b/arch/arm/cpu/tegra20-common/lowlevel_init.S diff --git a/arch/arm/cpu/armv7/tegra20/pinmux.c b/arch/arm/cpu/tegra20-common/pinmux.c index 70e84df..70e84df 100644 --- a/arch/arm/cpu/armv7/tegra20/pinmux.c +++ b/arch/arm/cpu/tegra20-common/pinmux.c diff --git a/arch/arm/cpu/armv7/tegra20/pmu.c b/arch/arm/cpu/tegra20-common/pmu.c index 53505e9..53505e9 100644 --- a/arch/arm/cpu/armv7/tegra20/pmu.c +++ b/arch/arm/cpu/tegra20-common/pmu.c diff --git a/arch/arm/cpu/armv7/tegra20/sys_info.c b/arch/arm/cpu/tegra20-common/sys_info.c index 1a0bb56..1a0bb56 100644 --- a/arch/arm/cpu/armv7/tegra20/sys_info.c +++ b/arch/arm/cpu/tegra20-common/sys_info.c diff --git a/arch/arm/cpu/armv7/tegra20/timer.c b/arch/arm/cpu/tegra20-common/timer.c index 562e414..562e414 100644 --- a/arch/arm/cpu/armv7/tegra20/timer.c +++ b/arch/arm/cpu/tegra20-common/timer.c diff --git a/arch/arm/cpu/armv7/tegra20/warmboot.c b/arch/arm/cpu/tegra20-common/warmboot.c index 809ea01..809ea01 100644 --- a/arch/arm/cpu/armv7/tegra20/warmboot.c +++ b/arch/arm/cpu/tegra20-common/warmboot.c diff --git a/arch/arm/cpu/armv7/tegra20/warmboot_avp.c b/arch/arm/cpu/tegra20-common/warmboot_avp.c index cd01908..cd01908 100644 --- a/arch/arm/cpu/armv7/tegra20/warmboot_avp.c +++ b/arch/arm/cpu/tegra20-common/warmboot_avp.c diff --git a/arch/arm/cpu/armv7/tegra20/warmboot_avp.h b/arch/arm/cpu/tegra20-common/warmboot_avp.h index 4b71c07..4b71c07 100644 --- a/arch/arm/cpu/armv7/tegra20/warmboot_avp.h +++ b/arch/arm/cpu/tegra20-common/warmboot_avp.h diff --git a/spl/Makefile b/spl/Makefile index 2cf7bda..8946d82 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -61,6 +61,10 @@ ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) LIBS-y += $(CPUDIR)/omap-common/libomap-common.o endif +ifeq ($(SOC),tegra20) +LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o +endif + START := $(addprefix $(SPLTREE)/,$(START)) LIBS := $(addprefix $(SPLTREE)/,$(sort $(LIBS-y))) |