summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen Martin <amartin@nvidia.com>2012-08-31 08:30:01 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-09-01 14:58:21 +0200
commitd9e73a87a9bf30fca8de0578007ae431f18e5434 (patch)
treeacbd09a4229aba969fa3183f5095f8803435e79b
parent00a2749d7be5b0e6cb6435187ec8fea600b44627 (diff)
downloadu-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--Makefile3
-rw-r--r--arch/arm/cpu/armv7/tegra20/Makefile15
-rw-r--r--arch/arm/cpu/tegra20-common/Makefile57
-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/Makefile4
19 files changed, 66 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 913360c..a080838 100644
--- a/Makefile
+++ b/Makefile
@@ -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)))