From 3064f322783241f83b8e25b5acdd97a0d898a970 Mon Sep 17 00:00:00 2001 From: Tom Warren Date: Wed, 19 Sep 2012 14:08:52 -0700 Subject: [PATCH] Tegra20: Move some code files to common directories for upcoming Tegra30 patches. Move files that are going to be common between T20 and T30 into 'tegra-common' subdirs in AVP (arm720t), CPU (armv7), and shared (arch/arm/cpu/.) areas. Any files that are left behind in '/tegra20' will be copied to '/tegra30' subdirs and modified for that SoC. The 'common' files should need only minor changes. Include files (arch/arm/include/asm/arch-tegra/tegra20) will be done in a follow-on patch. Builds fine w/MAKEALL -s tegra20. Checkpatch.pl is clean. Signed-off-by: Tom Warren --- Makefile | 2 + arch/arm/cpu/arm720t/tegra-common/Makefile | 47 ++++++++++++++++++ .../arm720t/{tegra20 => tegra-common}/board.h | 0 .../arm720t/{tegra20 => tegra-common}/cpu.h | 0 .../arm720t/{tegra20 => tegra-common}/spl.c | 0 arch/arm/cpu/arm720t/tegra20/Makefile | 1 - arch/arm/cpu/arm720t/tegra20/cpu.c | 2 +- arch/arm/cpu/armv7/tegra-common/Makefile | 48 +++++++++++++++++++ .../{tegra20 => tegra-common}/cmd_enterrcm.c | 0 arch/arm/cpu/armv7/tegra20/Makefile | 1 - arch/arm/cpu/tegra-common/Makefile | 48 +++++++++++++++++++ .../ap20.c => tegra-common/ap.c} | 0 .../{tegra20-common => tegra-common}/board.c | 0 .../lowlevel_init.S | 0 .../sys_info.c | 0 .../{tegra20-common => tegra-common}/timer.c | 0 arch/arm/cpu/tegra20-common/Makefile | 3 +- spl/Makefile | 2 + 18 files changed, 149 insertions(+), 5 deletions(-) create mode 100644 arch/arm/cpu/arm720t/tegra-common/Makefile rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/board.h (100%) rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/cpu.h (100%) rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/spl.c (100%) create mode 100644 arch/arm/cpu/armv7/tegra-common/Makefile rename arch/arm/cpu/armv7/{tegra20 => tegra-common}/cmd_enterrcm.c (100%) create mode 100644 arch/arm/cpu/tegra-common/Makefile rename arch/arm/cpu/{tegra20-common/ap20.c => tegra-common/ap.c} (100%) rename arch/arm/cpu/{tegra20-common => tegra-common}/board.c (100%) rename arch/arm/cpu/{tegra20-common => tegra-common}/lowlevel_init.S (100%) rename arch/arm/cpu/{tegra20-common => tegra-common}/sys_info.c (100%) rename arch/arm/cpu/{tegra20-common => tegra-common}/timer.c (100%) diff --git a/Makefile b/Makefile index 7802a0fec8..76402c6c3c 100644 --- a/Makefile +++ b/Makefile @@ -343,6 +343,8 @@ LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o endif ifeq ($(SOC),tegra20) 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 endif LIBS := $(addprefix $(obj),$(sort $(LIBS-y))) diff --git a/arch/arm/cpu/arm720t/tegra-common/Makefile b/arch/arm/cpu/arm720t/tegra-common/Makefile new file mode 100644 index 0000000000..febd2e301f --- /dev/null +++ b/arch/arm/cpu/arm720t/tegra-common/Makefile @@ -0,0 +1,47 @@ +# +# (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 + +LIB = $(obj)libtegra-common.o + +COBJS-$(CONFIG_SPL_BUILD) += spl.o + +SRCS := $(COBJS-y:.o=.c) +OBJS := $(addprefix $(obj),$(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/arm720t/tegra20/board.h b/arch/arm/cpu/arm720t/tegra-common/board.h similarity index 100% rename from arch/arm/cpu/arm720t/tegra20/board.h rename to arch/arm/cpu/arm720t/tegra-common/board.h diff --git a/arch/arm/cpu/arm720t/tegra20/cpu.h b/arch/arm/cpu/arm720t/tegra-common/cpu.h similarity index 100% rename from arch/arm/cpu/arm720t/tegra20/cpu.h rename to arch/arm/cpu/arm720t/tegra-common/cpu.h diff --git a/arch/arm/cpu/arm720t/tegra20/spl.c b/arch/arm/cpu/arm720t/tegra-common/spl.c similarity index 100% rename from arch/arm/cpu/arm720t/tegra20/spl.c rename to arch/arm/cpu/arm720t/tegra-common/spl.c diff --git a/arch/arm/cpu/arm720t/tegra20/Makefile b/arch/arm/cpu/arm720t/tegra20/Makefile index 6e484756dd..8958e6516f 100644 --- a/arch/arm/cpu/arm720t/tegra20/Makefile +++ b/arch/arm/cpu/arm720t/tegra20/Makefile @@ -28,7 +28,6 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(SOC).o COBJS-y += cpu.o -COBJS-$(CONFIG_SPL_BUILD) += spl.o SRCS := $(COBJS-y:.o=.c) OBJS := $(addprefix $(obj),$(COBJS-y)) diff --git a/arch/arm/cpu/arm720t/tegra20/cpu.c b/arch/arm/cpu/arm720t/tegra20/cpu.c index ddf8d979f4..8b7293852c 100644 --- a/arch/arm/cpu/arm720t/tegra20/cpu.c +++ b/arch/arm/cpu/arm720t/tegra20/cpu.c @@ -29,7 +29,7 @@ #include #include #include -#include "cpu.h" +#include "../tegra-common/cpu.h" /* Returns 1 if the current CPU executing is a Cortex-A9, else 0 */ int ap20_cpu_is_cortexa9(void) diff --git a/arch/arm/cpu/armv7/tegra-common/Makefile b/arch/arm/cpu/armv7/tegra-common/Makefile new file mode 100644 index 0000000000..f4961fa34f --- /dev/null +++ b/arch/arm/cpu/armv7/tegra-common/Makefile @@ -0,0 +1,48 @@ +# +# (C) Copyright 2010,2011 Nvidia Corporation. +# +# (C) Copyright 2000-2003 +# 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 + +LIB = $(obj)libtegra-common.o + +COBJS-$(CONFIG_CMD_ENTERRCM) += cmd_enterrcm.o + +COBJS := $(COBJS-y) +SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) + +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/cmd_enterrcm.c b/arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c similarity index 100% rename from arch/arm/cpu/armv7/tegra20/cmd_enterrcm.c rename to arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c diff --git a/arch/arm/cpu/armv7/tegra20/Makefile b/arch/arm/cpu/armv7/tegra20/Makefile index 5f4035d79c..09a0314d0d 100644 --- a/arch/arm/cpu/armv7/tegra20/Makefile +++ b/arch/arm/cpu/armv7/tegra20/Makefile @@ -28,7 +28,6 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(SOC).o COBJS-$(CONFIG_USB_EHCI_TEGRA) += usb.o -COBJS-$(CONFIG_CMD_ENTERRCM) += cmd_enterrcm.o COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c) diff --git a/arch/arm/cpu/tegra-common/Makefile b/arch/arm/cpu/tegra-common/Makefile new file mode 100644 index 0000000000..38e90d3143 --- /dev/null +++ b/arch/arm/cpu/tegra-common/Makefile @@ -0,0 +1,48 @@ +# +# (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 + +LIB = $(obj)libcputegra-common.o + +SOBJS += lowlevel_init.o +COBJS-y += ap.o board.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)) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/arch/arm/cpu/tegra20-common/ap20.c b/arch/arm/cpu/tegra-common/ap.c similarity index 100% rename from arch/arm/cpu/tegra20-common/ap20.c rename to arch/arm/cpu/tegra-common/ap.c diff --git a/arch/arm/cpu/tegra20-common/board.c b/arch/arm/cpu/tegra-common/board.c similarity index 100% rename from arch/arm/cpu/tegra20-common/board.c rename to arch/arm/cpu/tegra-common/board.c diff --git a/arch/arm/cpu/tegra20-common/lowlevel_init.S b/arch/arm/cpu/tegra-common/lowlevel_init.S similarity index 100% rename from arch/arm/cpu/tegra20-common/lowlevel_init.S rename to arch/arm/cpu/tegra-common/lowlevel_init.S diff --git a/arch/arm/cpu/tegra20-common/sys_info.c b/arch/arm/cpu/tegra-common/sys_info.c similarity index 100% rename from arch/arm/cpu/tegra20-common/sys_info.c rename to arch/arm/cpu/tegra-common/sys_info.c diff --git a/arch/arm/cpu/tegra20-common/timer.c b/arch/arm/cpu/tegra-common/timer.c similarity index 100% rename from arch/arm/cpu/tegra20-common/timer.c rename to arch/arm/cpu/tegra-common/timer.c diff --git a/arch/arm/cpu/tegra20-common/Makefile b/arch/arm/cpu/tegra20-common/Makefile index 9e91e5cb8c..8184e5e5a8 100644 --- a/arch/arm/cpu/tegra20-common/Makefile +++ b/arch/arm/cpu/tegra20-common/Makefile @@ -31,8 +31,7 @@ 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-y += clock.o funcmux.o pinmux.o COBJS-$(CONFIG_TEGRA_LP0) += warmboot.o crypto.o warmboot_avp.o COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += emc.o COBJS-$(CONFIG_TEGRA_PMU) += pmu.o diff --git a/spl/Makefile b/spl/Makefile index e9d0ec4c9a..92267d6dea 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -67,6 +67,8 @@ endif ifeq ($(SOC),tegra20) 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 endif # Add GCC lib