[U-Boot] [PATCH v8 02/15] tegra20: move tegra20 SoC code to arch/arm/cpu/tegra20-common

Allen Martin amartin at nvidia.com
Wed Aug 15 22:44:19 CEST 2012


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 at nvidia.com>
Acked-by: Stephen Warren <swarren at wwwdotorg.org>
Tested-by: Thierry Reding <thierry.reding at avionic-design.de>
Signed-off-by: Tom Warren <twarren at nvidia.com>
---
 Makefile                                           |    3 ++
 arch/arm/cpu/armv7/tegra20/Makefile                |   15 ++--------
 .../cpu/{armv7/tegra20 => tegra20-common}/Makefile |   31 +++++++++-----------
 .../cpu/{armv7/tegra20 => tegra20-common}/ap20.c   |    0
 .../cpu/{armv7/tegra20 => tegra20-common}/board.c  |    0
 .../cpu/{armv7/tegra20 => tegra20-common}/clock.c  |    0
 .../cpu/{armv7/tegra20 => tegra20-common}/crypto.c |    0
 .../cpu/{armv7/tegra20 => tegra20-common}/crypto.h |    0
 .../cpu/{armv7/tegra20 => tegra20-common}/emc.c    |    0
 .../{armv7/tegra20 => tegra20-common}/funcmux.c    |    0
 .../tegra20 => tegra20-common}/lowlevel_init.S     |    0
 .../cpu/{armv7/tegra20 => tegra20-common}/pinmux.c |    0
 .../cpu/{armv7/tegra20 => tegra20-common}/pmu.c    |    0
 .../{armv7/tegra20 => tegra20-common}/sys_info.c   |    0
 .../cpu/{armv7/tegra20 => tegra20-common}/timer.c  |    0
 .../{armv7/tegra20 => tegra20-common}/warmboot.c   |    0
 .../tegra20 => tegra20-common}/warmboot_avp.c      |    0
 .../tegra20 => tegra20-common}/warmboot_avp.h      |    0
 spl/Makefile                                       |    4 +++
 19 files changed, 23 insertions(+), 30 deletions(-)
 copy arch/arm/cpu/{armv7/tegra20 => tegra20-common}/Makefile (66%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/ap20.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/board.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/clock.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/crypto.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/crypto.h (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/emc.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/funcmux.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/lowlevel_init.S (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/pinmux.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/pmu.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/sys_info.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/timer.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/warmboot.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/warmboot_avp.c (100%)
 rename arch/arm/cpu/{armv7/tegra20 => tegra20-common}/warmboot_avp.h (100%)

diff --git a/Makefile b/Makefile
index f6471e2..08d58cf 100644
--- a/Makefile
+++ b/Makefile
@@ -322,6 +322,9 @@ endif
 ifeq ($(SOC),exynos)
 LIBS += $(CPUDIR)/s5p-common/libs5p-common.o
 endif
+ifeq ($(SOC),tegra20)
+LIBS += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o
+endif
 
 LIBS := $(addprefix $(obj),$(sort $(LIBS)))
 .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/armv7/tegra20/Makefile b/arch/arm/cpu/tegra20-common/Makefile
similarity index 66%
copy from arch/arm/cpu/armv7/tegra20/Makefile
copy to arch/arm/cpu/tegra20-common/Makefile
index da62646..60be2a6 100644
--- a/arch/arm/cpu/armv7/tegra20/Makefile
+++ b/arch/arm/cpu/tegra20-common/Makefile
@@ -1,7 +1,7 @@
 #
 # (C) Copyright 2010,2011 Nvidia Corporation.
 #
-# (C) Copyright 2000-2003
+# (C) Copyright 2000-2008
 # Wolfgang Denk, DENX Software Engineering, wd at denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -14,7 +14,7 @@
 #
 # 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
+# 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
@@ -23,29 +23,26 @@
 # 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/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
+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).o
+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
+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
-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	:= $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 
-all:	 $(obj).depend $(LIB)
+all:	$(obj).depend $(LIB)
 
 $(LIB):	$(OBJS)
 	$(call cmd_link_o_target, $(OBJS))
diff --git a/arch/arm/cpu/armv7/tegra20/ap20.c b/arch/arm/cpu/tegra20-common/ap20.c
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/ap20.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/board.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/clock.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/crypto.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/crypto.h
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/emc.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/funcmux.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/lowlevel_init.S
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/pinmux.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/pmu.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/sys_info.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/timer.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/warmboot.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/warmboot_avp.c
rename to 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
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/warmboot_avp.h
rename to arch/arm/cpu/tegra20-common/warmboot_avp.h
diff --git a/spl/Makefile b/spl/Makefile
index ea7d475..d04d2f2 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -62,6 +62,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)))
 
-- 
1.7.9.5



More information about the U-Boot mailing list