diff options
author | Wolfgang Denk <wd@pollux.(none)> | 2005-09-25 01:48:28 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@pollux.(none)> | 2005-09-25 01:48:28 +0200 |
commit | 74f4304ee717d0f4b3a27e7fd4a64944749b8783 (patch) | |
tree | 806aadd6a2be863b9a0e4e9649858468b4641c96 /Makefile | |
parent | e2146b6aea0de16e55530cc5ff58fb626d9870cd (diff) | |
download | u-boot-74f4304ee717d0f4b3a27e7fd4a64944749b8783.zip u-boot-74f4304ee717d0f4b3a27e7fd4a64944749b8783.tar.gz u-boot-74f4304ee717d0f4b3a27e7fd4a64944749b8783.tar.bz2 |
Add ARM946E cpu and core module targets; remap memory to 0x00000000
Patch by Peter Pearse, 2 Feb 2005
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 175 |
1 files changed, 171 insertions, 4 deletions
@@ -1387,11 +1387,178 @@ at91rm9200dk_config : unconfig cmc_pu2_config : unconfig @./mkconfig $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200 -integratorap_config : unconfig - @./mkconfig $(@:_config=) arm arm926ejs integratorap +######################################################################## +## ARM Integrator boards +## There are two variants /AP && /CP +## - many different core modules (CMs) can be used +## - some share characteristics +## Those without specific cpu support can still use U-Boot +## provided the ARM boot monitor (or similar) runs before U-Boot +## to set up the platform e.g. map writeable memory to 0x00000000 +## setup MMU, setup caches etc. +## Ported cores are:- +## ARM926EJ-S +## ARM946E-S +## +######################################################################## +xtract_int_board = $(subst _$(subst integrator$1_,,$(subst _config,,$2)),,$(subst _config,,$2)) +xtract_int_cm = $(subst integrator$1_,,$(subst _config,,$2)) +######################################################################### +## Integrator/AP +######################################################################### +integratorap_config : unconfig + @echo -n "/* Integrator configuration implied " > tmp.fil; \ + echo " by Makefile target */" >> tmp.fil; \ + echo >> tmp.fil + @echo -n "#define CONFIG_INTEGRATOR 1" >> tmp.fil; \ + echo " /* Integrator board */" >> tmp.fil; \ + echo -n "#define CONFIG_ARCH_INTEGRATOR" >> tmp.fil; \ + echo " 1 /* Integrator/AP */" >> tmp.fil; \ + echo "/* Core module not defined */" >> tmp.fil; \ + echo -n "#define CONFIG_ARM_INTCM 1" >> tmp.fil; \ + echo -n " /* Integrator core module " >> tmp.fil; \ + echo "with unknown core */" >> tmp.fil; \ + cpu=arm_intcm; \ + mv tmp.fil ./include/config.h; \ + ubootlds=board/integratorap/u-boot.lds; \ + sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/' \ + $$ubootlds > $$ubootlds.tmp; \ + mv -f $$ubootlds.tmp $$ubootlds; \ + ./mkconfig -a integratorap arm arm_intcm integratorap; + +integratorap_CM720T_config integratorap_CM7TDMI_config \ +integratorap_CM920T_config integratorap_CM920T_ETM_config \ +integratorap_CM922T_XA10_config integratorap_CM926EJ_S_config \ +integratorap_CM940T_config integratorap_CM946E_S_config \ +integratorap_CM966E_S_config integratorap_CM10200E_config \ +integratorap_CM10220E_config integratorap_CM1026EJ_S_config \ +integratorap_CM1136JF_S_config : unconfig + @echo -n "/* Integrator configuration implied " > tmp.fil; \ + echo " by Makefile target */" >> tmp.fil; \ + echo >> tmp.fil + @echo -n "#define CONFIG_INTEGRATOR 1" >> tmp.fil; \ + echo " /* Integrator board */" >> tmp.fil; \ + echo -n "#define CONFIG_ARCH_INTEGRATOR" >> tmp.fil; \ + echo " 1 /* Integrator/AP */" >> tmp.fil; \ + cm=$(call xtract_int_cm,ap,$@); \ + echo -n "#define CONFIG_$$cm " >> tmp.fil; \ + echo " /* core module */" >> tmp.fil; \ + case $$cm in \ + CM920T) \ + echo -n "#define CONFIG_ARM920" >> tmp.fil; \ + echo -n "T 1 /* CPU" >> tmp.fil; \ + echo -n " core is ARM920T" >> tmp.fil; \ + echo " */" >> tmp.fil; \ + cpu=arm920t;; \ + CM926EJ_S) echo -n "#define CONFIG_ARM926" >> tmp.fil; \ + echo -n "EJ_S 1 /* CPU" >> tmp.fil; \ + echo -n " core is ARM926EJ-S" >> tmp.fil; \ + echo " */" >> tmp.fil; \ + cpu=arm926ejs;; \ + CM946E_S) echo -n "#define CONFIG_ARM946" >> tmp.fil; \ + echo -n "E_S 1 /* CPU" >> tmp.fil; \ + echo -n " core is ARM946E-S" >> tmp.fil; \ + echo " */" >> tmp.fil; \ + cpu=arm946es;; \ + *) echo -n "#define CONFIG_ARM_IN" >> tmp.fil; \ + echo -n "TCM 1 /* Int" >> tmp.fil; \ + echo -n "egrator core module w" >> tmp.fil; \ + echo -n "ith unported core" >> tmp.fil; \ + echo " */" >> tmp.fil; \ + cpu=arm_intcm;; \ + esac; \ + mv tmp.fil ./include/config.h; \ + ubootlds=board/$(call xtract_int_board,ap,$@)/u-boot.lds; \ + sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/' \ + $$ubootlds > $$ubootlds.tmp; \ + mv -f $$ubootlds.tmp $$ubootlds; \ + ./mkconfig -a $(call xtract_int_board,ap,$@) arm $$cpu \ + $(call xtract_int_board,ap,$@); -integratorcp_config : unconfig - @./mkconfig $(@:_config=) arm arm926ejs integratorcp +######################################################################### +## 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,$@); lpd7a400_config \ lpd7a404_config: unconfig |