From 3425e32df7a0857f045b69a10a852ca284c62f65 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 26 Mar 2008 20:40:36 +0100 Subject: [PATCH] Separate omap24xx specific code from arm1136 Move omap24xx code to cpu/arm1136/omap24xx, rename include/asm-arm/arch-arm1136 to cpu/arm1136/omap24xx. Signed-off-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski --- Makefile | 4 +- cpu/arm1136/Makefile | 2 +- cpu/arm1136/cpu.c | 11 ++--- cpu/arm1136/omap24xx/Makefile | 46 +++++++++++++++++++ cpu/arm1136/{ => omap24xx}/interrupts.c | 10 +--- cpu/arm1136/omap24xx/start.S | 42 +++++++++++++++++ cpu/arm1136/start.S | 21 --------- .../{arch-arm1136 => arch-omap24xx}/bits.h | 0 .../{arch-arm1136 => arch-omap24xx}/clocks.h | 0 .../{arch-arm1136 => arch-omap24xx}/i2c.h | 0 .../{arch-arm1136 => arch-omap24xx}/mem.h | 0 .../{arch-arm1136 => arch-omap24xx}/mux.h | 0 .../omap2420.h | 0 .../{arch-arm1136 => arch-omap24xx}/sizes.h | 0 .../sys_info.h | 0 .../sys_proto.h | 0 16 files changed, 96 insertions(+), 40 deletions(-) create mode 100644 cpu/arm1136/omap24xx/Makefile rename cpu/arm1136/{ => omap24xx}/interrupts.c (94%) create mode 100644 cpu/arm1136/omap24xx/start.S rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/bits.h (100%) rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/clocks.h (100%) rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/i2c.h (100%) rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/mem.h (100%) rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/mux.h (100%) rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/omap2420.h (100%) rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/sizes.h (100%) rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/sys_info.h (100%) rename include/asm-arm/{arch-arm1136 => arch-omap24xx}/sys_proto.h (100%) diff --git a/Makefile b/Makefile index 4255cf5a02..a9f4bd3cd7 100644 --- a/Makefile +++ b/Makefile @@ -2587,12 +2587,12 @@ zylonite_config : ## ARM1136 Systems ######################################################################### omap2420h4_config : unconfig - @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 + @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx apollon_config : unconfig @mkdir -p $(obj)include @echo "#define CONFIG_ONENAND_U_BOOT" > $(obj)include/config.h - @$(MKCONFIG) $(@:_config=) arm arm1136 apollon + @$(MKCONFIG) $(@:_config=) arm arm1136 apollon NULL omap24xx @echo "CONFIG_ONENAND_U_BOOT = y" >> $(obj)include/config.mk #======================================================================== diff --git a/cpu/arm1136/Makefile b/cpu/arm1136/Makefile index d5ac7d3fd9..7701b03bbe 100644 --- a/cpu/arm1136/Makefile +++ b/cpu/arm1136/Makefile @@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(CPU).a START = start.o -COBJS = interrupts.o cpu.o +COBJS = cpu.o SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS)) diff --git a/cpu/arm1136/cpu.c b/cpu/arm1136/cpu.c index fa78eaa7f0..c27f8cd58c 100644 --- a/cpu/arm1136/cpu.c +++ b/cpu/arm1136/cpu.c @@ -33,9 +33,6 @@ #include #include -#if !defined(CONFIG_INTEGRATOR) && ! defined(CONFIG_ARCH_CINTEGRATOR) -#include -#endif #ifdef CONFIG_USE_IRQ DECLARE_GLOBAL_DATA_PTR; @@ -47,10 +44,10 @@ static unsigned long read_p15_c1 (void) unsigned long value; __asm__ __volatile__( - "mrc p15, 0, %0, c1, c0, 0 @ read control reg\n" - : "=r" (value) - : - : "memory"); + "mrc p15, 0, %0, c1, c0, 0 @ read control reg\n" + : "=r" (value) + : + : "memory"); return value; } diff --git a/cpu/arm1136/omap24xx/Makefile b/cpu/arm1136/omap24xx/Makefile new file mode 100644 index 0000000000..f9afed72f6 --- /dev/null +++ b/cpu/arm1136/omap24xx/Makefile @@ -0,0 +1,46 @@ +# +# (C) Copyright 2000-2006 +# 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)lib$(SOC).a + +COBJS = interrupts.o +SOBJS = start.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) + +all: $(obj).depend $(LIB) + +$(LIB): $(OBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/cpu/arm1136/interrupts.c b/cpu/arm1136/omap24xx/interrupts.c similarity index 94% rename from cpu/arm1136/interrupts.c rename to cpu/arm1136/omap24xx/interrupts.c index 491c902ace..a50fa391d3 100644 --- a/cpu/arm1136/interrupts.c +++ b/cpu/arm1136/omap24xx/interrupts.c @@ -32,20 +32,13 @@ #include #include - -#if !defined(CONFIG_INTEGRATOR) && ! defined(CONFIG_ARCH_CINTEGRATOR) -# include -#endif +#include #define TIMER_LOAD_VAL 0 /* macro to read the 32 bit timer */ #define READ_TIMER (*(volatile ulong *)(CFG_TIMERBASE+TCRR)) -#if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_CINTEGRATOR) -/* Use the IntegratorCP function from board/integratorcp.c */ -#else - static ulong timestamp; static ulong lastinc; @@ -164,4 +157,3 @@ ulong get_tbclk (void) tbclk = CFG_HZ; return tbclk; } -#endif /* !Integrator/CP */ diff --git a/cpu/arm1136/omap24xx/start.S b/cpu/arm1136/omap24xx/start.S new file mode 100644 index 0000000000..d6cefbd445 --- /dev/null +++ b/cpu/arm1136/omap24xx/start.S @@ -0,0 +1,42 @@ +/* + * armboot - Startup Code for OMP2420/ARM1136 CPU-core + * + * Copyright (c) 2004 Texas Instruments + * + * Copyright (c) 2001 Marius Gröger + * Copyright (c) 2002 Alex Züpke + * Copyright (c) 2002 Gary Jennejohn + * Copyright (c) 2003 Richard Woodruff + * Copyright (c) 2003 Kshitij + * + * 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 + +.globl reset_cpu +reset_cpu: + ldr r1, rstctl /* get addr for global reset reg */ + mov r3, #0x2 /* full reset pll+mpu */ + str r3, [r1] /* force reset */ + mov r0, r0 +_loop_forever: + b _loop_forever +rstctl: + .word PM_RSTCTRL_WKUP diff --git a/cpu/arm1136/start.S b/cpu/arm1136/start.S index 8b765f1e80..56009d0fb3 100644 --- a/cpu/arm1136/start.S +++ b/cpu/arm1136/start.S @@ -30,9 +30,6 @@ #include #include -#if !defined(CONFIG_INTEGRATOR) && ! defined(CONFIG_ARCH_CINTEGRATOR) -#include -#endif .globl _start _start: b reset #ifdef CONFIG_ONENAND_IPL @@ -438,22 +435,4 @@ fiq: arm1136_cache_flush: mcr p15, 0, r1, c7, c5, 0 @ invalidate I cache mov pc, lr @ back to caller - -#if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_CINTEGRATOR) -/* Use the IntegratorCP function from board/integratorcp/platform.S */ -#else - - .align 5 -.globl reset_cpu -reset_cpu: - ldr r1, rstctl /* get addr for global reset reg */ - mov r3, #0x2 /* full reset pll+mpu */ - str r3, [r1] /* force reset */ - mov r0, r0 -_loop_forever: - b _loop_forever -rstctl: - .word PM_RSTCTRL_WKUP - -#endif #endif /* CONFIG_ONENAND_IPL */ diff --git a/include/asm-arm/arch-arm1136/bits.h b/include/asm-arm/arch-omap24xx/bits.h similarity index 100% rename from include/asm-arm/arch-arm1136/bits.h rename to include/asm-arm/arch-omap24xx/bits.h diff --git a/include/asm-arm/arch-arm1136/clocks.h b/include/asm-arm/arch-omap24xx/clocks.h similarity index 100% rename from include/asm-arm/arch-arm1136/clocks.h rename to include/asm-arm/arch-omap24xx/clocks.h diff --git a/include/asm-arm/arch-arm1136/i2c.h b/include/asm-arm/arch-omap24xx/i2c.h similarity index 100% rename from include/asm-arm/arch-arm1136/i2c.h rename to include/asm-arm/arch-omap24xx/i2c.h diff --git a/include/asm-arm/arch-arm1136/mem.h b/include/asm-arm/arch-omap24xx/mem.h similarity index 100% rename from include/asm-arm/arch-arm1136/mem.h rename to include/asm-arm/arch-omap24xx/mem.h diff --git a/include/asm-arm/arch-arm1136/mux.h b/include/asm-arm/arch-omap24xx/mux.h similarity index 100% rename from include/asm-arm/arch-arm1136/mux.h rename to include/asm-arm/arch-omap24xx/mux.h diff --git a/include/asm-arm/arch-arm1136/omap2420.h b/include/asm-arm/arch-omap24xx/omap2420.h similarity index 100% rename from include/asm-arm/arch-arm1136/omap2420.h rename to include/asm-arm/arch-omap24xx/omap2420.h diff --git a/include/asm-arm/arch-arm1136/sizes.h b/include/asm-arm/arch-omap24xx/sizes.h similarity index 100% rename from include/asm-arm/arch-arm1136/sizes.h rename to include/asm-arm/arch-omap24xx/sizes.h diff --git a/include/asm-arm/arch-arm1136/sys_info.h b/include/asm-arm/arch-omap24xx/sys_info.h similarity index 100% rename from include/asm-arm/arch-arm1136/sys_info.h rename to include/asm-arm/arch-omap24xx/sys_info.h diff --git a/include/asm-arm/arch-arm1136/sys_proto.h b/include/asm-arm/arch-omap24xx/sys_proto.h similarity index 100% rename from include/asm-arm/arch-arm1136/sys_proto.h rename to include/asm-arm/arch-omap24xx/sys_proto.h -- 2.39.5