Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Peter Pearse <peter.pearse@arm.com>master
parent
46937b2742
commit
576afd4fae
@ -1,2 +0,0 @@ |
|||||||
/integratorap/u-boot.lds |
|
||||||
/integratorcp/u-boot.lds |
|
@ -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" |
@ -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" |
|
||||||
|
|
@ -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; |
|
||||||
} |
|
@ -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 |
|
||||||
|
|
||||||
#########################################################################
|
|
@ -1,5 +0,0 @@ |
|||||||
#
|
|
||||||
# image should be loaded at 0x01000000
|
|
||||||
#
|
|
||||||
|
|
||||||
TEXT_BASE = 0x01000000
|
|
@ -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; |
|
||||||
} |
|
@ -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 */ |
|
@ -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" |
|
||||||
|
|
Loading…
Reference in new issue