]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Update make target for ARM supported boards.
authorWolfgang Denk <wd@pollux.denx.de>
Thu, 6 Oct 2005 15:08:18 +0000 (17:08 +0200)
committerWolfgang Denk <wd@pollux.denx.de>
Thu, 6 Oct 2005 15:08:18 +0000 (17:08 +0200)
Use lowlevel_init() instead of platformsetup() [rename].
Patch by Peter Pearse, 06 Oct 2005

42 files changed:
CHANGELOG
MAINTAINERS
MAKEALL
Makefile
board/integratorap/Makefile
board/integratorap/integratorap.c
board/integratorap/lowlevel_init.S [moved from board/integratorap/platform.S with 98% similarity]
board/integratorap/split_by_variant.sh [new file with mode: 0644]
board/integratorap/u-boot.lds.S [moved from board/integratorap/u-boot.lds with 89% similarity]
board/integratorcp/Makefile
board/integratorcp/lowlevel_init.S [moved from board/integratorcp/platform.S with 98% similarity]
board/integratorcp/split_by_variant.sh [new file with mode: 0644]
board/integratorcp/u-boot.lds.S [moved from board/integratorcp/u-boot.lds with 89% similarity]
board/ns9750dev/Makefile
board/ns9750dev/lowlevel_init.S [moved from board/ns9750dev/platform.S with 99% similarity]
board/omap1510inn/Makefile
board/omap1510inn/lowlevel_init.S [moved from board/omap1510inn/platform.S with 99% similarity]
board/omap1610inn/Makefile
board/omap1610inn/lowlevel_init.S [moved from board/omap1610inn/platform.S with 99% similarity]
board/omap2420h4/Makefile
board/omap2420h4/lowlevel_init.S [moved from board/omap2420h4/platform.S with 99% similarity]
board/omap5912osk/Makefile
board/omap5912osk/lowlevel_init.S [moved from board/omap5912osk/platform.S with 99% similarity]
board/omap730p2/Makefile
board/omap730p2/lowlevel_init.S [moved from board/omap730p2/platform.S with 99% similarity]
board/sx1/Makefile
board/sx1/lowlevel_init.S [moved from board/sx1/platform.S with 99% similarity]
board/versatile/Makefile
board/versatile/lowlevel_init.S [moved from board/versatile/platform.S with 91% similarity]
board/versatile/split_by_variant.sh [new file with mode: 0644]
board/voiceblue/setup.S
cpu/arm1136/interrupts.c
cpu/arm1136/start.S
cpu/arm720t/cpu.c
cpu/arm720t/interrupts.c
cpu/arm720t/start.S
cpu/arm920t/start.S
cpu/arm925t/start.S
cpu/arm926ejs/start.S
cpu/arm946es/start.S
doc/README-integrator
include/asm-arm/arch-arm720t/hardware.h

index 802f5d30e6b632110e6b0a0fb7438a509d452c81..ce0a51f1e18877d64e33cce6e8e7ae8f49dd49cb 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@
 Changes for U-Boot 1.1.4:
 ======================================================================
 
+* Update make target for ARM supported boards.
+  Use lowlevel_init() instead of platformsetup() [rename].
+  Patch by Peter Pearse, 06 Oct 2005
+
 * Fix booting from serial dataflash on AT91RM9200
   Patch by Peter Menzebach, 29 Aug 2005
 
index d251cd8e5204cefb2935e213c1aeb0092f22833b..a9d433d8b8bad2cd8536f54ceafa927ed4153dfe 100644 (file)
@@ -249,11 +249,13 @@ Frank Panno <fpanno@delphintech.com>
        ep8260                  MPC8260
 
 Peter Pearse <peter.pearse@arm.com>
-
-       Integrator/AP           CM 926EJ-S, CM7x0T, CM9x0T
-       Integrator/CP           CM 926EJ-S  CM920T, CM940T, CM922T-XA10
-       Versatile/AB            ARM926EJ-S
-       Versatile/PB            ARM926EJ-S
+       integratorcp            All current ARM supplied &
+                               supported core modules
+                               - see http://www.arm.com
+                               /products/DevTools
+                               /Hardware_Platforms.html
+       versatile               ARM926EJ-S
+       versatile               ARM926EJ-S
 
 Denis Peter <d.peter@mpl.ch>
 
diff --git a/MAKEALL b/MAKEALL
index 7235b70e80e18816f63045b5514b3f6441e6e68e..0472cfb1a495f355393d8d7bfbbb7700dd9a6cfb 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -162,7 +162,7 @@ LIST_SA="assabet dnp1110 gcplus lart shannon"
 
 LIST_ARM7="    \
        armadillo       B2              ep7312          evb4510         \
-       impa7           integratorap_CM720T     integratorap_CM7TDMI    \
+       impa7           integratorap    ap7             ap720t          \
        modnet50                                                        \
 "
 
@@ -171,32 +171,28 @@ LIST_ARM7="       \
 #########################################################################
 
 LIST_ARM9="    \
-       at91rm9200dk    cmc_pu2         csb637                          \
-       integratorap_CM920T             integratorap_CM920T_ETM         \
-       integratorap_CM922T_XA10        integratorap_CM926EJ_S          \
-       integratorap_CM940T             integratorap_CM946E_S           \
-       integratorap_CM966E_S           integratorcp_CM920T             \
-       integratorcp_CM920T_ETM         integratorcp_CM922T_XA10        \
-       integratorcp_CM926EJ_S          integratorcp_CM940T             \
-       integratorcp_CM946E_S           integratorcp_CM966E_S           \
-       kb9202          lpd7a400        mp2usb          mx1ads          \
-       mx1fs2          omap1510inn     omap1610h2      omap1610inn     \
-       omap730p2       scb9328         smdk2400        smdk2410        \
-       trab            VCMA9           versatile       voiceblue       \
+       at91rm9200dk    cmc_pu2                                         \
+       ap920t          ap922_XA10      ap926ejs        ap946es         \
+       ap966           cp920t          cp922_XA10      cp926ejs        \
+       cp946es         cp966           lpd7a400        mp2usb          \
+       mx1ads          mx1fs2          omap1510inn     omap1610h2      \
+       omap1610inn     omap730p2       scb9328         smdk2400        \
+       smdk2410        trab            VCMA9           versatile       \
+       versatileab     versatilepb     voiceblue
 "
 
 #########################################################################
 ## ARM10 Systems
 #########################################################################
 LIST_ARM10="   \
-       integratorcp_CM10220E           integratorcp_CM1026EJ_S         \
+       integratorcp    cp1026                                          \
 "
 
 #########################################################################
 ## ARM11 Systems
 #########################################################################
 LIST_ARM11="   \
-       integratorcp_CM1136JF_S         omap2420h4                      \
+       cp1136          omap2420h4                                      \
 "
 
 #########################################################################
index c41e8f54df8caaa436ef3e86d0e0b077e16f7e83..023bcb5d15f68f517e8ccc8ba73b92728f44e56f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1396,178 +1396,34 @@ csb637_config  :       unconfig
 mp2usb_config  :       unconfig
        @./mkconfig $(@:_config=) arm arm920t mp2usb NULL at91rm9200
 
-########################################################################
-## ARM Integrator boards
-## There are two variants /AP && /CP
-## - many different core modules (CMs) can be used
-## - some share characteristics
-## Those without specific cpu support can still use U-Boot
-## provided the ARM boot monitor (or similar) runs before U-Boot
-## to set up the platform e.g. map writeable memory to 0x00000000
-## setup MMU, setup caches etc.
-## Ported cores are:-
-##     ARM926EJ-S
-##     ARM946E-S
-##
-########################################################################
-xtract_int_board = $(subst _$(subst integrator$1_,,$(subst _config,,$2)),,$(subst _config,,$2))
-xtract_int_cm    = $(subst integrator$1_,,$(subst _config,,$2))
-#########################################################################
-## Integrator/AP
-#########################################################################
-integratorap_config    :       unconfig
-       @echo -n "/* Integrator configuration implied " >  tmp.fil;     \
-        echo    " by Makefile target   */"             >> tmp.fil;     \
-        echo                                           >> tmp.fil
-       @echo -n "#define CONFIG_INTEGRATOR     1"      >> tmp.fil;     \
-       echo     "      /* Integrator board     */"     >> tmp.fil;     \
-       echo  -n "#define CONFIG_ARCH_INTEGRATOR"       >> tmp.fil;     \
-       echo     "      1       /* Integrator/AP */"    >> tmp.fil;     \
-       echo "/* Core module not defined        */"     >> tmp.fil;     \
-       echo -n "#define CONFIG_ARM_INTCM       1"      >> tmp.fil;     \
-       echo -n "       /* Integrator core module "     >> tmp.fil;     \
-       echo    "with unknown core      */"             >> tmp.fil;     \
-       cpu=arm_intcm;                                                  \
-       mv tmp.fil ./include/config.h;                                  \
-       ubootlds=board/integratorap/u-boot.lds;                         \
-       sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/'                        \
-                                          $$ubootlds > $$ubootlds.tmp; \
-       mv -f $$ubootlds.tmp $$ubootlds;                                \
-       ./mkconfig -a integratorap arm arm_intcm integratorap;
-
-integratorap_CM720T_config             integratorap_CM7TDMI_config     \
-integratorap_CM920T_config             integratorap_CM920T_ETM_config  \
-integratorap_CM922T_XA10_config                integratorap_CM926EJ_S_config   \
-integratorap_CM940T_config             integratorap_CM946E_S_config    \
-integratorap_CM966E_S_config           integratorap_CM10200E_config    \
-integratorap_CM10220E_config           integratorap_CM1026EJ_S_config  \
-integratorap_CM1136JF_S_config :       unconfig
-       @echo -n "/* Integrator configuration implied " >  tmp.fil;     \
-        echo    " by Makefile target   */"             >> tmp.fil;     \
-        echo                                           >> tmp.fil
-       @echo -n "#define CONFIG_INTEGRATOR     1"      >>  tmp.fil;    \
-       echo     "      /* Integrator board     */"     >> tmp.fil;     \
-       echo  -n "#define CONFIG_ARCH_INTEGRATOR"       >> tmp.fil;     \
-       echo     "      1       /* Integrator/AP */"    >> tmp.fil;     \
-       cm=$(call xtract_int_cm,ap,$@);                                 \
-       echo  -n "#define CONFIG_$$cm           "       >> tmp.fil;     \
-       echo     "      /* core module */"              >> tmp.fil;     \
-       case $$cm in                                                    \
-       CM920T)                                                         \
-                       echo -n "#define CONFIG_ARM920" >> tmp.fil;     \
-                       echo -n "T      1       /* CPU" >> tmp.fil;     \
-                       echo -n " core is ARM920T"      >> tmp.fil;     \
-                       echo    "       */"             >> tmp.fil;     \
-                       cpu=arm920t;;                                   \
-       CM926EJ_S)      echo -n "#define CONFIG_ARM926" >> tmp.fil;     \
-                       echo -n "EJ_S   1       /* CPU" >> tmp.fil;     \
-                       echo -n " core is ARM926EJ-S"   >> tmp.fil;     \
-                       echo    "       */"             >> tmp.fil;     \
-                       cpu=arm926ejs;;                                 \
-       CM946E_S)       echo -n "#define CONFIG_ARM946" >> tmp.fil;     \
-                       echo -n "E_S    1       /* CPU" >> tmp.fil;     \
-                       echo -n " core is ARM946E-S"    >> tmp.fil;     \
-                       echo    "       */"             >> tmp.fil;     \
-                       cpu=arm946es;;                                  \
-       *)              echo -n "#define CONFIG_ARM_IN" >> tmp.fil;     \
-                       echo -n "TCM    1       /* Int" >> tmp.fil;     \
-                       echo -n "egrator core module w" >> tmp.fil;     \
-                       echo -n "ith unported core"     >> tmp.fil;     \
-                       echo    "       */"             >> tmp.fil;     \
-                       cpu=arm_intcm;;                                 \
-       esac;                                                           \
-       mv tmp.fil ./include/config.h;                                  \
-       ubootlds=board/$(call xtract_int_board,ap,$@)/u-boot.lds;       \
-       sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/'                        \
-                                          $$ubootlds > $$ubootlds.tmp; \
-       mv -f $$ubootlds.tmp $$ubootlds;                                \
-       ./mkconfig -a $(call xtract_int_board,ap,$@) arm $$cpu          \
-                     $(call xtract_int_board,ap,$@);
 
-#########################################################################
-## Integrator/CP
-#########################################################################
-integratorcp_config    :       unconfig
-       @echo -n "/* Integrator configuration implied " >  tmp.fil;     \
-        echo    " by Makefile target   */"             >> tmp.fil;     \
-        echo                                           >> tmp.fil
-       @echo -n "#define CONFIG_INTEGRATOR     1"      >> tmp.fil;     \
-       echo     "      /* Integrator board     */"     >> tmp.fil;     \
-       echo  -n "#define CONFIG_ARCH_CINTEGRATOR"      >> tmp.fil;     \
-       echo     "      1       /* Integrator/CP */"    >> tmp.fil;     \
-       echo     "/* Core module not defined    */"     >> tmp.fil;     \
-       echo -n "#define CONFIG_ARM_INTCM       1"      >> tmp.fil;     \
-       echo -n "       /* Integrator core module "     >> tmp.fil;     \
-       echo    "with unknown core      */"             >> tmp.fil;     \
-       cpu=arm_intcm;                                                  \
-       echo -n "#undef CONFIG_CM_MULTIPLE_SSRAM"       >> tmp.fil;     \
-       echo -n "               /* CM may not have "    >> tmp.fil;     \
-       echo    "multiple SSRAM mapping */"             >> tmp.fil;     \
-       echo -n "#undef CONFIG_CM_SPD_DETECT    "       >> tmp.fil;     \
-       echo -n "       /* CM may not support SPD "     >> tmp.fil;     \
-       echo    "query */"                              >> tmp.fil;     \
-       echo -n "#undef CONFIG_CM_REMAP         "       >> tmp.fil;     \
-       echo -n "       /* CM may not support "         >> tmp.fil;     \
-       echo    "remapping      */"                     >> tmp.fil;     \
-       echo -n "#undef CONFIG_CM_INIT          "       >> tmp.fil;     \
-       echo -n "       /* CM may not have  "           >> tmp.fil;     \
-       echo    "initialization reg     */"             >> tmp.fil;     \
-       echo -n "#undef CONFIG_CM_TCRAM         "       >> tmp.fil;     \
-       echo -n "       /* CM may not have TCRAM */"    >> tmp.fil;     \
-       mv tmp.fil ./include/config.h;                                  \
-       ubootlds=board/integratorcp/u-boot.lds;                         \
-       sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/'                        \
-                                          $$ubootlds > $$ubootlds.tmp; \
-       mv -f $$ubootlds.tmp $$ubootlds;                                \
-       ./mkconfig -a integratorcp arm arm_intcm integratorcp;
-
-integratorcp_CM920T_config             integratorcp_CM920T_ETM_config  \
-integratorcp_CM922T_XA10_config                integratorcp_CM926EJ_S_config   \
-integratorcp_CM940T_config             integratorcp_CM946E_S_config    \
-integratorcp_CM966E_S_config           integratorcp_CM10200E_config    \
-integratorcp_CM10220E_config           integratorcp_CM1026EJ_S_config  \
-integratorcp_CM1136JF_S_config :       unconfig
-       @echo -n "/* Integrator configuration implied " >  tmp.fil;     \
-        echo    " by Makefile target   */"             >> tmp.fil;     \
-        echo                                           >> tmp.fil
-       @echo -n "#define CONFIG_INTEGRATOR     1"      >> tmp.fil;     \
-       echo     "      /* Integrator board     */"     >> tmp.fil;     \
-       echo  -n "#define CONFIG_ARCH_CINTEGRATOR"      >> tmp.fil;     \
-       echo     "      1       /* Integrator/CP */"    >> tmp.fil;     \
-       cm=$(call xtract_int_cm,cp,$@);                                 \
-       echo  -n "#define CONFIG_$$cm           "       >> tmp.fil;     \
-       echo     "      /* core module */"              >> tmp.fil;     \
-       echo "/* $$cm core module       */"             >> tmp.fil;     \
-       case $$cm in                                                    \
-       CM920T)         echo -n "#define CONFIG_ARM920" >> tmp.fil;     \
-                       echo -n "T      1       /* CPU" >> tmp.fil;     \
-                       echo -n " core is ARM920T"      >> tmp.fil;     \
-                       echo    "       */"             >> tmp.fil;     \
-                       cpu=arm920t;;                                   \
-       CM946E_S)       echo -n "#define CONFIG_ARM946" >> tmp.fil;     \
-                       echo -n "E_S    1       /* CPU" >> tmp.fil;     \
-                       echo -n " core is ARM946E-S"    >> tmp.fil;     \
-                       echo    "       */"             >> tmp.fil;     \
-                       cpu=arm946es;;                                  \
-       CM926EJ_S)      echo -n "#define CONFIG_ARM926" >> tmp.fil;     \
-                       echo -n "EJ_S   1       /* CPU" >> tmp.fil;     \
-                       echo -n " core is ARM926EJ-S"   >> tmp.fil;     \
-                       echo    "       */"             >> tmp.fil;     \
-                       cpu=arm926ejs;;                                 \
-       *)              echo -n "#define CONFIG_ARM_IN" >> tmp.fil;     \
-                       echo -n "TCM    1       /* Int" >> tmp.fil;     \
-                       echo -n "egrator core module w" >> tmp.fil;     \
-                       echo -n "ith unported core"     >> tmp.fil;     \
-                       echo    "       */"             >> tmp.fil;     \
-                       cpu=arm_intcm;;                                 \
-       esac;                                                           \
-       mv tmp.fil ./include/config.h;                                  \
-       ubootlds=board/$(call xtract_int_board,cp,$@)/u-boot.lds;       \
-       sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/'                        \
-                                          $$ubootlds > $$ubootlds.tmp; \
-       mv -f $$ubootlds.tmp $$ubootlds;                                \
-       ./mkconfig -a $(call xtract_int_board,cp,$@) arm $$cpu          \
-                     $(call xtract_int_board,cp,$@);
+########################################################################
+## ARM Integrator boards - see doc/README-integrator for more info.
+integratorap_config    \
+ap_config              \
+ap966_config           \
+ap922_config           \
+ap922_XA10_config      \
+ap7_config             \
+ap720t_config                  \
+ap920t_config          \
+ap926ejs_config                \
+ap946es_config: unconfig
+       @chmod a+x board/integratorap/split_by_variant.sh 
+       @board/integratorap/split_by_variant.sh $@ $(CC)
+
+integratorcp_config    \
+cp_config              \
+cp920t_config          \
+cp926ejs_config                \
+cp946es_config         \
+cp1136_config          \
+cp966_config           \
+cp922_config           \
+cp922_XA10_config      \
+cp1026_config: unconfig
+       @chmod a+x board/integratorcp/split_by_variant.sh 
+       @board/integratorcp/split_by_variant.sh $@ $(CC)
 
 kb9202_config  :       unconfig
        @./mkconfig $(@:_config=) arm arm920t kb9202 NULL at91rm9200
@@ -1660,8 +1516,14 @@ trab_old_config: unconfig
 VCMA9_config   :       unconfig
        @./mkconfig $(@:_config=) arm arm920t vcma9 mpl s3c24x0
 
-versatile_config :     unconfig
-       @./mkconfig $(@:_config=) arm arm926ejs versatile
+#========================================================================
+# ARM supplied Versatile development boards
+#========================================================================
+versatile_config       \
+versatileab_config     \
+versatilepb_config :   unconfig
+       @chmod a+x board/versatile/split_by_variant.sh 
+       @board/versatile/split_by_variant.sh $@ $(CC)
 
 voiceblue_smallflash_config    \
 voiceblue_config:      unconfig
@@ -1946,6 +1808,7 @@ clean:
        rm -f tools/env/fw_printenv tools/env/fw_setenv
        rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
        rm -f board/trab/trab_fkt board/voiceblue/eeprom
+       rm -f board/integratorap/u-boot.lds board/integratorcp/u-boot.lds
 
 clobber:       clean
        find . -type f \( -name .depend \
index cf76dedb2da6e1b43f8bda84786ccc35b9090690..358df62519a52415411f0aa582c1f7362c74354c 100644 (file)
@@ -30,7 +30,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := integratorap.o flash.o
-SOBJS  := platform.o memsetup.o
+SOBJS  := lowlevel_init.o memsetup.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
index 4baf39a67780ee69d15b90005f557ea4b33f6932..d4f61d6403d530f7139196c6ee523d367f5cb79d 100644 (file)
@@ -649,8 +649,3 @@ ulong get_tbclk (void)
 {
        return CFG_HZ_CLOCK/div_clock;
 }
-
-/* The Integrator/AP timer1 is clocked at 24MHz
- * can be divided by 16 or 256
- * and is a 16-bit counter
- */
similarity index 98%
rename from board/integratorap/platform.S
rename to board/integratorap/lowlevel_init.S
index b208adb3713a22850b8638d7868159ea61ac3504..1aacbf4a7a883978ea44dc1732662cfda124c876 100644 (file)
@@ -37,9 +37,9 @@ reset_cpu:
 reset_failed:
        b       reset_failed
 
-/* set up the platform, once the cpu has been initialized */
-.globl platformsetup
-platformsetup:
+/* Set up the platform, once the cpu has been initialized */
+.globl lowlevel_init
+lowlevel_init:
        /* If U-Boot has been run after the ARM boot monitor
         * then all the necessary actions have been done
         * otherwise we are running from user flash mapped to 0x00000000
diff --git a/board/integratorap/split_by_variant.sh b/board/integratorap/split_by_variant.sh
new file mode 100644 (file)
index 0000000..23fc7b3
--- /dev/null
@@ -0,0 +1,106 @@
+#!/bin/sh
+# ---------------------------------------------------------
+# Set the platform defines
+# ---------------------------------------------------------
+echo -n "/* Integrator configuration implied "   > tmp.fil
+echo    " by Makefile target */"               >> tmp.fil
+echo -n "#define CONFIG_INTEGRATOR"            >> tmp.fil
+echo    " /* Integrator board */"              >> tmp.fil
+echo -n "#define CONFIG_ARCH_INTEGRATOR"       >> tmp.fil
+echo     " 1 /* Integrator/AP   */"            >> tmp.fil
+# ---------------------------------------------------------
+#  Set the core module defines according to Core Module
+# ---------------------------------------------------------
+CC=$(CROSS_COMPILE)gcc
+cpu="arm_intcm"
+
+if [ "$2" == "" ]
+then
+       echo "$0:: No preprocessor parameter - using $(CROSS_COMPILE)gcc"
+else
+       CC=$2
+fi
+
+
+if [ "$1" == "" ]
+then
+       echo "$0:: No parameters - using $(CROSS_COMPILE)gcc arm_intcm"
+else
+       case "$1" in
+       ap7_config              |       \
+       ap966_config            |       \
+       ap922_config            |       \
+       integratorap_config     |       \
+       ap_config)
+       cpu="arm_intcm"
+       ;;
+
+       ap720t_config)
+       cpu="arm720t"
+       echo -n "#define CONFIG_CM720T"         >> tmp.fil
+       echo    " 1 /* CPU core is ARM720T */ " >> tmp.fil
+       ;;
+
+       ap922_XA10_config)
+       echo -n "#define CONFIG_CM922T_XA10"            >> tmp.fil
+       echo    " 1 /* CPU core is ARM922T_XA10 */"     >> tmp.fil
+       cpu="arm_intcm"
+       ;;
+
+       ap920t_config)
+       cpu="arm920t"
+       echo -n "#define CONFIG_CM920T"                 >> tmp.fil
+       echo    " 1 /* CPU core is ARM920T */"          >> tmp.fil
+       ;;
+
+       ap926ejs_config)
+       cpu="arm926ejs"
+       echo -n "#define CONFIG_CM926EJ_S"              >> tmp.fil
+       echo    " 1 /* CPU core is ARM926EJ-S */ "      >> tmp.fil
+       ;;
+
+
+       ap946es_config)
+       cpu="arm946es"
+       echo -n "#define CONFIG_CM946E_S"               >> tmp.fil
+       echo    " 1 /* CPU core is ARM946E-S */ "       >> tmp.fil
+       ;;
+
+       *)
+       echo "$0:: Unrecognised target - using arm_intcm"
+       cpu="arm_intcm"
+       ;;
+
+       esac
+
+fi
+
+if [ "$cpu" == "arm_intcm" ]
+then
+       echo "/* Core module undefined/not ported */"   >> tmp.fil
+       echo "#define CONFIG_ARM_INTCM 1"               >> tmp.fil
+       echo -n "#undef CONFIG_CM_MULTIPLE_SSRAM"       >> tmp.fil
+       echo -n "  /* CM may not have "                 >> tmp.fil
+       echo    "multiple SSRAM mapping */"             >> tmp.fil
+       echo -n "#undef CONFIG_CM_SPD_DETECT "          >> tmp.fil
+       echo -n " /* CM may not support SPD "           >> tmp.fil
+       echo    "query */"                              >> tmp.fil
+       echo -n "#undef CONFIG_CM_REMAP  "              >> tmp.fil
+       echo -n " /* CM may not support "               >> tmp.fil
+       echo    "remapping */"                          >> tmp.fil
+       echo -n "#undef CONFIG_CM_INIT  "               >> tmp.fil
+       echo -n " /* CM may not have  "                 >> tmp.fil
+       echo    "initialization reg */"                 >> tmp.fil
+       echo -n "#undef CONFIG_CM_TCRAM  "              >> tmp.fil
+       echo    " /* CM may not have TCRAM */"          >> tmp.fil
+fi
+mv tmp.fil ./include/config.h
+# ---------------------------------------------------------
+#  Ensure correct core object loaded first in U-Boot image
+# ---------------------------------------------------------
+$CC -E -P -C -D CPU_FILE=cpu/$cpu/start.o              \
+-o board/integratorap/u-boot.lds board/integratorap/u-boot.lds.S
+# ---------------------------------------------------------
+# Complete the configuration
+# ---------------------------------------------------------
+./mkconfig -a integratorap arm $cpu integratorap;
similarity index 89%
rename from board/integratorap/u-boot.lds
rename to board/integratorap/u-boot.lds.S
index cb6ee188b19fa7af559485e0eacb55e3c079fe64..486b5da27b23f72cc0db541b10884c947a96ab7c 100644 (file)
@@ -20,6 +20,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
  */
+/* Preprocessed during configuration to emsure the core module processor code,
+   from CPU_FILE, is placed at the start of the image */
 
 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
 OUTPUT_ARCH(arm)
@@ -30,7 +32,7 @@ SECTIONS
        . = ALIGN(4);
        .text   :
        {
-         cpu/arm926ejs/start.o (.text)
+         CPU_FILE (.text)
          *(.text)
        }
        .rodata : { *(.rodata) }
index 71532d11367789ac240f08574cbdf3b99f65e38e..3d589fcd5ad5e824790bc1385b75323329fc4cca 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := integratorcp.o flash.o
-SOBJS  := platform.o memsetup.o
+SOBJS  := lowlevel_init.o memsetup.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
similarity index 98%
rename from board/integratorcp/platform.S
rename to board/integratorcp/lowlevel_init.S
index 612a2c4586afb1aa59c1421e6c6c5b810b4e96ac..e679215f3f221879c2f1410579b844521613e53a 100644 (file)
@@ -37,9 +37,9 @@ reset_cpu:
 reset_failed:
        b       reset_failed
 
-/* set up the platform, once the cpu has been initialized */
-.globl platformsetup
-platformsetup:
+/* Set up the platform, once the cpu has been initialized */
+.globl lowlevel_init
+lowlevel_init:
        /* If U-Boot has been run after the ARM boot monitor
         * then all the necessary actions have been done
         * otherwise we are running from user flash mapped to 0x00000000
diff --git a/board/integratorcp/split_by_variant.sh b/board/integratorcp/split_by_variant.sh
new file mode 100644 (file)
index 0000000..3f63633
--- /dev/null
@@ -0,0 +1,106 @@
+#!/bin/sh
+# ---------------------------------------------------------
+# Set the platform defines
+# ---------------------------------------------------------
+echo -n "/* Integrator configuration implied "   > tmp.fil
+echo    " by Makefile target */"               >> tmp.fil
+echo -n "#define CONFIG_INTEGRATOR"            >> tmp.fil
+echo    " /* Integrator board */"              >> tmp.fil
+echo -n "#define CONFIG_ARCH_CINTEGRATOR"      >> tmp.fil
+echo     " 1 /* Integrator/CP   */"            >> tmp.fil
+# ---------------------------------------------------------
+#  Set the core module defines according to Core Module
+# ---------------------------------------------------------
+CC=$(CROSS_COMPILE)gcc
+cpu="arm_intcm"
+
+if [ "$2" == "" ]
+then
+       echo "$0:: No preprocessor parameter - using $(CROSS_COMPILE)gcc"
+else
+       CC=$2
+fi
+
+
+if [ "$1" == "" ]
+then
+       echo "$0:: No parameters - using $(CROSS_COMPILE)gcc arm_intcm"
+else
+       case "$1" in
+       cp966_config            |       \
+       cp922_config            |       \
+       cp1026_config           |       \
+       integratorcp_config     |       \
+       cp_config)
+       cpu="arm_intcm"
+       ;;
+
+       cp922_XA10_config)
+       echo -n "#define CONFIG_CM922T_XA10"            >> tmp.fil
+       echo    " 1 /* CPU core is ARM922T_XA10 */"     >> tmp.fil
+       cpu="arm_intcm"
+       ;;
+
+       cp920t_config)
+       cpu="arm920t"
+       echo -n "#define CONFIG_CM920T"                 >> tmp.fil
+       echo    " 1 /* CPU core is ARM920T */"          >> tmp.fil
+       ;;
+
+       cp926ejs_config)
+       cpu="arm926ejs"
+       echo -n "#define CONFIG_CM926EJ_S"              >> tmp.fil
+       echo    " 1 /* CPU core is ARM926EJ-S */ "      >> tmp.fil
+       ;;
+
+
+       cp946es_config)
+       cpu="arm946es"
+       echo -n "#define CONFIG_CM946E_S"               >> tmp.fil
+       echo    " 1 /* CPU core is ARM946E-S */ "       >> tmp.fil
+       ;;
+
+       cp1136_config)
+       cpu="arm1136"
+       echo -n "#define CONFIG_CM1136EJF_S"            >> tmp.fil
+       echo    " 1 /* CPU core is ARM1136JF-S */ "     >> tmp.fil
+       ;;
+
+       *)
+       echo "$0:: Unrecognised target - using arm_intcm"
+       cpu="arm_intcm"
+       ;;
+
+       esac
+
+fi
+
+if [ "$cpu" == "arm_intcm" ]
+then
+       echo "/* Core module undefined/not ported */"   >> tmp.fil
+       echo "#define CONFIG_ARM_INTCM 1"               >> tmp.fil
+       echo -n "#undef CONFIG_CM_MULTIPLE_SSRAM"       >> tmp.fil
+       echo -n "  /* CM may not have "                 >> tmp.fil
+       echo    "multiple SSRAM mapping */"             >> tmp.fil
+       echo -n "#undef CONFIG_CM_SPD_DETECT "          >> tmp.fil
+       echo -n " /* CM may not support SPD "           >> tmp.fil
+       echo    "query */"                              >> tmp.fil
+       echo -n "#undef CONFIG_CM_REMAP  "              >> tmp.fil
+       echo -n " /* CM may not support "               >> tmp.fil
+       echo    "remapping */"                          >> tmp.fil
+       echo -n "#undef CONFIG_CM_INIT  "               >> tmp.fil
+       echo -n " /* CM may not have  "                 >> tmp.fil
+       echo    "initialization reg */"                 >> tmp.fil
+       echo -n "#undef CONFIG_CM_TCRAM  "              >> tmp.fil
+       echo    " /* CM may not have TCRAM */"          >> tmp.fil
+fi
+mv tmp.fil ./include/config.h
+# ---------------------------------------------------------
+#  Ensure correct core object loaded first in U-Boot image
+# ---------------------------------------------------------
+$CC -E -P -C -D CPU_FILE=cpu/$cpu/start.o              \
+-o board/integratorcp/u-boot.lds board/integratorcp/u-boot.lds.S
+# ---------------------------------------------------------
+# Complete the configuration
+# ---------------------------------------------------------
+./mkconfig -a integratorcp arm $cpu integratorcp;
similarity index 89%
rename from board/integratorcp/u-boot.lds
rename to board/integratorcp/u-boot.lds.S
index cb6ee188b19fa7af559485e0eacb55e3c079fe64..486b5da27b23f72cc0db541b10884c947a96ab7c 100644 (file)
@@ -20,6 +20,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
  */
+/* Preprocessed during configuration to emsure the core module processor code,
+   from CPU_FILE, is placed at the start of the image */
 
 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
 OUTPUT_ARCH(arm)
@@ -30,7 +32,7 @@ SECTIONS
        . = ALIGN(4);
        .text   :
        {
-         cpu/arm926ejs/start.o (.text)
+         CPU_FILE (.text)
          *(.text)
        }
        .rodata : { *(.rodata) }
index d2718cc683a531e65e76935f717b482616043304..fb4333c19c0277522186687009ee6706fcb79c9a 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := ns9750dev.o flash.o led.o
-SOBJS  := platform.o
+SOBJS  := lowlevel_init.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $(OBJS) $(SOBJS)
similarity index 99%
rename from board/ns9750dev/platform.S
rename to board/ns9750dev/lowlevel_init.S
index afcad15408248b4d69f0cc823bbc5939a1b72ee4..3a0978663a70c61b3d07f22cbb37eebda11de73b 100644 (file)
@@ -75,8 +75,8 @@ _CAS_LATENCY:
        .word   0x00022000      @ for CAS2 latency
 
 #ifndef CONFIG_SKIP_LOWLEVEL_INIT
-.globl platformsetup
-platformsetup:
+.globl lowlevel_init
+lowlevel_init:
 
        /* U-Boot may be linked to RAM at 0x780000. But this code will run in
           flash from 0x0. But in order to enable RAM we have to disable the
index bd6285cb2317b06a7c767dad4c99a905d6ab6f0d..902b24ea1acda603bb67e6267e805e072f2e5fdc 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := omap1510innovator.o
-SOBJS  := platform.o
+SOBJS  := lowlevel_init.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
similarity index 99%
rename from board/omap1510inn/platform.S
rename to board/omap1510inn/lowlevel_init.S
index 8045e84b2dd84d28f7a3bc5012f1773eadd65b76..1c68e5b816e46b720f4683149e1cfd0eaa7f79e1 100644 (file)
@@ -39,8 +39,8 @@
 _TEXT_BASE:
        .word   TEXT_BASE        /* sdram load addr from config.mk */
 
-.globl platformsetup
-platformsetup:
+.globl lowlevel_init
+lowlevel_init:
 
        /*
         * Configure 1510 pins functions to match our board.
index 4a96b8334be2fd0b57ceedae6d3d7356c9fbadda..4560102327e9d786d965bb0e8c2b4035c97c0aad 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := omap1610innovator.o flash.o
-SOBJS  := platform.o
+SOBJS  := lowlevel_init.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
similarity index 99%
rename from board/omap1610inn/platform.S
rename to board/omap1610inn/lowlevel_init.S
index d694f94bb9d01b05d715f7f31980b7e37e6f7af2..eaf1742cc739e99fe13c439a6b14a75f9b65a8a8 100644 (file)
@@ -37,8 +37,8 @@
 _TEXT_BASE:
        .word   TEXT_BASE       /* sdram load addr from config.mk */
 
-.globl platformsetup
-platformsetup:
+.globl lowlevel_init
+lowlevel_init:
 
 
        /*------------------------------------------------------*
index 38dec00d367673e6be4decde7423f450a0e69270..ed4786879a1cc96f6c271512654c3fdba3a466f8 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := omap2420h4.o mem.o sys_info.o
-SOBJS  := platform.o
+SOBJS  := lowlevel_init.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
similarity index 99%
rename from board/omap2420h4/platform.S
rename to board/omap2420h4/lowlevel_init.S
index 73ba462857516a7ae143e39672726ad1c8477c24..9752fc488da88fb7f1b207ff48de12c7310dae23 100644 (file)
@@ -158,8 +158,8 @@ pll_div_add:
 pll_div_val:
     .word DPLL_VAL     /* DPLL setting (300MHz default) */
 
-.globl platformsetup
-platformsetup:
+.globl lowlevel_init
+lowlevel_init:
        ldr     sp,     SRAM_STACK
        str     ip,     [sp]    /* stash old link register */
        mov     ip,     lr      /* save link reg across call */
index 64804663a96ba9e8f661116ad69cb73d8aefc1b5..4b564217b74799bc8c332a30122e08189c02ecee 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := omap5912osk.o
-SOBJS  := platform.o
+SOBJS  := lowlevel_init.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
similarity index 99%
rename from board/omap5912osk/platform.S
rename to board/omap5912osk/lowlevel_init.S
index 33c72423ab09d00799df7543ad477e97f1113713..3b9633ad98842cb419caac8749950ea2cf13b67d 100644 (file)
@@ -38,8 +38,8 @@
 _TEXT_BASE:
        .word   TEXT_BASE       /* sdram load addr from config.mk */
 
-.globl platformsetup
-platformsetup:
+.globl lowlevel_init
+lowlevel_init:
 
 
        /*------------------------------------------------------*
index 10585080739caeaf1a625a04bd725fc3e068caff..29467ac39e6426de19a855f14118f869141f591d 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := omap730p2.o flash.o
-SOBJS  := platform.o
+SOBJS  := lowlevel_init.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
similarity index 99%
rename from board/omap730p2/platform.S
rename to board/omap730p2/lowlevel_init.S
index f30c2424ffbcd3cff1ff891b92d2cebd061bb6be..6c6f48240a22642444a33cfe72245fa37cd24c28 100644 (file)
@@ -43,8 +43,8 @@
 _TEXT_BASE:
        .word   TEXT_BASE       /* sdram load addr from config.mk */
 
-.globl platformsetup
-platformsetup:
+.globl lowlevel_init
+lowlevel_init:
        /* Save callers address in r11 - r11 must never be modified */
        mov r11, lr
 
index 8cd02d1411bac55833118e2715dc1fbc3561a571..8fbdf2a5e337c860e3079a7fe77c3554a4ace27a 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := sx1.o
-SOBJS  := platform.o
+SOBJS  := lowlevel_init.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
similarity index 99%
rename from board/sx1/platform.S
rename to board/sx1/lowlevel_init.S
index bd54df18c44c649ba2244a69682e4c462a10d9c5..bdf812e05af0a7ae2b10334112f67ade8c9dd039 100644 (file)
@@ -39,8 +39,8 @@
 _TEXT_BASE:
        .word   TEXT_BASE        /* sdram load addr from config.mk */
 
-.globl platformsetup
-platformsetup:
+.globl lowlevel_init
+lowlevel_init:
 
        /*
         * Configure 1510 pins functions to match our board.
index 42b6ed5b5c9ffd2de396f154d1f2c85b0d1ef796..fbdc627e386869ce57971fe4518afb25adb1afad 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := versatile.o flash.o
-SOBJS  := platform.o
+SOBJS  := lowlevel_init.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
similarity index 91%
rename from board/versatile/platform.S
rename to board/versatile/lowlevel_init.S
index 68c3e8b1857b2364e8192c920a2f861840d0ba13..bdfce2d3c13762513114cad6ae4c9a7761210775 100644 (file)
@@ -26,8 +26,9 @@
 #include <config.h>
 #include <version.h>
 
-.globl platformsetup
-platformsetup:
+/* Set up the platform, once the cpu has been initialized */
+.globl lowlevel_init
+lowlevel_init:
 
        /* All done by Versatile's boot monitor! */
        mov pc, lr
diff --git a/board/versatile/split_by_variant.sh b/board/versatile/split_by_variant.sh
new file mode 100644 (file)
index 0000000..b462b7e
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+# ---------------------------------------------------------
+#  Set the core module defines according to Core Module
+# ---------------------------------------------------------
+CC=$(CROSS_COMPILE)gcc
+config="versatilepb_config"
+
+if [ "$2" == "" ]
+then
+       echo "$0:: No preprocessor parameter - using $(CROSS_COMPILE)gcc"
+else
+       CC=$2
+fi
+
+
+# ---------------------------------------------------------
+# Set up the Versatile type define
+# ---------------------------------------------------------
+if [ "$1" == "" ]
+then
+       echo "$0:: No parameters - using $(CROSS_COMPILE)gcc versatilepb_config"
+
+else
+       case "$config" in
+       versatilepb_config      |       \
+       versatile_config)
+       echo "#define CONFIG_ARCH_VERSATILE_PB" > ./include/config.h
+       ;;
+
+       versatileab_config)
+       echo "#define CONFIG_ARCH_VERSATILE_AB" > ./include/config.h
+       ;;
+
+
+       *)
+       echo "$0:: Unrecognised config - using versatilepb_config"
+       ;;
+
+       esac
+
+fi
+# ---------------------------------------------------------
+# Complete the configuration
+# ---------------------------------------------------------
+./mkconfig -a versatile arm arm926ejs versatile
index 4a110e846dc084491f6786f80ee8a55ab14d161e..dcf37b5dce5bc9390f60e823162b691dfa93dcd9 100644 (file)
@@ -122,8 +122,8 @@ MUX_CONFIG_OFFSETS:
        .byte 0x0c              @ COMP_MODE_CTRL_0
        .byte 0xff
 
-.globl platformsetup
-platformsetup:
+.globl lowlevel_init
+lowlevel_init:
        /* Improve performance a bit... */
        mrc     p15, 0, r1, c0, c0, 0           @ read C15 ID register
        mrc     p15, 0, r1, c0, c0, 1           @ read C15 Cache information register
index 23236dcb0ff770ad1ad6f1b66485ad98adaa4940..6b1449e97a78620aa6c5f9e0dfa36adff2aa52c1 100644 (file)
 
 #include <common.h>
 #include <asm/arch/bits.h>
-#include <asm/arch/omap2420.h>
+
+#if !defined(CONFIG_INTEGRATOR) || ! defined(CONFIG_ARCH_CINTEGRATOR)
+# include <asm/arch/omap2420.h>
+#endif
+
 #include <asm/proc-armv/ptrace.h>
 
 #define TIMER_LOAD_VAL 0
@@ -175,6 +179,9 @@ void do_irq (struct pt_regs *pt_regs)
 static ulong timestamp;
 static ulong lastinc;
 
+#if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_CINTEGRATOR)
+/* Use the IntegratorCP function from board/integratorcp.c */
+#else
 /* nothing really to do with interrupts, just starts up a counter. */
 int interrupt_init (void)
 {
@@ -189,7 +196,6 @@ int interrupt_init (void)
 
        return(0);
 }
-
 /*
  * timer without interrupts
  */
@@ -281,7 +287,6 @@ unsigned long long get_ticks(void)
 {
        return get_timer(0);
 }
-
 /*
  * This function is derived from PowerPC code (timebase clock frequency).
  * On ARM it returns the number of timer ticks per second.
@@ -292,3 +297,4 @@ ulong get_tbclk (void)
        tbclk = CFG_HZ;
        return tbclk;
 }
+#endif /* !Integrator/CP */
index c3bf6e37e1cfda9820866dd1b0fc157d7a2f61fb..05c9128d84858619efeb6e2e47a01cc1207c1e68 100644 (file)
@@ -210,7 +210,7 @@ cpu_init_crit:
         * basic memory.  Go here to bump up clock rate and handle wake up conditions.
         */
        mov     ip, lr          /* persevere link reg across call */
-       bl      platformsetup   /* go setup pll,mux,memory */
+       bl      lowlevel_init   /* go setup pll,mux,memory */
        mov     lr, ip          /* restore link */
        mov     pc, lr          /* back to my caller */
 /*
@@ -397,6 +397,10 @@ 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:
@@ -408,3 +412,5 @@ _loop_forever:
        b       _loop_forever
 rstctl:
        .word   PM_RSTCTRL_WKUP
+
+#endif
index fcca360732beb122c4fd6e9347d97fb867e7ccb6..a5b6de7605525783eebe3608170f8cfa255cc2f8 100644 (file)
@@ -76,6 +76,8 @@ int cleanup_before_linux (void)
 #elif defined(CONFIG_NETARM) || defined(CONFIG_S3C4510B)
        disable_interrupts ();
        /* Nothing more needed */
+#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
+       /* No cleanup before linux for IntegratorAP/CM720T as yet */
 #else
 #error No cleanup_before_linux() defined for this CPU type
 #endif
@@ -245,6 +247,11 @@ int dcache_status (void)
        return icache_status();
 }
 
+#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
+       /* No specific cache setup for IntegratorAP/CM720T as yet */
+       void icache_enable (void)
+       {
+       }
 #else
 #error No icache/dcache enable/disable functions defined for this CPU type
 #endif
index d0eaca5e0276b12a4d436a5f65be020a44417331..575d923a373c57113770907fe16585dc2f075c80 100644 (file)
@@ -193,6 +193,8 @@ void do_irq (struct pt_regs *pt_regs)
                /* clear pending interrupt */
                PUT_REG( REG_INTPEND, (1<<(pending>>2)));
        }
+#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
+       /* No do_irq() for IntegratorAP/CM720T as yet */
 #else
 #error do_irq() not defined for this CPU type
 #endif
@@ -219,6 +221,10 @@ static void timer_isr( void *data) {
 static ulong timestamp;
 static ulong lastdec;
 
+#if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
+       /* Use IntegratorAP routines in board/integratorap.c */
+#else
+
 int interrupt_init (void)
 {
 
@@ -296,6 +302,8 @@ int interrupt_init (void)
        return (0);
 }
 
+#endif /* ! IntegratorAP */
+
 /*
  * timer without interrupts
  */
@@ -398,6 +406,8 @@ void udelay (unsigned long usec)
 
 }
 
+#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
+       /* No timer routines for IntegratorAP/CM720T as yet */
 #else
 #error Timer routines not defined for this CPU type
 #endif
index eb26476a666b8f70bcf07df64b9820566716d098..43582b3284d69e2d3333ca8bf3f4f9dfa1b38e0b 100644 (file)
@@ -301,6 +301,8 @@ cpu_init_crit:
        ldr r1, =0x83ffffa0     /* cache-disabled  */
        str r1, [r0]
 
+#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
+       /* No specific initialisation for IntegratorAP/CM720T as yet */
 #else
 #error No cpu_init_crit() defined for current CPU type
 #endif
@@ -316,12 +318,12 @@ cpu_init_crit:
        str     r1, [r0]
 #endif
 
+       mov     ip, lr
        /*
         * before relocating, we have to setup RAM timing
         * because memory timing is board-dependent, you will
         * find a lowlevel_init.S in your board directory.
         */
-       mov     ip, lr
        bl      lowlevel_init
        mov     lr, ip
 
@@ -530,6 +532,8 @@ reset_cpu:
 #elif defined(CONFIG_S3C4510B)
 /* Nothing done here as reseting the CPU is board specific, depending
  * on external peripherals such as watchdog timers, etc. */
+#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
+       /* No specific reset actions for IntegratorAP/CM720T as yet */
 #else
 #error No reset_cpu() defined for current CPU type
 #endif
index 74a97d52903db7396f1172f0808a0776968326ea..4603cf573376fdfaa5b7b88933c6b1190591976a 100644 (file)
@@ -255,7 +255,6 @@ cpu_init_crit:
        orr     r0, r0, #0x00001000     @ set bit 12 (I) I-Cache
        mcr     p15, 0, r0, c1, c0, 0
 
-
        /*
         * before relocating, we have to setup RAM timing
         * because memory timing is board-dependend, you will
@@ -264,7 +263,6 @@ cpu_init_crit:
        mov     ip, lr
        bl      lowlevel_init
        mov     lr, ip
-
        mov     pc, lr
 
 
index 238925936eaf60b2a07895748aae7f61b33b806d..acd77426d301fff7e95dac350e5ed0595c78d968 100644 (file)
@@ -246,7 +246,7 @@ cpu_init_crit:
         * Go setup Memory and board specific bits prior to relocation.
         */
        mov     ip, lr          /* perserve link reg across call */
-       bl      platformsetup   /* go setup pll,mux,memory */
+       bl      lowlevel_init   /* go setup pll,mux,memory */
        mov     lr, ip          /* restore link */
        mov     pc, lr          /* back to my caller */
 /*
index 5f5a1c59690798dfe2a7a35f9e0ad7864015dd2b..fc6b20b21e3f1c4d8a631238ea6883e3c8578438 100644 (file)
@@ -222,7 +222,7 @@ cpu_init_crit:
         * Go setup Memory and board specific bits prior to relocation.
         */
        mov     ip, lr          /* perserve link reg across call */
-       bl      platformsetup   /* go setup pll,mux,memory */
+       bl      lowlevel_init   /* go setup pll,mux,memory */
        mov     lr, ip          /* restore link */
        mov     pc, lr          /* back to my caller */
 /*
index ef3be8ec9350692f0565b2eadb9a4c32201e089b..e8c908bf28111d0784d5b6e66e2b231de3397f1c 100644 (file)
@@ -214,7 +214,7 @@ cpu_init_crit:
         * Go setup Memory and board specific bits prior to relocation.
         */
        mov     ip, lr          /* perserve link reg across call */
-       bl      platformsetup   /* go setup memory */
+       bl      lowlevel_init   /* go setup memory */
        mov     lr, ip          /* restore link */
        mov     pc, lr          /* back to my caller */
 /*
index 827221f1ea0baa75f1cf1385f5b060a3e2ab7ea4..ce8a9d26ad4fc4e1dd3d7d856aa4bc0f0faf5271 100644 (file)
@@ -62,3 +62,49 @@ of the Integrator board itself, has been placed in
 
        board/integrator<>/platform.S
        board/integrator<>/integrator<>.c
+
+Targets
+=======
+The U-Boot make targets map to the available core modules as below.
+
+Integrator/AP is no longer available from ARM.
+Core modules marked ** are also no longer available.
+
+ap720t_config          ** CM720T
+ap920t_config          ** CM920T
+ap926ejs_config        Integrator Core Module for ARM926EJ-STM
+ap946es_config         Integrator Core Module for ARM946E-STM
+cp920t_config          ** CM920T
+cp926ejs_config        Integrator Core Module for ARM926EJ-STM
+cp946es_config         Integrator Core Module for ARM946E-STM
+cp1136_config          Integrator Core Module ARM1136JF-S  TM
+
+The final groups of targets are for core modules where no explicit cpu
+code has yet been added to U-Boot i.e. they all use the same U-Boot binary
+using the generic "arm_intcm" core:
+
+ap966_config                   Integrator Core Module for ARM966E-S TM
+ap922_config                   Integrator Core Module for ARM922T TM with ETM
+ap922_XA10_config              Integrator Core Module for ARM922T using Altera Excalibur
+ap7_config                     ** CM7TDMI
+integratorap_config
+ap_config
+
+
+cp966_config                   Integrator Core Module for ARM966E-S TM
+cp922_config                   Integrator Core Module for ARM922T TM with ETM
+cp922_XA10_config              Integrator Core Module for ARM922T using Altera Excalibur
+cp1026_config                  Integrator Core Module ARM1026EJ-S TM
+integratorcp_config
+cp_config
+
+The Makefile targets call board/integrator<>/split_by_variant.sh
+to configure various defines in include/configs/integrator<>.h
+to indicate the core module & core configuration and ensure that
+board/integrator<>/u-boot.lds loads the cpu object first in the U-Boot image.
+
+*********************************
+Because of this mechanism
+> make clean
+must be run before each change in configuration
+*********************************
index 9404acd4553e156ec736e10fe495c7a22a23bba9..3056ca7f673ad919f170e6083eb5026122853e25 100644 (file)
@@ -34,6 +34,8 @@
 /* include EP7312 specific hardware file if there was one */
 #elif defined(CONFIG_ARMADILLO)
 /* include armadillo specific hardware file if there was one */
+#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
+/* include IntegratorCP/CM720T specific hardware file if there was one */
 #else
 #error No hardware file defined for this configuration
 #endif