]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/ibl.git/blobdiff - src/make/makestg2
Merge branch 'nysh_multi_boot'
[keystone-rtos/ibl.git] / src / make / makestg2
index 8ebea6614d2906a531ca132898e96f01099ce752..23062d5502c8cd6cbcf397379a719342f3a3a4d7 100644 (file)
@@ -53,12 +53,26 @@ include $(IBL_ROOT)/make/$(ARCH)/makedefs.mk
 export ARCH
 export TARGET
 
-.PHONY:  $(TARGETS) i2cRom spiRom compare iblInit iblMain $(MODULES) $(CFG_MODULES)
+.PHONY:  $(TARGETS) i2crom spiRom compare iblInit iblMain $(MODULES) $(CFG_MODULES)
 .PHONY:  utils clean clean_modules hwClean cleant
 
 $(TARGETS): iblMain
 
+ifeq ($(TARGET),c661x)
+    HAS_SPI=1
+else
+    HAS_SPI=0
+endif
 
+ifeq (EXCLUDE_SPI, $(strip $(findstring EXCLUDE_SPI, $(MAINDEFS))))
+    HAS_SPI=0
+endif
+
+ifeq (EXCLUDE_I2C, $(strip $(findstring EXCLUDE_I2C, $(MAINDEFS))))
+    HAS_I2C=0
+else 
+   HAS_I2C=1
+endif
 
 # The I2C creation options. The I2C map file is run through the C pre-processor to generate
 # the desired I2C mapping. There are three possible configurations - an i2c which has
@@ -69,7 +83,8 @@ I2C_LE_FILE=      '"ibl_$(TARGET)/ibl.i2c.le.ccs"'
 I2C_INIT_BE_FILE= '"ibl_$(TARGET)/ibl_init.i2c.be.ccs"'
 I2C_INIT_LE_FILE= '"ibl_$(TARGET)/ibl_init.i2c.le.ccs"'
 
-I2C_DEFS= -DI2C_BUS_ADDR=$(I2C_BUS_ADDR) 
+I2C_DEFS= -DI2C_BUS_ADDR=$(I2C_BUS_ADDR)
+I2C_DEFS+= -DI2C_MAP_ADDR=$(I2C_MAP_ADDR)
 
 ifeq ($(I2CROM),both) 
  I2C_DEFS+= -DINIT_EXE_FILE=$(I2C_INIT_LE_FILE)
@@ -77,23 +92,43 @@ ifeq ($(I2CROM),both)
  I2C_DEFS+= -DPAD_FILE_ID_1=1 
  I2C_DEFS+= -DEXE_FILE_2=$(I2C_BE_FILE) 
  I2C_DEFS+= -DPAD_FILE_ID_2=2 
+
+ SPI_CFG+= -DINIT_EXE_FILE=$(I2C_INIT_LE_FILE)
+ SPI_CFG+= -DEXE_FILE_1=$(I2C_LE_FILE) 
+ SPI_CFG+= -DPAD_FILE_ID_1=1 
+ SPI_CFG+= -DEXE_FILE_2=$(I2C_BE_FILE) 
+ SPI_CFG+= -DPAD_FILE_ID_2=2 
+
 else 
  I2C_DEFS+= -DPAD_FILE_ID_1=1
  I2C_DEFS+= -DPAD_FILE_ID_2=1
 
+ SPI_CFG+= -DPAD_FILE_ID_1=1
+ SPI_CFG+= -DPAD_FILE_ID_2=1
+
  ifeq ($(I2CROM),little_endian)
   I2C_DEFS+= -DINIT_EXE_FILE=$(I2C_INIT_LE_FILE)
   I2C_DEFS+= -DEXE_FILE_1=$(I2C_LE_FILE)
   I2C_DEFS+= -DEXE_FILE_2='""'
+
+  SPI_CFG+= -DINIT_EXE_FILE=$(I2C_INIT_LE_FILE)
+  SPI_CFG+= -DEXE_FILE_1=$(I2C_LE_FILE)
+  SPI_CFG+= -DEXE_FILE_2='""'
+
  else
   I2C_DEFS+= -DINIT_EXE_FILE=$(I2C_INIT_BE_FILE)
   I2C_DEFS+= -DEXE_FILE_1='""'
   I2C_DEFS+= -DEXE_FILE_2=$(I2C_BE_FILE)
+
+  SPI_CFG+= -DINIT_EXE_FILE=$(I2C_INIT_BE_FILE)
+  SPI_CFG+= -DEXE_FILE_1='""'
+  SPI_CFG+= -DEXE_FILE_2=$(I2C_BE_FILE)
+
  endif
 endif
 
 
-i2cRom:
+i2crom:
        $(CC) -ppo -I../cfg/$(TARGET) $(I2C_DEFS) ibl_$(TARGET)/$@.map.pre
        ../util/romparse/romparse $(COMPACT) -rom_base $(I2C_BUS_ADDR) ibl_$(TARGET)/$@.map.pp
        $(CP) i2crom.ccs ibl_$(TARGET)/$@.ccs
@@ -102,6 +137,10 @@ i2cRom:
 
 spiRom:
        @echo Making SPI ROM
+       $(CC) -ppo -I../cfg/$(TARGET) $(SPI_CFG) ibl_$(TARGET)/$@.map.pre
+       ../util/romparse/romparse $(COMPACT) -fill 0xff -rom_base 0 ibl_$(TARGET)/$@.map.pp
+       $(CP) i2crom.ccs ibl_$(TARGET)/$@.ccs
+       $(CP) i2crom.ccs ibl_$(TARGET)/$@.dat
 
 
 
@@ -134,7 +173,9 @@ iblInit: $(CFG_MODULES) $(MODULES)
        ../util/btoccs/b2i2c ibl_$(TARGET)/ibl.b ibl_$(TARGET)/ibl.i2c.b
        ../util/btoccs/b2ccs ibl_$(TARGET)/ibl.i2c.b ibl_$(TARGET)/ibl_init.i2c.$(IEXT).ccs
 
-       bash ../util/symExtract/symExtract ibl_$(TARGET)/ibl_$(TARGET)_init.map ibl_$(TARGET)/ibl_init_symbols.inc $(COMMON_SYMBOLS)
+       sed -e 's/\\r//' ../util/symExtract/symExtract > ../util/symExtract/symExtract_unix
+       bash ../util/symExtract/symExtract_unix ibl_$(TARGET)/ibl_$(TARGET)_init.map ibl_$(TARGET)/ibl_init_symbols.inc $(COMMON_SYMBOLS)
+       rm -f ../util/symExtract/symExtract_unix
 
        
 iblMain: iblInit $(CFG_MODULES) $(MODULES)
@@ -161,11 +202,17 @@ $(CFG_MODULES):
        make -C $(IBL_ROOT)/$@/$(ARCH)/make CDEFS='$(MAINDEFS) $(SPI_CFG)' $@
 
 utils:
+ifeq ($(HAS_SPI),1)
+       make -C $(IBL_ROOT)/util/spiWrite TARGET=$(TARGET) SPI_DEFS='$(SPI_DEFS)' MAINDEFS='$(MAINDEFS) $(SPI_CFG)' $(TARGET)
+       make -C $(IBL_ROOT)/util/spiConfig TARGET=$(TARGET) SPI_DEFS='$(SPI_DEFS)' MAINDEFS='$(MAINDEFS) $(SPI_CFG)' $(TARGET)
+endif
        make -C $(IBL_ROOT)/util/btoccs
        make -C $(IBL_ROOT)/util/romparse TARGET=$(TARGET)
+ifeq ($(HAS_I2C),1)
        make -C $(IBL_ROOT)/util/i2cRead  TARGET=$(TARGET) $(TARGET) 
        make -C $(IBL_ROOT)/util/i2cWrite TARGET=$(TARGET) I2C_SIZE_BYTES=$(I2C_SIZE_BYTES) MAINDEFS='$(MAINDEFS) $(SPI_CFG)' $(TARGET)
        make -C $(IBL_ROOT)/util/i2cConfig $(TARGET) MAINDEFS='$(MAINDEFS) $(SPI_CFG)' 
+endif
        make -C $(IBL_ROOT)/util/bconvert
 
 clean: $(CLEAN_MODULES) hwClean
@@ -212,6 +259,8 @@ cleant:
        rm -rf ibl_$(TARGET)/ibl_objs.inc
        rm -rf ibl_$(TARGET)/ibl_objs.pp
        rm -rf ibl_$(TARGET)/ibl_objs.tmp
+       rm -rf ibl_$(TARGET)/spiRom.dat
+       rm -rf ibl_$(TARGET)/spiRom.map.pp