mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-25 06:46:00 +00:00
Update make target for ARM supported boards.
Use lowlevel_init() instead of platformsetup() [rename]. Patch by Peter Pearse, 06 Oct 2005
This commit is contained in:
parent
bccae9039e
commit
87cb6862b9
42 changed files with 444 additions and 243 deletions
|
@ -2,6 +2,10 @@
|
||||||
Changes for U-Boot 1.1.4:
|
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
|
* Fix booting from serial dataflash on AT91RM9200
|
||||||
Patch by Peter Menzebach, 29 Aug 2005
|
Patch by Peter Menzebach, 29 Aug 2005
|
||||||
|
|
||||||
|
|
12
MAINTAINERS
12
MAINTAINERS
|
@ -249,11 +249,13 @@ Frank Panno <fpanno@delphintech.com>
|
||||||
ep8260 MPC8260
|
ep8260 MPC8260
|
||||||
|
|
||||||
Peter Pearse <peter.pearse@arm.com>
|
Peter Pearse <peter.pearse@arm.com>
|
||||||
|
integratorcp All current ARM supplied &
|
||||||
Integrator/AP CM 926EJ-S, CM7x0T, CM9x0T
|
supported core modules
|
||||||
Integrator/CP CM 926EJ-S CM920T, CM940T, CM922T-XA10
|
- see http://www.arm.com
|
||||||
Versatile/AB ARM926EJ-S
|
/products/DevTools
|
||||||
Versatile/PB ARM926EJ-S
|
/Hardware_Platforms.html
|
||||||
|
versatile ARM926EJ-S
|
||||||
|
versatile ARM926EJ-S
|
||||||
|
|
||||||
Denis Peter <d.peter@mpl.ch>
|
Denis Peter <d.peter@mpl.ch>
|
||||||
|
|
||||||
|
|
26
MAKEALL
26
MAKEALL
|
@ -162,7 +162,7 @@ LIST_SA="assabet dnp1110 gcplus lart shannon"
|
||||||
|
|
||||||
LIST_ARM7=" \
|
LIST_ARM7=" \
|
||||||
armadillo B2 ep7312 evb4510 \
|
armadillo B2 ep7312 evb4510 \
|
||||||
impa7 integratorap_CM720T integratorap_CM7TDMI \
|
impa7 integratorap ap7 ap720t \
|
||||||
modnet50 \
|
modnet50 \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
@ -171,32 +171,28 @@ LIST_ARM7=" \
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
LIST_ARM9=" \
|
LIST_ARM9=" \
|
||||||
at91rm9200dk cmc_pu2 csb637 \
|
at91rm9200dk cmc_pu2 \
|
||||||
integratorap_CM920T integratorap_CM920T_ETM \
|
ap920t ap922_XA10 ap926ejs ap946es \
|
||||||
integratorap_CM922T_XA10 integratorap_CM926EJ_S \
|
ap966 cp920t cp922_XA10 cp926ejs \
|
||||||
integratorap_CM940T integratorap_CM946E_S \
|
cp946es cp966 lpd7a400 mp2usb \
|
||||||
integratorap_CM966E_S integratorcp_CM920T \
|
mx1ads mx1fs2 omap1510inn omap1610h2 \
|
||||||
integratorcp_CM920T_ETM integratorcp_CM922T_XA10 \
|
omap1610inn omap730p2 scb9328 smdk2400 \
|
||||||
integratorcp_CM926EJ_S integratorcp_CM940T \
|
smdk2410 trab VCMA9 versatile \
|
||||||
integratorcp_CM946E_S integratorcp_CM966E_S \
|
versatileab versatilepb voiceblue
|
||||||
kb9202 lpd7a400 mp2usb mx1ads \
|
|
||||||
mx1fs2 omap1510inn omap1610h2 omap1610inn \
|
|
||||||
omap730p2 scb9328 smdk2400 smdk2410 \
|
|
||||||
trab VCMA9 versatile voiceblue \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
## ARM10 Systems
|
## ARM10 Systems
|
||||||
#########################################################################
|
#########################################################################
|
||||||
LIST_ARM10=" \
|
LIST_ARM10=" \
|
||||||
integratorcp_CM10220E integratorcp_CM1026EJ_S \
|
integratorcp cp1026 \
|
||||||
"
|
"
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
## ARM11 Systems
|
## ARM11 Systems
|
||||||
#########################################################################
|
#########################################################################
|
||||||
LIST_ARM11=" \
|
LIST_ARM11=" \
|
||||||
integratorcp_CM1136JF_S omap2420h4 \
|
cp1136 omap2420h4 \
|
||||||
"
|
"
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
207
Makefile
207
Makefile
|
@ -1396,178 +1396,34 @@ csb637_config : unconfig
|
||||||
mp2usb_config : unconfig
|
mp2usb_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t mp2usb NULL at91rm9200
|
@./mkconfig $(@:_config=) arm arm920t mp2usb NULL at91rm9200
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
## ARM Integrator boards
|
## ARM Integrator boards - see doc/README-integrator for more info.
|
||||||
## There are two variants /AP && /CP
|
integratorap_config \
|
||||||
## - many different core modules (CMs) can be used
|
ap_config \
|
||||||
## - some share characteristics
|
ap966_config \
|
||||||
## Those without specific cpu support can still use U-Boot
|
ap922_config \
|
||||||
## provided the ARM boot monitor (or similar) runs before U-Boot
|
ap922_XA10_config \
|
||||||
## to set up the platform e.g. map writeable memory to 0x00000000
|
ap7_config \
|
||||||
## setup MMU, setup caches etc.
|
ap720t_config \
|
||||||
## Ported cores are:-
|
ap920t_config \
|
||||||
## ARM926EJ-S
|
ap926ejs_config \
|
||||||
## ARM946E-S
|
ap946es_config: unconfig
|
||||||
##
|
@chmod a+x board/integratorap/split_by_variant.sh
|
||||||
########################################################################
|
@board/integratorap/split_by_variant.sh $@ $(CC)
|
||||||
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 \
|
integratorcp_config \
|
||||||
integratorap_CM920T_config integratorap_CM920T_ETM_config \
|
cp_config \
|
||||||
integratorap_CM922T_XA10_config integratorap_CM926EJ_S_config \
|
cp920t_config \
|
||||||
integratorap_CM940T_config integratorap_CM946E_S_config \
|
cp926ejs_config \
|
||||||
integratorap_CM966E_S_config integratorap_CM10200E_config \
|
cp946es_config \
|
||||||
integratorap_CM10220E_config integratorap_CM1026EJ_S_config \
|
cp1136_config \
|
||||||
integratorap_CM1136JF_S_config : unconfig
|
cp966_config \
|
||||||
@echo -n "/* Integrator configuration implied " > tmp.fil; \
|
cp922_config \
|
||||||
echo " by Makefile target */" >> tmp.fil; \
|
cp922_XA10_config \
|
||||||
echo >> tmp.fil
|
cp1026_config: unconfig
|
||||||
@echo -n "#define CONFIG_INTEGRATOR 1" >> tmp.fil; \
|
@chmod a+x board/integratorcp/split_by_variant.sh
|
||||||
echo " /* Integrator board */" >> tmp.fil; \
|
@board/integratorcp/split_by_variant.sh $@ $(CC)
|
||||||
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,$@);
|
|
||||||
|
|
||||||
kb9202_config : unconfig
|
kb9202_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t kb9202 NULL at91rm9200
|
@./mkconfig $(@:_config=) arm arm920t kb9202 NULL at91rm9200
|
||||||
|
@ -1660,8 +1516,14 @@ trab_old_config: unconfig
|
||||||
VCMA9_config : unconfig
|
VCMA9_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t vcma9 mpl s3c24x0
|
@./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_smallflash_config \
|
||||||
voiceblue_config: unconfig
|
voiceblue_config: unconfig
|
||||||
|
@ -1946,6 +1808,7 @@ clean:
|
||||||
rm -f tools/env/fw_printenv tools/env/fw_setenv
|
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/cray/L1/bootscript.c board/cray/L1/bootscript.image
|
||||||
rm -f board/trab/trab_fkt board/voiceblue/eeprom
|
rm -f board/trab/trab_fkt board/voiceblue/eeprom
|
||||||
|
rm -f board/integratorap/u-boot.lds board/integratorcp/u-boot.lds
|
||||||
|
|
||||||
clobber: clean
|
clobber: clean
|
||||||
find . -type f \( -name .depend \
|
find . -type f \( -name .depend \
|
||||||
|
|
|
@ -30,7 +30,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := integratorap.o flash.o
|
OBJS := integratorap.o flash.o
|
||||||
SOBJS := platform.o memsetup.o
|
SOBJS := lowlevel_init.o memsetup.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -649,8 +649,3 @@ ulong get_tbclk (void)
|
||||||
{
|
{
|
||||||
return CFG_HZ_CLOCK/div_clock;
|
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
|
|
||||||
*/
|
|
||||||
|
|
|
@ -37,9 +37,9 @@ reset_cpu:
|
||||||
reset_failed:
|
reset_failed:
|
||||||
b reset_failed
|
b reset_failed
|
||||||
|
|
||||||
/* set up the platform, once the cpu has been initialized */
|
/* Set up the platform, once the cpu has been initialized */
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
/* If U-Boot has been run after the ARM boot monitor
|
/* If U-Boot has been run after the ARM boot monitor
|
||||||
* then all the necessary actions have been done
|
* then all the necessary actions have been done
|
||||||
* otherwise we are running from user flash mapped to 0x00000000
|
* otherwise we are running from user flash mapped to 0x00000000
|
106
board/integratorap/split_by_variant.sh
Normal file
106
board/integratorap/split_by_variant.sh
Normal file
|
@ -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;
|
|
@ -20,6 +20,8 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
* MA 02111-1307 USA
|
* 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_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -30,7 +32,7 @@ SECTIONS
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
cpu/arm926ejs/start.o (.text)
|
CPU_FILE (.text)
|
||||||
*(.text)
|
*(.text)
|
||||||
}
|
}
|
||||||
.rodata : { *(.rodata) }
|
.rodata : { *(.rodata) }
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := integratorcp.o flash.o
|
OBJS := integratorcp.o flash.o
|
||||||
SOBJS := platform.o memsetup.o
|
SOBJS := lowlevel_init.o memsetup.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -37,9 +37,9 @@ reset_cpu:
|
||||||
reset_failed:
|
reset_failed:
|
||||||
b reset_failed
|
b reset_failed
|
||||||
|
|
||||||
/* set up the platform, once the cpu has been initialized */
|
/* Set up the platform, once the cpu has been initialized */
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
/* If U-Boot has been run after the ARM boot monitor
|
/* If U-Boot has been run after the ARM boot monitor
|
||||||
* then all the necessary actions have been done
|
* then all the necessary actions have been done
|
||||||
* otherwise we are running from user flash mapped to 0x00000000
|
* otherwise we are running from user flash mapped to 0x00000000
|
106
board/integratorcp/split_by_variant.sh
Normal file
106
board/integratorcp/split_by_variant.sh
Normal file
|
@ -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;
|
|
@ -20,6 +20,8 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
* MA 02111-1307 USA
|
* 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_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -30,7 +32,7 @@ SECTIONS
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
cpu/arm926ejs/start.o (.text)
|
CPU_FILE (.text)
|
||||||
*(.text)
|
*(.text)
|
||||||
}
|
}
|
||||||
.rodata : { *(.rodata) }
|
.rodata : { *(.rodata) }
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := ns9750dev.o flash.o led.o
|
OBJS := ns9750dev.o flash.o led.o
|
||||||
SOBJS := platform.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) crv $@ $(OBJS) $(SOBJS)
|
||||||
|
|
|
@ -75,8 +75,8 @@ _CAS_LATENCY:
|
||||||
.word 0x00022000 @ for CAS2 latency
|
.word 0x00022000 @ for CAS2 latency
|
||||||
|
|
||||||
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
|
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
|
|
||||||
/* U-Boot may be linked to RAM at 0x780000. But this code will run in
|
/* 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
|
flash from 0x0. But in order to enable RAM we have to disable the
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := omap1510innovator.o
|
OBJS := omap1510innovator.o
|
||||||
SOBJS := platform.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -39,8 +39,8 @@
|
||||||
_TEXT_BASE:
|
_TEXT_BASE:
|
||||||
.word TEXT_BASE /* sdram load addr from config.mk */
|
.word TEXT_BASE /* sdram load addr from config.mk */
|
||||||
|
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Configure 1510 pins functions to match our board.
|
* Configure 1510 pins functions to match our board.
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := omap1610innovator.o flash.o
|
OBJS := omap1610innovator.o flash.o
|
||||||
SOBJS := platform.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -37,8 +37,8 @@
|
||||||
_TEXT_BASE:
|
_TEXT_BASE:
|
||||||
.word TEXT_BASE /* sdram load addr from config.mk */
|
.word TEXT_BASE /* sdram load addr from config.mk */
|
||||||
|
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------*
|
/*------------------------------------------------------*
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := omap2420h4.o mem.o sys_info.o
|
OBJS := omap2420h4.o mem.o sys_info.o
|
||||||
SOBJS := platform.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -158,8 +158,8 @@ pll_div_add:
|
||||||
pll_div_val:
|
pll_div_val:
|
||||||
.word DPLL_VAL /* DPLL setting (300MHz default) */
|
.word DPLL_VAL /* DPLL setting (300MHz default) */
|
||||||
|
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
ldr sp, SRAM_STACK
|
ldr sp, SRAM_STACK
|
||||||
str ip, [sp] /* stash old link register */
|
str ip, [sp] /* stash old link register */
|
||||||
mov ip, lr /* save link reg across call */
|
mov ip, lr /* save link reg across call */
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := omap5912osk.o
|
OBJS := omap5912osk.o
|
||||||
SOBJS := platform.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -38,8 +38,8 @@
|
||||||
_TEXT_BASE:
|
_TEXT_BASE:
|
||||||
.word TEXT_BASE /* sdram load addr from config.mk */
|
.word TEXT_BASE /* sdram load addr from config.mk */
|
||||||
|
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------*
|
/*------------------------------------------------------*
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := omap730p2.o flash.o
|
OBJS := omap730p2.o flash.o
|
||||||
SOBJS := platform.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -43,8 +43,8 @@
|
||||||
_TEXT_BASE:
|
_TEXT_BASE:
|
||||||
.word TEXT_BASE /* sdram load addr from config.mk */
|
.word TEXT_BASE /* sdram load addr from config.mk */
|
||||||
|
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
/* Save callers address in r11 - r11 must never be modified */
|
/* Save callers address in r11 - r11 must never be modified */
|
||||||
mov r11, lr
|
mov r11, lr
|
||||||
|
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := sx1.o
|
OBJS := sx1.o
|
||||||
SOBJS := platform.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -39,8 +39,8 @@
|
||||||
_TEXT_BASE:
|
_TEXT_BASE:
|
||||||
.word TEXT_BASE /* sdram load addr from config.mk */
|
.word TEXT_BASE /* sdram load addr from config.mk */
|
||||||
|
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Configure 1510 pins functions to match our board.
|
* Configure 1510 pins functions to match our board.
|
|
@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
|
||||||
LIB = lib$(BOARD).a
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
OBJS := versatile.o flash.o
|
OBJS := versatile.o flash.o
|
||||||
SOBJS := platform.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) crv $@ $^
|
||||||
|
|
|
@ -26,8 +26,9 @@
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <version.h>
|
#include <version.h>
|
||||||
|
|
||||||
.globl platformsetup
|
/* Set up the platform, once the cpu has been initialized */
|
||||||
platformsetup:
|
.globl lowlevel_init
|
||||||
|
lowlevel_init:
|
||||||
|
|
||||||
/* All done by Versatile's boot monitor! */
|
/* All done by Versatile's boot monitor! */
|
||||||
mov pc, lr
|
mov pc, lr
|
45
board/versatile/split_by_variant.sh
Normal file
45
board/versatile/split_by_variant.sh
Normal file
|
@ -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
|
|
@ -122,8 +122,8 @@ MUX_CONFIG_OFFSETS:
|
||||||
.byte 0x0c @ COMP_MODE_CTRL_0
|
.byte 0x0c @ COMP_MODE_CTRL_0
|
||||||
.byte 0xff
|
.byte 0xff
|
||||||
|
|
||||||
.globl platformsetup
|
.globl lowlevel_init
|
||||||
platformsetup:
|
lowlevel_init:
|
||||||
/* Improve performance a bit... */
|
/* Improve performance a bit... */
|
||||||
mrc p15, 0, r1, c0, c0, 0 @ read C15 ID register
|
mrc p15, 0, r1, c0, c0, 0 @ read C15 ID register
|
||||||
mrc p15, 0, r1, c0, c0, 1 @ read C15 Cache information register
|
mrc p15, 0, r1, c0, c0, 1 @ read C15 Cache information register
|
||||||
|
|
|
@ -32,7 +32,11 @@
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <asm/arch/bits.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>
|
#include <asm/proc-armv/ptrace.h>
|
||||||
|
|
||||||
#define TIMER_LOAD_VAL 0
|
#define TIMER_LOAD_VAL 0
|
||||||
|
@ -175,6 +179,9 @@ void do_irq (struct pt_regs *pt_regs)
|
||||||
static ulong timestamp;
|
static ulong timestamp;
|
||||||
static ulong lastinc;
|
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. */
|
/* nothing really to do with interrupts, just starts up a counter. */
|
||||||
int interrupt_init (void)
|
int interrupt_init (void)
|
||||||
{
|
{
|
||||||
|
@ -189,7 +196,6 @@ int interrupt_init (void)
|
||||||
|
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* timer without interrupts
|
* timer without interrupts
|
||||||
*/
|
*/
|
||||||
|
@ -281,7 +287,6 @@ unsigned long long get_ticks(void)
|
||||||
{
|
{
|
||||||
return get_timer(0);
|
return get_timer(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function is derived from PowerPC code (timebase clock frequency).
|
* This function is derived from PowerPC code (timebase clock frequency).
|
||||||
* On ARM it returns the number of timer ticks per second.
|
* On ARM it returns the number of timer ticks per second.
|
||||||
|
@ -292,3 +297,4 @@ ulong get_tbclk (void)
|
||||||
tbclk = CFG_HZ;
|
tbclk = CFG_HZ;
|
||||||
return tbclk;
|
return tbclk;
|
||||||
}
|
}
|
||||||
|
#endif /* !Integrator/CP */
|
||||||
|
|
|
@ -210,7 +210,7 @@ cpu_init_crit:
|
||||||
* basic memory. Go here to bump up clock rate and handle wake up conditions.
|
* basic memory. Go here to bump up clock rate and handle wake up conditions.
|
||||||
*/
|
*/
|
||||||
mov ip, lr /* persevere link reg across call */
|
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 lr, ip /* restore link */
|
||||||
mov pc, lr /* back to my caller */
|
mov pc, lr /* back to my caller */
|
||||||
/*
|
/*
|
||||||
|
@ -397,6 +397,10 @@ arm1136_cache_flush:
|
||||||
mcr p15, 0, r1, c7, c5, 0 @ invalidate I cache
|
mcr p15, 0, r1, c7, c5, 0 @ invalidate I cache
|
||||||
mov pc, lr @ back to caller
|
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
|
.align 5
|
||||||
.globl reset_cpu
|
.globl reset_cpu
|
||||||
reset_cpu:
|
reset_cpu:
|
||||||
|
@ -408,3 +412,5 @@ _loop_forever:
|
||||||
b _loop_forever
|
b _loop_forever
|
||||||
rstctl:
|
rstctl:
|
||||||
.word PM_RSTCTRL_WKUP
|
.word PM_RSTCTRL_WKUP
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -76,6 +76,8 @@ int cleanup_before_linux (void)
|
||||||
#elif defined(CONFIG_NETARM) || defined(CONFIG_S3C4510B)
|
#elif defined(CONFIG_NETARM) || defined(CONFIG_S3C4510B)
|
||||||
disable_interrupts ();
|
disable_interrupts ();
|
||||||
/* Nothing more needed */
|
/* Nothing more needed */
|
||||||
|
#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
|
||||||
|
/* No cleanup before linux for IntegratorAP/CM720T as yet */
|
||||||
#else
|
#else
|
||||||
#error No cleanup_before_linux() defined for this CPU type
|
#error No cleanup_before_linux() defined for this CPU type
|
||||||
#endif
|
#endif
|
||||||
|
@ -245,6 +247,11 @@ int dcache_status (void)
|
||||||
return icache_status();
|
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
|
#else
|
||||||
#error No icache/dcache enable/disable functions defined for this CPU type
|
#error No icache/dcache enable/disable functions defined for this CPU type
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -193,6 +193,8 @@ void do_irq (struct pt_regs *pt_regs)
|
||||||
/* clear pending interrupt */
|
/* clear pending interrupt */
|
||||||
PUT_REG( REG_INTPEND, (1<<(pending>>2)));
|
PUT_REG( REG_INTPEND, (1<<(pending>>2)));
|
||||||
}
|
}
|
||||||
|
#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
|
||||||
|
/* No do_irq() for IntegratorAP/CM720T as yet */
|
||||||
#else
|
#else
|
||||||
#error do_irq() not defined for this CPU type
|
#error do_irq() not defined for this CPU type
|
||||||
#endif
|
#endif
|
||||||
|
@ -219,6 +221,10 @@ static void timer_isr( void *data) {
|
||||||
static ulong timestamp;
|
static ulong timestamp;
|
||||||
static ulong lastdec;
|
static ulong lastdec;
|
||||||
|
|
||||||
|
#if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
|
||||||
|
/* Use IntegratorAP routines in board/integratorap.c */
|
||||||
|
#else
|
||||||
|
|
||||||
int interrupt_init (void)
|
int interrupt_init (void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -296,6 +302,8 @@ int interrupt_init (void)
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* ! IntegratorAP */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* timer without interrupts
|
* 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
|
#else
|
||||||
#error Timer routines not defined for this CPU type
|
#error Timer routines not defined for this CPU type
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -301,6 +301,8 @@ cpu_init_crit:
|
||||||
ldr r1, =0x83ffffa0 /* cache-disabled */
|
ldr r1, =0x83ffffa0 /* cache-disabled */
|
||||||
str r1, [r0]
|
str r1, [r0]
|
||||||
|
|
||||||
|
#elif defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_INTEGRATOR)
|
||||||
|
/* No specific initialisation for IntegratorAP/CM720T as yet */
|
||||||
#else
|
#else
|
||||||
#error No cpu_init_crit() defined for current CPU type
|
#error No cpu_init_crit() defined for current CPU type
|
||||||
#endif
|
#endif
|
||||||
|
@ -316,12 +318,12 @@ cpu_init_crit:
|
||||||
str r1, [r0]
|
str r1, [r0]
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
mov ip, lr
|
||||||
/*
|
/*
|
||||||
* before relocating, we have to setup RAM timing
|
* before relocating, we have to setup RAM timing
|
||||||
* because memory timing is board-dependent, you will
|
* because memory timing is board-dependent, you will
|
||||||
* find a lowlevel_init.S in your board directory.
|
* find a lowlevel_init.S in your board directory.
|
||||||
*/
|
*/
|
||||||
mov ip, lr
|
|
||||||
bl lowlevel_init
|
bl lowlevel_init
|
||||||
mov lr, ip
|
mov lr, ip
|
||||||
|
|
||||||
|
@ -530,6 +532,8 @@ reset_cpu:
|
||||||
#elif defined(CONFIG_S3C4510B)
|
#elif defined(CONFIG_S3C4510B)
|
||||||
/* Nothing done here as reseting the CPU is board specific, depending
|
/* Nothing done here as reseting the CPU is board specific, depending
|
||||||
* on external peripherals such as watchdog timers, etc. */
|
* 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
|
#else
|
||||||
#error No reset_cpu() defined for current CPU type
|
#error No reset_cpu() defined for current CPU type
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -255,7 +255,6 @@ cpu_init_crit:
|
||||||
orr r0, r0, #0x00001000 @ set bit 12 (I) I-Cache
|
orr r0, r0, #0x00001000 @ set bit 12 (I) I-Cache
|
||||||
mcr p15, 0, r0, c1, c0, 0
|
mcr p15, 0, r0, c1, c0, 0
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* before relocating, we have to setup RAM timing
|
* before relocating, we have to setup RAM timing
|
||||||
* because memory timing is board-dependend, you will
|
* because memory timing is board-dependend, you will
|
||||||
|
@ -264,7 +263,6 @@ cpu_init_crit:
|
||||||
mov ip, lr
|
mov ip, lr
|
||||||
bl lowlevel_init
|
bl lowlevel_init
|
||||||
mov lr, ip
|
mov lr, ip
|
||||||
|
|
||||||
mov pc, lr
|
mov pc, lr
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -246,7 +246,7 @@ cpu_init_crit:
|
||||||
* Go setup Memory and board specific bits prior to relocation.
|
* Go setup Memory and board specific bits prior to relocation.
|
||||||
*/
|
*/
|
||||||
mov ip, lr /* perserve link reg across call */
|
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 lr, ip /* restore link */
|
||||||
mov pc, lr /* back to my caller */
|
mov pc, lr /* back to my caller */
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -222,7 +222,7 @@ cpu_init_crit:
|
||||||
* Go setup Memory and board specific bits prior to relocation.
|
* Go setup Memory and board specific bits prior to relocation.
|
||||||
*/
|
*/
|
||||||
mov ip, lr /* perserve link reg across call */
|
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 lr, ip /* restore link */
|
||||||
mov pc, lr /* back to my caller */
|
mov pc, lr /* back to my caller */
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -214,7 +214,7 @@ cpu_init_crit:
|
||||||
* Go setup Memory and board specific bits prior to relocation.
|
* Go setup Memory and board specific bits prior to relocation.
|
||||||
*/
|
*/
|
||||||
mov ip, lr /* perserve link reg across call */
|
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 lr, ip /* restore link */
|
||||||
mov pc, lr /* back to my caller */
|
mov pc, lr /* back to my caller */
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -62,3 +62,49 @@ of the Integrator board itself, has been placed in
|
||||||
|
|
||||||
board/integrator<>/platform.S
|
board/integrator<>/platform.S
|
||||||
board/integrator<>/integrator<>.c
|
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
|
||||||
|
*********************************
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
/* include EP7312 specific hardware file if there was one */
|
/* include EP7312 specific hardware file if there was one */
|
||||||
#elif defined(CONFIG_ARMADILLO)
|
#elif defined(CONFIG_ARMADILLO)
|
||||||
/* include armadillo specific hardware file if there was one */
|
/* 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
|
#else
|
||||||
#error No hardware file defined for this configuration
|
#error No hardware file defined for this configuration
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue