]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - Makefile
Add ARM946E cpu and core module targets; remap memory to 0x00000000
[karo-tx-uboot.git] / Makefile
index 8fb600d7dddc02c760f6a7fea95a3ebda749ed6b..26fc73d85dfaf5c0a896745dab67d03b97a87d5a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -29,10 +29,10 @@ HOSTARCH := $(shell uname -m | \
            -e s/powerpc/ppc/ \
            -e s/macppc/ppc/)
 
-HOSTOS := $(shell uname -s | tr A-Z a-z | \
+HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
            sed -e 's/\(cygwin\).*/cygwin/')
 
-export HOSTARCH
+export HOSTARCH HOSTOS
 
 # Deal with colliding definitions from tcsh etc.
 VENDOR=
@@ -231,6 +231,12 @@ PATI_config:               unconfig
 ## MPC5xxx Systems
 #########################################################################
 
+aev_config: unconfig
+       @./mkconfig -a aev ppc mpc5xxx tqm5200
+
+cpci5200_config:  unconfig
+       @./mkconfig -a cpci5200  ppc mpc5xxx cpci5200 esd
+
 hmi1001_config:         unconfig
        @./mkconfig hmi1001 ppc mpc5xxx hmi1001
 
@@ -274,6 +280,12 @@ icecube_5100_config:                       unconfig
 inka4x0_config:                unconfig
        @./mkconfig inka4x0 ppc mpc5xxx inka4x0
 
+o2dnt_config:
+       @./mkconfig -a o2dnt ppc mpc5xxx o2dnt
+
+pf5200_config:  unconfig
+       @./mkconfig -a pf5200  ppc mpc5xxx pf5200 esd
+
 PM520_config \
 PM520_DDR_config \
 PM520_ROMBOOT_config \
@@ -323,7 +335,7 @@ Total5200_Rev2_lowboot_config:      unconfig
                }
        @./mkconfig -a Total5200 ppc mpc5xxx total5200
 
-TQM5200_auto_config            \
+TQM5200_auto_config    \
 TQM5200_AA_config      \
 TQM5200_AB_config      \
 TQM5200_AC_config      \
@@ -354,6 +366,11 @@ MiniFAP_config:    unconfig
                }
        @./mkconfig -a TQM5200 ppc mpc5xxx tqm5200
 
+spieval_config:        unconfig
+       echo "#define CONFIG_CS_AUTOCONF">>include/config.h
+       echo "... with automatic CS configuration"
+       @./mkconfig -a spieval ppc mpc5xxx tqm5200
+
 #########################################################################
 ## MPC8xx Systems
 #########################################################################
@@ -636,6 +653,9 @@ SM850_config        :       unconfig
 SPD823TS_config:       unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx spd8xx
 
+stxxtc_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx stxxtc
+
 svm_sc8xx_config:      unconfig
        @ >include/config.h
        @./mkconfig $(@:_config=) ppc mpc8xx svm_sc8xx
@@ -734,6 +754,9 @@ CATcenter_33_config:        unconfig
                }
        @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
 
+CPCI2DP_config:        unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx cpci2dp esd
+
 CPCI405_config \
 CPCI4052_config        \
 CPCI405DT_config       \
@@ -786,6 +809,12 @@ HUB405_config:     unconfig
 JSE_config:    unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx jse
 
+KAREF_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx karef sandburst
+
+METROBOX_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx metrobox sandburst
+
 MIP405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
 
@@ -997,6 +1026,10 @@ CPU87_ROMBOOT_config: unconfig
        fi; \
        echo "export CONFIG_BOOT_ROM" >> config.mk;
 
+ep8248_config  \
+ep8248E_config :       unconfig
+       @./mkconfig ep8248 ppc mpc8260 ep8248
+
 ep8260_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 ep8260
 
@@ -1354,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
@@ -1611,7 +1811,12 @@ dbau1550_config          :       unconfig
 dbau1550_el_config     :       unconfig
        @ >include/config.h
        @echo "#define CONFIG_DBAU1550 1" >>include/config.h
-       @./mkconfig -a dbau1x00 mips mips dbau1x00 "" little
+       @./mkconfig -a dbau1x00 mips mips dbau1x00
+
+pb1000_config          :       unconfig
+       @ >include/config.h
+       @echo "#define CONFIG_PB1000 1" >>include/config.h
+       @./mkconfig -a pb1x00 mips mips pb1x00
 
 #########################################################################
 ## MIPS64 5Kc
@@ -1725,7 +1930,7 @@ clean:
        rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
        rm -f tools/env/fw_printenv tools/env/fw_setenv
        rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
-       rm -f board/trab/trab_fkt
+       rm -f board/trab/trab_fkt board/voiceblue/eeprom
 
 clobber:       clean
        find . -type f \( -name .depend \