From patchwork Wed Apr 18 22:46:09 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Allen Martin X-Patchwork-Id: 153618 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 56A6CB6F62 for ; Thu, 19 Apr 2012 08:47:18 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 20D752808C; Thu, 19 Apr 2012 00:47:15 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DyARfXjPmmH9; Thu, 19 Apr 2012 00:47:14 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 80AA92808D; Thu, 19 Apr 2012 00:47:10 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id F0DD22808D for ; Thu, 19 Apr 2012 00:47:04 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R3kMoV2nlHsc for ; Thu, 19 Apr 2012 00:47:00 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from hqemgate03.nvidia.com (hqemgate03.nvidia.com [216.228.121.140]) by theia.denx.de (Postfix) with ESMTPS id 1AC662808C for ; Thu, 19 Apr 2012 00:46:58 +0200 (CEST) Received: from hqnvupgp06.nvidia.com (Not Verified[216.228.121.13]) by hqemgate03.nvidia.com id ; Wed, 18 Apr 2012 16:02:43 -0700 Received: from hqemhub02.nvidia.com ([172.17.108.22]) by hqnvupgp06.nvidia.com (PGP Universal service); Wed, 18 Apr 2012 15:46:51 -0700 X-PGP-Universal: processed; by hqnvupgp06.nvidia.com on Wed, 18 Apr 2012 15:46:51 -0700 Received: from badger.nvidia.com (172.20.144.16) by hqemhub02.nvidia.com (172.20.150.31) with Microsoft SMTP Server id 8.3.245.1; Wed, 18 Apr 2012 15:46:51 -0700 From: Allen Martin To: Date: Wed, 18 Apr 2012 15:46:09 -0700 Message-ID: <1334789169-28311-1-git-send-email-amartin@nvidia.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1334773021-19325-2-git-send-email-amartin@nvidia.com> References: <1334773021-19325-2-git-send-email-amartin@nvidia.com> X-NVConfidentiality: public MIME-Version: 1.0 Cc: Allen@theia.denx.de, twarren@nvidia.com Subject: [U-Boot] [PATCH] tegra2: move tegra2 SoC code to arch/arm/cpu/tegra2-common X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de In preparation for splitting out the armv4t code from tegra2, move the tegra2 SoC code to arch/arm/cpu/tegra2-common. This code will be compiled armv4t for the arm7tdmi and armv7 for the cortex A9. Signed-off-by: Allen Martin --- Resending this with "git format-patch -M" to make it more readable and removing cover letter This is part of an upcoming patch set to move all armv4t code out of tegra2 u-boot and put it into an SPL, but I wanted to get some early feedback on this patch. This moves most of the tegra2 SoC code from arch/arm/cpu/armv7 to a new directory arch/arm/cpu/tegra2-common. This code will be shared between the armv7 and armv4t builds of tegra2. Makefile | 3 + arch/arm/cpu/armv7/tegra2/Makefile | 12 +---- arch/arm/cpu/tegra2-common/Makefile | 56 ++++++++++++++++++++ .../arm/cpu/{armv7/tegra2 => tegra2-common}/ap20.c | 0 .../arm/cpu/{armv7/tegra2 => tegra2-common}/ap20.h | 0 .../cpu/{armv7/tegra2 => tegra2-common}/board.c | 0 .../cpu/{armv7/tegra2 => tegra2-common}/clock.c | 0 .../cpu/{armv7/tegra2 => tegra2-common}/funcmux.c | 0 .../tegra2 => tegra2-common}/lowlevel_init.S | 0 .../cpu/{armv7/tegra2 => tegra2-common}/pinmux.c | 0 .../cpu/{armv7/tegra2 => tegra2-common}/sys_info.c | 0 .../cpu/{armv7/tegra2 => tegra2-common}/timer.c | 0 spl/Makefile | 4 ++ 13 files changed, 65 insertions(+), 10 deletions(-) create mode 100644 arch/arm/cpu/tegra2-common/Makefile rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/ap20.c (100%) rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/ap20.h (100%) rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/board.c (100%) rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/clock.c (100%) rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/funcmux.c (100%) rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/lowlevel_init.S (100%) rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/pinmux.c (100%) rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/sys_info.c (100%) rename arch/arm/cpu/{armv7/tegra2 => tegra2-common}/timer.c (100%) diff --git a/Makefile b/Makefile index 4ddf8d6..6639de0 100644 --- a/Makefile +++ b/Makefile @@ -319,6 +319,9 @@ endif ifeq ($(SOC),exynos) LIBS += $(CPUDIR)/s5p-common/libs5p-common.o endif +ifeq ($(SOC),tegra2) +LIBS += $(OBJTREE)/arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o +endif LIBS := $(addprefix $(obj),$(sort $(LIBS))) .PHONY : $(LIBS) diff --git a/arch/arm/cpu/armv7/tegra2/Makefile b/arch/arm/cpu/armv7/tegra2/Makefile index e9ac6c9..34452c4 100644 --- a/arch/arm/cpu/armv7/tegra2/Makefile +++ b/arch/arm/cpu/armv7/tegra2/Makefile @@ -22,23 +22,15 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # 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/tegra2/ap20.o += -march=armv4t -CFLAGS_arch/arm/cpu/armv7/tegra2/clock.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_USB_EHCI_TEGRA) += usb.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/tegra2-common/Makefile b/arch/arm/cpu/tegra2-common/Makefile new file mode 100644 index 0000000..8de59cf --- /dev/null +++ b/arch/arm/cpu/tegra2-common/Makefile @@ -0,0 +1,56 @@ +# +# (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/tegra2-common/ap20.o += -march=armv4t +CFLAGS_arch/arm/cpu/tegra2-common/clock.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 + +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)) + +$(obj).depend: + echo wtf + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/arch/arm/cpu/armv7/tegra2/ap20.c b/arch/arm/cpu/tegra2-common/ap20.c similarity index 100% rename from arch/arm/cpu/armv7/tegra2/ap20.c rename to arch/arm/cpu/tegra2-common/ap20.c diff --git a/arch/arm/cpu/armv7/tegra2/ap20.h b/arch/arm/cpu/tegra2-common/ap20.h similarity index 100% rename from arch/arm/cpu/armv7/tegra2/ap20.h rename to arch/arm/cpu/tegra2-common/ap20.h diff --git a/arch/arm/cpu/armv7/tegra2/board.c b/arch/arm/cpu/tegra2-common/board.c similarity index 100% rename from arch/arm/cpu/armv7/tegra2/board.c rename to arch/arm/cpu/tegra2-common/board.c diff --git a/arch/arm/cpu/armv7/tegra2/clock.c b/arch/arm/cpu/tegra2-common/clock.c similarity index 100% rename from arch/arm/cpu/armv7/tegra2/clock.c rename to arch/arm/cpu/tegra2-common/clock.c diff --git a/arch/arm/cpu/armv7/tegra2/funcmux.c b/arch/arm/cpu/tegra2-common/funcmux.c similarity index 100% rename from arch/arm/cpu/armv7/tegra2/funcmux.c rename to arch/arm/cpu/tegra2-common/funcmux.c diff --git a/arch/arm/cpu/armv7/tegra2/lowlevel_init.S b/arch/arm/cpu/tegra2-common/lowlevel_init.S similarity index 100% rename from arch/arm/cpu/armv7/tegra2/lowlevel_init.S rename to arch/arm/cpu/tegra2-common/lowlevel_init.S diff --git a/arch/arm/cpu/armv7/tegra2/pinmux.c b/arch/arm/cpu/tegra2-common/pinmux.c similarity index 100% rename from arch/arm/cpu/armv7/tegra2/pinmux.c rename to arch/arm/cpu/tegra2-common/pinmux.c diff --git a/arch/arm/cpu/armv7/tegra2/sys_info.c b/arch/arm/cpu/tegra2-common/sys_info.c similarity index 100% rename from arch/arm/cpu/armv7/tegra2/sys_info.c rename to arch/arm/cpu/tegra2-common/sys_info.c diff --git a/arch/arm/cpu/armv7/tegra2/timer.c b/arch/arm/cpu/tegra2-common/timer.c similarity index 100% rename from arch/arm/cpu/armv7/tegra2/timer.c rename to arch/arm/cpu/tegra2-common/timer.c diff --git a/spl/Makefile b/spl/Makefile index ea7d475..6d3241f 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 +ifneq ($(CONFIG_TEGRA2),) +LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o +endif + START := $(addprefix $(SPLTREE)/,$(START)) LIBS := $(addprefix $(SPLTREE)/,$(sort $(LIBS-y)))