]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
integrator: merge integratorap and integratorcp
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Sat, 16 May 2009 22:58:37 +0000 (00:58 +0200)
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Mon, 22 Jun 2009 22:10:04 +0000 (00:10 +0200)
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Peter Pearse <peter.pearse@arm.com>
16 files changed:
Makefile
board/armltd/.gitignore [deleted file]
board/armltd/integrator/Makefile [moved from board/armltd/integratorap/Makefile with 98% similarity]
board/armltd/integrator/config.mk [moved from board/armltd/integratorap/config.mk with 100% similarity]
board/armltd/integrator/integrator.c [moved from board/armltd/integratorap/integratorap.c with 95% similarity]
board/armltd/integrator/lowlevel_init.S [moved from board/armltd/integratorap/lowlevel_init.S with 100% similarity]
board/armltd/integrator/pci.c [moved from board/armltd/integratorap/pci.c with 100% similarity]
board/armltd/integrator/split_by_variant.sh [new file with mode: 0755]
board/armltd/integrator/timer.c [moved from board/armltd/integratorcp/timer.c with 79% similarity]
board/armltd/integratorap/split_by_variant.sh [deleted file]
board/armltd/integratorap/timer.c [deleted file]
board/armltd/integratorcp/Makefile [deleted file]
board/armltd/integratorcp/config.mk [deleted file]
board/armltd/integratorcp/integratorcp.c [deleted file]
board/armltd/integratorcp/lowlevel_init.S [deleted file]
board/armltd/integratorcp/split_by_variant.sh [deleted file]

index a6f42319366806fc46caafd8b9e1752e8c14495f..ebb12e91f9309e0b421b0e007154171e3a557d9a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2809,7 +2809,7 @@ ap720t_config             \
 ap920t_config          \
 ap926ejs_config                \
 ap946es_config: unconfig
-       @board/armltd/integratorap/split_by_variant.sh $@
+       @board/armltd/integrator/split_by_variant.sh ap $@
 
 integratorcp_config    \
 cp_config              \
@@ -2821,7 +2821,7 @@ cp966_config              \
 cp922_config           \
 cp922_XA10_config      \
 cp1026_config: unconfig
-       @board/armltd/integratorcp/split_by_variant.sh $@
+       @board/armltd/integrator/split_by_variant.sh cp $@
 
 davinci_dvevm_config : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm926ejs dvevm davinci davinci
diff --git a/board/armltd/.gitignore b/board/armltd/.gitignore
deleted file mode 100644 (file)
index a3df156..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/integratorap/u-boot.lds
-/integratorcp/u-boot.lds
similarity index 98%
rename from board/armltd/integratorap/Makefile
rename to board/armltd/integrator/Makefile
index da82f5c0e7be883003356566686e288f28ed2676..14d64b7e88d7feaac1ba10061a89bf96f7064c81 100644 (file)
@@ -31,7 +31,7 @@ LIB   = $(obj)lib$(BOARD).a
 
 SOBJS-y        := lowlevel_init.o
 
-COBJS-y        := integratorap.o
+COBJS-y        := integrator.o
 COBJS-$(CONFIG_PCI) += pci.o
 COBJS-y += timer.o
 
similarity index 95%
rename from board/armltd/integratorap/integratorap.c
rename to board/armltd/integrator/integrator.c
index f58956e6fba7330c8a2ef3f21e715c4f8c72ed55..a46deea44805c421b9eff6d7d2a41063379765f8 100644 (file)
@@ -34,7 +34,9 @@
  */
 
 #include <common.h>
+#ifdef CONFIG_PCI
 #include <netdev.h>
+#endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -56,7 +58,11 @@ void show_boot_progress(int progress)
 int board_init (void)
 {
        /* arch number of Integrator Board */
+#ifdef CONFIG_ARCH_CINTEGRATOR
+       gd->bd->bi_arch_number = MACH_TYPE_CINTEGRATOR;
+#else
        gd->bd->bi_arch_number = MACH_TYPE_INTEGRATOR;
+#endif
 
        /* adress of boot parameters */
        gd->bd->bi_boot_params = 0x00000100;
@@ -121,7 +127,9 @@ extern void dram_query(void);
        return 0;
 }
 
+#ifdef CONFIG_PCI
 int board_eth_init(bd_t *bis)
 {
        return pci_eth_init(bis);
 }
+#endif
diff --git a/board/armltd/integrator/split_by_variant.sh b/board/armltd/integrator/split_by_variant.sh
new file mode 100755 (executable)
index 0000000..d67bdc2
--- /dev/null
@@ -0,0 +1,235 @@
+#!/bin/sh
+
+mkdir -p ${obj}include
+mkdir -p ${obj}board/armltd/integrator
+
+config_file=${obj}include/config.h
+
+if [ "$1" = "ap" ]
+then
+# ---------------------------------------------------------
+# Set the platform defines
+# ---------------------------------------------------------
+echo -n        "/* Integrator configuration implied "   > ${config_file}
+echo   " by Makefile target */"                >> ${config_file}
+echo -n        "#define CONFIG_INTEGRATOR"             >> ${config_file}
+echo   " /* Integrator board */"               >> ${config_file}
+echo -n        "#define CONFIG_ARCH_INTEGRATOR"        >> ${config_file}
+echo   " 1 /* Integrator/AP     */"            >> ${config_file}
+# ---------------------------------------------------------
+#      Set the core module defines according to Core Module
+# ---------------------------------------------------------
+cpu="arm_intcm"
+variant="unknown core module"
+
+if [ "$2" = "" ]
+then
+       echo "$0:: No parameters - using arm_intcm"
+else
+       case "$2" in
+       ap7_config)
+       cpu="arm_intcm"
+       variant="unported core module CM7TDMI"
+       ;;
+
+       ap966)
+       cpu="arm_intcm"
+       variant="unported core module CM966E-S"
+       ;;
+
+       ap922_config)
+       cpu="arm_intcm"
+       variant="unported core module CM922T"
+       ;;
+
+       integratorap_config     |       \
+       ap_config)
+       cpu="arm_intcm"
+       variant="unspecified core module"
+       ;;
+
+       ap720t_config)
+       cpu="arm720t"
+       echo -n "#define CONFIG_CM720T"                 >> ${config_file}
+       echo    " 1 /* CPU core is ARM720T */ "         >> ${config_file}
+       variant="Core module CM720T"
+       ;;
+
+       ap922_XA10_config)
+       cpu="arm_intcm"
+       variant="unported core module CM922T_XA10"
+       echo -n "#define CONFIG_CM922T_XA10"            >> ${config_file}
+       echo    " 1 /* CPU core is ARM922T_XA10 */"     >> ${config_file}
+       ;;
+
+       ap920t_config)
+       cpu="arm920t"
+       variant="Core module CM920T"
+       echo -n "#define CONFIG_CM920T"                 >> ${config_file}
+       echo    " 1 /* CPU core is ARM920T */"          >> ${config_file}
+       ;;
+
+       ap926ejs_config)
+       cpu="arm926ejs"
+       variant="Core module CM926EJ-S"
+       echo -n "#define CONFIG_CM926EJ_S"              >> ${config_file}
+       echo    " 1 /* CPU core is ARM926EJ-S */ "      >> ${config_file}
+       ;;
+
+       ap946es_config)
+       cpu="arm946es"
+       variant="Core module CM946E-S"
+       echo -n "#define CONFIG_CM946E_S"               >> ${config_file}
+       echo    " 1 /* CPU core is ARM946E-S */ "       >> ${config_file}
+       ;;
+
+       *)
+       echo "$0:: Unknown core module"
+       variant="unknown core module"
+       cpu="arm_intcm"
+       ;;
+
+       esac
+fi
+
+case "$cpu" in
+       arm_intcm)
+       echo "/* Core module undefined/not ported */"   >> ${config_file}
+       echo "#define CONFIG_ARM_INTCM 1"               >> ${config_file}
+       echo -n "#undef CONFIG_CM_MULTIPLE_SSRAM"       >> ${config_file}
+       echo -n "       /* CM may not have "            >> ${config_file}
+       echo    "multiple SSRAM mapping */"             >> ${config_file}
+       echo -n "#undef CONFIG_CM_SPD_DETECT "          >> ${config_file}
+       echo -n " /* CM may not support SPD "           >> ${config_file}
+       echo    "query */"                              >> ${config_file}
+       echo -n "#undef CONFIG_CM_REMAP "               >> ${config_file}
+       echo -n " /* CM may not support "               >> ${config_file}
+       echo    "remapping */"                          >> ${config_file}
+       echo -n "#undef CONFIG_CM_INIT  "               >> ${config_file}
+       echo -n " /* CM may not have    "               >> ${config_file}
+       echo    "initialization reg */"                 >> ${config_file}
+       echo -n "#undef CONFIG_CM_TCRAM "               >> ${config_file}
+       echo    " /* CM may not have TCRAM */"          >> ${config_file}
+       echo -n " /* May not be processor "             >> ${config_file}
+       echo    "without cache support */"              >> ${config_file}
+       echo    "#define CONFIG_SYS_NO_ICACHE 1"        >> ${config_file}
+       echo    "#define CONFIG_SYS_NO_DCACHE 1"        >> ${config_file}
+       ;;
+
+       arm720t)
+       echo -n " /* May not be processor "             >> ${config_file}
+       echo    "without cache support */"              >> ${config_file}
+       echo    "#define CONFIG_SYS_NO_ICACHE 1"        >> ${config_file}
+       echo    "#define CONFIG_SYS_NO_DCACHE 1"        >> ${config_file}
+       ;;
+esac
+
+else
+
+# ---------------------------------------------------------
+# Set the platform defines
+# ---------------------------------------------------------
+echo -n "/* Integrator configuration implied "   > ${config_file}
+echo    " by Makefile target */"               >> ${config_file}
+echo -n "#define CONFIG_INTEGRATOR"            >> ${config_file}
+echo    " /* Integrator board */"              >> ${config_file}
+echo -n "#define CONFIG_ARCH_CINTEGRATOR"      >> ${config_file}
+echo     " 1 /* Integrator/CP   */"            >> ${config_file}
+
+cpu="arm_intcm"
+variant="unknown core module"
+
+if [ "$2" = "" ]
+then
+       echo "$0:: No parameters - using arm_intcm"
+else
+       case "$2" in
+       ap966)
+       cpu="arm_intcm"
+       variant="unported core module CM966E-S"
+       ;;
+
+       ap922_config)
+       cpu="arm_intcm"
+       variant="unported core module CM922T"
+       ;;
+
+       integratorcp_config     |       \
+       cp_config)
+       cpu="arm_intcm"
+       variant="unspecified core module"
+       ;;
+
+       cp922_XA10_config)
+       cpu="arm_intcm"
+       variant="unported core module CM922T_XA10"
+       echo -n "#define CONFIG_CM922T_XA10"            >> ${config_file}
+       echo    " 1 /* CPU core is ARM922T_XA10 */"     >> ${config_file}
+       ;;
+
+       cp920t_config)
+       cpu="arm920t"
+       variant="Core module CM920T"
+       echo -n "#define CONFIG_CM920T"                 >> ${config_file}
+       echo    " 1 /* CPU core is ARM920T */"          >> ${config_file}
+       ;;
+
+       cp926ejs_config)
+       cpu="arm926ejs"
+       variant="Core module CM926EJ-S"
+       echo -n "#define CONFIG_CM926EJ_S"              >> ${config_file}
+       echo    " 1 /* CPU core is ARM926EJ-S */ "      >> ${config_file}
+       ;;
+
+
+       cp946es_config)
+       cpu="arm946es"
+       variant="Core module CM946E-S"
+       echo -n "#define CONFIG_CM946E_S"               >> ${config_file}
+       echo    " 1 /* CPU core is ARM946E-S */ "       >> ${config_file}
+       ;;
+
+       cp1136_config)
+       cpu="arm1136"
+       variant="Core module CM1136EJF-S"
+       echo -n "#define CONFIG_CM1136EJF_S"            >> ${config_file}
+       echo    " 1 /* CPU core is ARM1136JF-S */ "     >> ${config_file}
+       ;;
+
+       *)
+       echo "$0:: Unknown core module"
+       variant="unknown core module"
+       cpu="arm_intcm"
+       ;;
+
+       esac
+
+fi
+
+if [ "$cpu" = "arm_intcm" ]
+then
+       echo "/* Core module undefined/not ported */"   >> ${config_file}
+       echo "#define CONFIG_ARM_INTCM 1"               >> ${config_file}
+       echo -n "#undef CONFIG_CM_MULTIPLE_SSRAM"       >> ${config_file}
+       echo -n "  /* CM may not have "                 >> ${config_file}
+       echo    "multiple SSRAM mapping */"             >> ${config_file}
+       echo -n "#undef CONFIG_CM_SPD_DETECT "          >> ${config_file}
+       echo -n " /* CM may not support SPD "           >> ${config_file}
+       echo    "query */"                              >> ${config_file}
+       echo -n "#undef CONFIG_CM_REMAP  "              >> ${config_file}
+       echo -n " /* CM may not support "               >> ${config_file}
+       echo    "remapping */"                          >> ${config_file}
+       echo -n "#undef CONFIG_CM_INIT  "               >> ${config_file}
+       echo -n " /* CM may not have  "                 >> ${config_file}
+       echo    "initialization reg */"                 >> ${config_file}
+       echo -n "#undef CONFIG_CM_TCRAM  "              >> ${config_file}
+       echo    " /* CM may not have TCRAM */"          >> ${config_file}
+fi
+
+fi # ap
+
+# ---------------------------------------------------------
+# Complete the configuration
+# ---------------------------------------------------------
+$MKCONFIG -a integrator$1 arm $cpu integrator armltd;
+echo "Variant:: $variant with core $cpu"
similarity index 79%
rename from board/armltd/integratorcp/timer.c
rename to board/armltd/integrator/timer.c
index 741035cc6cb25f0473b8e7ee0fb11fd93eb961f0..087cf596221fdb46887339b04f203630e05a1f82 100644 (file)
 #include <common.h>
 #include <div64.h>
 
+#ifdef CONFIG_ARCH_CINTEGRATOR
+#define DIV_CLOCK_INIT 1
+#define TIMER_LOAD_VAL 0xFFFFFFFFL
+#else
+#define DIV_CLOCK_INIT 256
+#define TIMER_LOAD_VAL 0x0000FFFFL
+#endif
 /* The Integrator/CP timer1 is clocked at 1MHz
  * can be divided by 16 or 256
  * and can be set up as a 32-bit timer
 /* Keep total timer count to avoid losing decrements < div_timer */
 static unsigned long long total_count = 0;
 static unsigned long long lastdec;      /* Timer reading at last call     */
-static unsigned long long div_clock = 1; /* Divisor applied to timer clock */
+/* Divisor applied to timer clock */
+static unsigned long long div_clock = DIV_CLOCK_INIT;
 static unsigned long long div_timer = 1; /* Divisor to convert timer reading
                                          * change to U-Boot ticks
                                          */
 /* CONFIG_SYS_HZ = CONFIG_SYS_HZ_CLOCK/(div_clock * div_timer) */
-static ulong timestamp;                /* U-Boot ticks since startup         */
+static ulong timestamp;                /* U-Boot ticks since startup */
 
-#define TIMER_LOAD_VAL ((ulong)0xFFFFFFFF)
 #define READ_TIMER (*(volatile ulong *)(CONFIG_SYS_TIMERBASE+4))
 
 /* all function return values in U-Boot ticks i.e. (1/CONFIG_SYS_HZ) sec
@@ -64,22 +71,35 @@ int timer_init (void)
 {
        /* Load timer with initial value */
        *(volatile ulong *)(CONFIG_SYS_TIMERBASE + 0) = TIMER_LOAD_VAL;
+#ifdef CONFIG_ARCH_CINTEGRATOR
        /* Set timer to be
-        *      enabled           1
-        *      periodic          1
-        *      no interrupts     0
-        *      X                 0
-        *      divider 1        00 == less rounding error
-        *      32 bit            1
-        *      wrapping          0
+        *      enabled          1
+        *      periodic         1
+        *      no interrupts    0
+        *      X                0
+        *      divider 1       00 == less rounding error
+        *      32 bit           1
+        *      wrapping         0
         */
        *(volatile ulong *)(CONFIG_SYS_TIMERBASE + 8) = 0x000000C2;
+#else
+       /* Set timer to be
+        *      enabled          1
+        *      free-running     0
+        *      XX              00
+        *      divider 256     10
+        *      XX              00
+        */
+       *(volatile ulong *)(CONFIG_SYS_TIMERBASE + 8) = 0x00000088;
+#endif
+
        /* init the timestamp */
        total_count = 0ULL;
        reset_timer_masked();
 
-       div_timer  = (unsigned long long)(CONFIG_SYS_HZ_CLOCK / CONFIG_SYS_HZ);
-       div_timer /= div_clock;
+       div_timer = CONFIG_SYS_HZ_CLOCK;
+       do_div(div_timer, CONFIG_SYS_HZ);
+       do_div(div_timer, div_clock);
 
        return (0);
 }
@@ -100,7 +120,7 @@ ulong get_timer (ulong base_ticks)
 void set_timer (ulong ticks)
 {
        timestamp   = ticks;
-       total_count = (unsigned long long)ticks * div_timer;
+       total_count = ticks * div_timer;
 }
 
 /* delay usec useconds */
@@ -123,7 +143,7 @@ void udelay (unsigned long usec)
 void reset_timer_masked (void)
 {
        /* capure current decrementer value    */
-       lastdec   = (unsigned long long)READ_TIMER;
+       lastdec   = READ_TIMER;
        /* start "advancing" time stamp from 0 */
        timestamp = 0L;
 }
@@ -133,7 +153,7 @@ void reset_timer_masked (void)
 ulong get_timer_masked (void)
 {
        /* get current count */
-       unsigned long long now = (unsigned long long)READ_TIMER;
+       unsigned long long now = READ_TIMER;
 
        if(now > lastdec) {
                /* Must have wrapped */
@@ -141,7 +161,7 @@ ulong get_timer_masked (void)
        } else {
                total_count += lastdec - now;
        }
-       lastdec   = now;
+       lastdec = now;
 
        /* Reuse "now" */
        now = total_count;
@@ -163,7 +183,7 @@ void udelay_masked (unsigned long usec)
  */
 unsigned long long get_ticks(void)
 {
-       return (unsigned long long)get_timer(0);
+       return get_timer(0);
 }
 
 /*
@@ -172,5 +192,9 @@ unsigned long long get_ticks(void)
  */
 ulong get_tbclk (void)
 {
-       return (ulong)(((unsigned long long)CONFIG_SYS_HZ_CLOCK)/div_clock);
+       unsigned long long tmp = CONFIG_SYS_HZ_CLOCK;
+
+       do_div(tmp, div_clock);
+
+       return tmp;
 }
diff --git a/board/armltd/integratorap/split_by_variant.sh b/board/armltd/integratorap/split_by_variant.sh
deleted file mode 100755 (executable)
index 2f86b52..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/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
-# ---------------------------------------------------------
-cpu="arm_intcm"
-variant="unknown core module"
-
-if [ "$1" = "" ]
-then
-       echo "$0:: No parameters - using arm_intcm"
-else
-       case "$1" in
-       ap7_config)
-       cpu="arm_intcm"
-       variant="unported core module CM7TDMI"
-       ;;
-
-       ap966)
-       cpu="arm_intcm"
-       variant="unported core module CM966E-S"
-       ;;
-
-       ap922_config)
-       cpu="arm_intcm"
-       variant="unported core module CM922T"
-       ;;
-
-       integratorap_config     |       \
-       ap_config)
-       cpu="arm_intcm"
-       variant="unspecified core module"
-       ;;
-
-       ap720t_config)
-       cpu="arm720t"
-       echo -n "#define CONFIG_CM720T"                 >> tmp.fil
-       echo    " 1 /* CPU core is ARM720T */ "         >> tmp.fil
-       variant="Core module CM720T"
-       ;;
-
-       ap922_XA10_config)
-       cpu="arm_intcm"
-       variant="unported core module CM922T_XA10"
-       echo -n "#define CONFIG_CM922T_XA10"            >> tmp.fil
-       echo    " 1 /* CPU core is ARM922T_XA10 */"     >> tmp.fil
-       ;;
-
-       ap920t_config)
-       cpu="arm920t"
-       variant="Core module CM920T"
-       echo -n "#define CONFIG_CM920T"                 >> tmp.fil
-       echo    " 1 /* CPU core is ARM920T */"          >> tmp.fil
-       ;;
-
-       ap926ejs_config)
-       cpu="arm926ejs"
-       variant="Core module CM926EJ-S"
-       echo -n "#define CONFIG_CM926EJ_S"              >> tmp.fil
-       echo    " 1 /* CPU core is ARM926EJ-S */ "      >> tmp.fil
-       ;;
-
-       ap946es_config)
-       cpu="arm946es"
-       variant="Core module CM946E-S"
-       echo -n "#define CONFIG_CM946E_S"               >> tmp.fil
-       echo    " 1 /* CPU core is ARM946E-S */ "       >> tmp.fil
-       ;;
-
-       *)
-       echo "$0:: Unknown core module"
-       variant="unknown core module"
-       cpu="arm_intcm"
-       ;;
-
-       esac
-fi
-
-case "$cpu" in
-       arm_intcm)
-       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
-       echo -n " /* May not be processor "             >> tmp.fil
-       echo    "without cache support */"              >> tmp.fil
-       echo    "#define CONFIG_SYS_NO_ICACHE 1"        >> tmp.fil
-       echo    "#define CONFIG_SYS_NO_DCACHE 1"        >> tmp.fil
-       ;;
-
-       arm720t)
-       echo -n " /* May not be processor "             >> tmp.fil
-       echo    "without cache support */"              >> tmp.fil
-       echo    "#define CONFIG_SYS_NO_ICACHE 1"        >> tmp.fil
-       echo    "#define CONFIG_SYS_NO_DCACHE 1"        >> tmp.fil
-       ;;
-esac
-
-mkdir -p ${obj}include
-mkdir -p ${obj}board/armltd/integratorap
-mv tmp.fil ${obj}include/config.h
-# ---------------------------------------------------------
-# Complete the configuration
-# ---------------------------------------------------------
-$MKCONFIG -a integratorap arm $cpu integratorap armltd;
-echo "Variant:: $variant with core $cpu"
-
diff --git a/board/armltd/integratorap/timer.c b/board/armltd/integratorap/timer.c
deleted file mode 100644 (file)
index e85f8b6..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.de>
- *
- * (C) Copyright 2002
- * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch>
- *
- * (C) Copyright 2003
- * Texas Instruments, <www.ti.com>
- * Kshitij Gupta <Kshitij@ti.com>
- *
- * (C) Copyright 2004
- * ARM Ltd.
- * Philippe Robin, <philippe.robin@arm.com>
- *
- * 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 <common.h>
-
-/* The Integrator/AP timer1 is clocked at 24MHz
- * can be divided by 16 or 256
- * and is a 16-bit counter
- */
-/* U-Boot expects a 32 bit timer running at CONFIG_SYS_HZ*/
-static ulong timestamp;                /* U-Boot ticks since startup         */
-static ulong total_count = 0;  /* Total timer count                  */
-static ulong lastdec;          /* Timer reading at last call         */
-static ulong div_clock  = 256; /* Divisor applied to the timer clock */
-static ulong div_timer  = 1;   /* Divisor to convert timer reading
-                                * change to U-Boot ticks
-                                */
-/* CONFIG_SYS_HZ = CONFIG_SYS_HZ_CLOCK/(div_clock * div_timer) */
-
-#define TIMER_LOAD_VAL 0x0000FFFFL
-#define READ_TIMER ((*(volatile ulong *)(CONFIG_SYS_TIMERBASE+4)) & 0x0000FFFFL)
-
-/* all function return values in U-Boot ticks i.e. (1/CONFIG_SYS_HZ) sec
- *  - unless otherwise stated
- */
-
-/* starts a counter
- * - the Integrator/AP timer issues an interrupt
- *   each time it reaches zero
- */
-int timer_init (void)
-{
-       /* Load timer with initial value */
-       *(volatile ulong *)(CONFIG_SYS_TIMERBASE + 0) = TIMER_LOAD_VAL;
-       /* Set timer to be
-        *      enabled           1
-        *      free-running      0
-        *      XX               00
-        *      divider 256      10
-        *      XX               00
-        */
-       *(volatile ulong *)(CONFIG_SYS_TIMERBASE + 8) = 0x00000088;
-       total_count = 0;
-       /* init the timestamp and lastdec value */
-       reset_timer_masked();
-
-       div_timer  = CONFIG_SYS_HZ_CLOCK / CONFIG_SYS_HZ;
-       div_timer /= div_clock;
-
-       return (0);
-}
-
-/*
- * timer without interrupts
- */
-void reset_timer (void)
-{
-       reset_timer_masked ();
-}
-
-ulong get_timer (ulong base_ticks)
-{
-       return get_timer_masked () - base_ticks;
-}
-
-void set_timer (ulong ticks)
-{
-       timestamp = ticks;
-       total_count = ticks * div_timer;
-       reset_timer_masked();
-}
-
-/* delay x useconds */
-void udelay (unsigned long usec)
-{
-       ulong tmo, tmp;
-
-       /* Convert to U-Boot ticks */
-       tmo  = usec * CONFIG_SYS_HZ;
-       tmo /= (1000000L);
-
-       tmp  = get_timer_masked();      /* get current timestamp */
-       tmo += tmp;                     /* wake up timestamp     */
-
-       while (get_timer_masked () < tmo) { /* loop till event */
-               /*NOP*/;
-       }
-}
-
-void reset_timer_masked (void)
-{
-       /* reset time */
-       lastdec   = READ_TIMER; /* capture current decrementer value   */
-       timestamp = 0;          /* start "advancing" time stamp from 0 */
-}
-
-/* converts the timer reading to U-Boot ticks         */
-/* the timestamp is the number of ticks since reset    */
-/* This routine does not detect wraps unless called regularly
-   ASSUMES a call at least every 16 seconds to detect every reload */
-ulong get_timer_masked (void)
-{
-       ulong now = READ_TIMER;         /* current count */
-
-       if (now > lastdec) {
-               /* Must have wrapped */
-               total_count += lastdec + TIMER_LOAD_VAL + 1 - now;
-       } else {
-               total_count += lastdec - now;
-       }
-       lastdec   = now;
-       timestamp = total_count/div_timer;
-
-       return timestamp;
-}
-
-/* waits specified delay value and resets timestamp */
-void udelay_masked (unsigned long usec)
-{
-       udelay(usec);
-}
-
-/*
- * This function is derived from PowerPC code (read timebase as long long).
- * On ARM it just returns the timer value.
- */
-unsigned long long get_ticks(void)
-{
-       return get_timer(0);
-}
-
-/*
- * Return the timebase clock frequency
- * i.e. how often the timer decrements
- */
-ulong get_tbclk (void)
-{
-       return CONFIG_SYS_HZ_CLOCK/div_clock;
-}
diff --git a/board/armltd/integratorcp/Makefile b/board/armltd/integratorcp/Makefile
deleted file mode 100644 (file)
index 76a85d9..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# (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$(BOARD).a
-
-SOBJS  := lowlevel_init.o
-
-COBJS  := integratorcp.o
-COBJS  += timer.o
-
-SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(COBJS))
-SOBJS  := $(addprefix $(obj),$(SOBJS))
-
-$(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-
-clean:
-       rm -f $(SOBJS) $(OBJS)
-
-distclean:     clean
-       rm -f $(LIB) core *.bak $(obj).depend
-
-#########################################################################
-
-# defines $(obj).depend target
-include $(SRCTREE)/rules.mk
-
-sinclude $(obj).depend
-
-#########################################################################
diff --git a/board/armltd/integratorcp/config.mk b/board/armltd/integratorcp/config.mk
deleted file mode 100644 (file)
index 25b79b3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# image should be loaded at 0x01000000
-#
-
-TEXT_BASE = 0x01000000
diff --git a/board/armltd/integratorcp/integratorcp.c b/board/armltd/integratorcp/integratorcp.c
deleted file mode 100644 (file)
index 5897147..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.de>
- *
- * (C) Copyright 2002
- * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch>
- *
- * (C) Copyright 2003
- * Texas Instruments, <www.ti.com>
- * Kshitij Gupta <Kshitij@ti.com>
- *
- * (C) Copyright 2004
- * ARM Ltd.
- * Philippe Robin, <philippe.robin@arm.com>
- *
- * 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 <common.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-void peripheral_power_enable (void);
-
-#if defined(CONFIG_SHOW_BOOT_PROGRESS)
-void show_boot_progress(int progress)
-{
-       printf("Boot reached stage %d\n", progress);
-}
-#endif
-
-#define COMP_MODE_ENABLE ((unsigned int)0x0000EAEF)
-
-/*
- * Miscellaneous platform dependent initialisations
- */
-
-int board_init (void)
-{
-       /* arch number of Integrator Board */
-       gd->bd->bi_arch_number = MACH_TYPE_CINTEGRATOR;
-
-       /* adress of boot parameters */
-       gd->bd->bi_boot_params = 0x00000100;
-
-       gd->flags = 0;
-
-#ifdef CONFIG_CM_REMAP
-extern void cm_remap(void);
-       cm_remap();     /* remaps writeable memory to 0x00000000 */
-#endif
-
-       icache_enable ();
-
-       return 0;
-}
-
-int misc_init_r (void)
-{
-       setenv("verify", "n");
-       return (0);
-}
-
-/******************************
- Routine:
- Description:
-******************************/
-int dram_init (void)
-{
-       gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
-       gd->bd->bi_dram[0].size  = PHYS_SDRAM_1_SIZE;
-
-#ifdef CONFIG_CM_SPD_DETECT
-    {
-extern void dram_query(void);
-       unsigned long cm_reg_sdram;
-       unsigned long sdram_shift;
-
-       dram_query();   /* Assembler accesses to CM registers */
-                       /* Queries the SPD values             */
-
-       /* Obtain the SDRAM size from the CM SDRAM register */
-
-       cm_reg_sdram = *(volatile ulong *)(CM_BASE + OS_SDRAM);
-       /*   Register         SDRAM size
-        *
-        *   0xXXXXXXbbb000bb    16 MB
-        *   0xXXXXXXbbb001bb    32 MB
-        *   0xXXXXXXbbb010bb    64 MB
-        *   0xXXXXXXbbb011bb   128 MB
-        *   0xXXXXXXbbb100bb   256 MB
-        *
-        */
-       sdram_shift              = ((cm_reg_sdram & 0x0000001C)/4)%4;
-       gd->bd->bi_dram[0].size  = 0x01000000 << sdram_shift;
-
-    }
-#endif /* CM_SPD_DETECT */
-
-       return 0;
-}
diff --git a/board/armltd/integratorcp/lowlevel_init.S b/board/armltd/integratorcp/lowlevel_init.S
deleted file mode 100644 (file)
index 18f7d2e..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Board specific setup info
- *
- * (C) Copyright 2003, ARM Ltd.
- * Philippe Robin, <philippe.robin@arm.com>
- *
- * 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 <config.h>
-#include <version.h>
-
-/* Reset using CM control register */
-.global reset_cpu
-reset_cpu:
-       mov     r0, #CM_BASE
-       ldr     r1,[r0,#OS_CTRL]
-       orr     r1,r1,#CMMASK_RESET
-       str     r1,[r0,#OS_CTRL]
-
-reset_failed:
-       b       reset_failed
-
-/* 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
-        * --- DO NOT REMAP BEFORE THE CODE HAS BEEN RELOCATED --
-        * Changes to the (possibly soft) reset defaults of the processor
-        * itself should be performed in cpu/arm<>/start.S
-        * This function affects only the core module or board settings
-        */
-
-#ifdef CONFIG_CM_INIT
-       /* CM has an initialization register
-        * - bits in it are wired into test-chip pins to force
-        *   reset defaults
-        * - may need to change its contents for U-Boot
-        */
-
-       /* set the desired CM specific value */
-       mov     r2,#CMMASK_LOWVEC       /* Vectors at 0x00000000 for all */
-
-#if defined (CONFIG_CM10200E) || defined (CONFIG_CM10220E)
-       orr     r2,r2,#CMMASK_INIT_102
-#else
-
-#if    !defined (CONFIG_CM920T) && !defined (CONFIG_CM920T_ETM) && \
-       !defined (CONFIG_CM940T)
-       /* CMxx6 code   */
-
-#ifdef CONFIG_CM_MULTIPLE_SSRAM
-       /* set simple mapping                   */
-       and     r2,r2,#CMMASK_MAP_SIMPLE
-#endif /* #ifdef CONFIG_CM_MULTIPLE_SSRAM      */
-
-#ifdef CONFIG_CM_TCRAM
-       /* disable TCRAM                        */
-       and     r2,r2,#CMMASK_TCRAM_DISABLE
-#endif /* #ifdef CONFIG_CM_TCRAM               */
-
-#if defined (CONFIG_CM926EJ_S) || defined (CONFIG_CM1026EJ_S) || \
-                       defined (CONFIG_CM1136JF_S)
-
-       and     r2,r2,#CMMASK_LE
-
-#endif /* cpu with little endian initialization */
-
-       orr     r2,r2,#CMMASK_CMxx6_COMMON
-
-#endif /* CMxx6 code */
-
-#endif /* ARM102xxE value */
-
-       /* read CM_INIT          */
-       mov     r0, #CM_BASE
-       ldr     r1, [r0, #OS_INIT]
-       /* check against desired bit setting */
-       and     r3,r1,r2
-       cmp     r3,r2
-       beq     init_reg_OK
-
-       /* lock for change */
-       mov     r3, #CMVAL_LOCK1
-       and     r3, r3, #CMVAL_LOCK2
-       str     r3, [r0, #OS_LOCK]
-       /* set desired value */
-       orr     r1,r1,r2
-       /* write & relock CM_INIT */
-       str     r1, [r0, #OS_INIT]
-       mov     r1, #CMVAL_UNLOCK
-       str     r1, [r0, #OS_LOCK]
-
-       /* soft reset so new values used */
-       b       reset_cpu
-
-init_reg_OK:
-
-#endif /* CONFIG_CM_INIT */
-
-       mov     pc, lr
-
-#ifdef CONFIG_CM_SPD_DETECT
-       /* Fast memory is available for the DRAM data
-        * - ensure it has been transferred, then summarize the data
-        *       into a CM register
-        */
-.globl dram_query
-dram_query:
-       stmfd   r13!,{r4-r6,lr}
-       /* set up SDRAM info                                    */
-       /* - based on example code from the CM User Guide */
-       mov     r0, #CM_BASE
-
-readspdbit:
-       ldr     r1, [r0, #OS_SDRAM]     /* read the SDRAM register */
-       and     r1, r1, #0x20           /* mask SPD bit (5)              */
-       cmp     r1, #0x20               /* test if set                   */
-       bne     readspdbit
-
-setupsdram:
-       add     r0, r0, #OS_SPD         /* address the copy of the SDP data     */
-       ldrb    r1, [r0, #3]            /* number of row address lines          */
-       ldrb    r2, [r0, #4]            /* number of column address lines       */
-       ldrb    r3, [r0, #5]            /* number of banks                      */
-       ldrb    r4, [r0, #31]           /* module bank density                  */
-       mul     r5, r4, r3              /* size of SDRAM (MB divided by 4)      */
-       mov     r5, r5, ASL#2           /* size in MB                           */
-       mov     r0, #CM_BASE            /* reload for later code                */
-       cmp     r5, #0x10               /* is it 16MB?                          */
-       bne     not16
-       mov     r6, #0x2                /* store size and CAS latency of 2      */
-       b       writesize
-
-not16:
-       cmp     r5, #0x20               /* is it  32MB? */
-       bne     not32
-       mov     r6, #0x6
-       b       writesize
-
-not32:
-       cmp     r5, #0x40               /* is it  64MB? */
-       bne     not64
-       mov     r6, #0xa
-       b       writesize
-
-not64:
-       cmp     r5, #0x80               /* is it 128MB? */
-       bne     not128
-       mov     r6, #0xe
-       b       writesize
-
-not128:
-       /* if it is none of these sizes then it is either 256MB, or
-        * there is no SDRAM fitted so default to 256MB
-        */
-       mov     r6, #0x12
-
-writesize:
-       mov     r1, r1, ASL#8           /* row addr lines from SDRAM reg */
-       orr     r2, r1, r2, ASL#12      /* OR in column address lines    */
-       orr     r3, r2, r3, ASL#16      /* OR in number of banks         */
-       orr     r6, r6, r3              /* OR in size and CAS latency    */
-       str     r6, [r0, #OS_SDRAM]     /* store SDRAM parameters        */
-
-#endif /* #ifdef CONFIG_CM_SPD_DETECT */
-
-       ldmfd   r13!,{r4-r6,pc}                 /* back to caller */
-
-#ifdef CONFIG_CM_REMAP
-       /* CM remap bit is operational
-        * - use it to map writeable memory at 0x00000000, in place of flash
-        */
-.globl cm_remap
-cm_remap:
-       stmfd   r13!,{r4-r10,lr}
-
-       mov     r0, #CM_BASE
-       ldr     r1, [r0, #OS_CTRL]
-       orr     r1, r1, #CMMASK_REMAP   /* set remap and led bits */
-       str     r1, [r0, #OS_CTRL]
-
-       /* Now 0x00000000 is writeable, replace the vectors     */
-       ldr     r0, =_start     /* r0 <- start of vectors       */
-       ldr     r2, =_armboot_start     /* r2 <- past vectors   */
-       sub     r1,r1,r1                /* destination 0x00000000       */
-
-copy_vec:
-       ldmia   r0!, {r3-r10}           /* copy from source address [r0]        */
-       stmia   r1!, {r3-r10}           /* copy to       target address [r1]    */
-       cmp     r0, r2                  /* until source end address [r2]        */
-       ble     copy_vec
-
-       ldmfd   r13!,{r4-r10,pc}        /* back to caller                       */
-
-#endif /* #ifdef CONFIG_CM_REMAP */
diff --git a/board/armltd/integratorcp/split_by_variant.sh b/board/armltd/integratorcp/split_by_variant.sh
deleted file mode 100755 (executable)
index 13effef..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/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
-
-cpu="arm_intcm"
-variant="unknown core module"
-
-if [ "$1" = "" ]
-then
-       echo "$0:: No parameters - using arm_intcm"
-else
-       case "$1" in
-       ap966)
-       cpu="arm_intcm"
-       variant="unported core module CM966E-S"
-       ;;
-
-       ap922_config)
-       cpu="arm_intcm"
-       variant="unported core module CM922T"
-       ;;
-
-       integratorcp_config     |       \
-       cp_config)
-       cpu="arm_intcm"
-       variant="unspecified core module"
-       ;;
-
-       cp922_XA10_config)
-       cpu="arm_intcm"
-       variant="unported core module CM922T_XA10"
-       echo -n "#define CONFIG_CM922T_XA10"            >> tmp.fil
-       echo    " 1 /* CPU core is ARM922T_XA10 */"     >> tmp.fil
-       ;;
-
-       cp920t_config)
-       cpu="arm920t"
-       variant="Core module CM920T"
-       echo -n "#define CONFIG_CM920T"                 >> tmp.fil
-       echo    " 1 /* CPU core is ARM920T */"          >> tmp.fil
-       ;;
-
-       cp926ejs_config)
-       cpu="arm926ejs"
-       variant="Core module CM926EJ-S"
-       echo -n "#define CONFIG_CM926EJ_S"              >> tmp.fil
-       echo    " 1 /* CPU core is ARM926EJ-S */ "      >> tmp.fil
-       ;;
-
-
-       cp946es_config)
-       cpu="arm946es"
-       variant="Core module CM946E-S"
-       echo -n "#define CONFIG_CM946E_S"               >> tmp.fil
-       echo    " 1 /* CPU core is ARM946E-S */ "       >> tmp.fil
-       ;;
-
-       cp1136_config)
-       cpu="arm1136"
-       variant="Core module CM1136EJF-S"
-       echo -n "#define CONFIG_CM1136EJF_S"            >> tmp.fil
-       echo    " 1 /* CPU core is ARM1136JF-S */ "     >> tmp.fil
-       ;;
-
-       *)
-       echo "$0:: Unknown core module"
-       variant="unknown core module"
-       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
-
-mkdir -p ${obj}include
-mkdir -p ${obj}board/armltd/integratorcp
-mv tmp.fil ${obj}include/config.h
-# ---------------------------------------------------------
-# Complete the configuration
-# ---------------------------------------------------------
-$MKCONFIG -a integratorcp arm $cpu integratorcp armltd;
-echo "Variant:: $variant with core $cpu"
-