Makefile changes to exclude features in C64X devices to save eeprom space
authorSandeep Nair <sandeep_n@ti.com>
Fri, 6 May 2011 23:44:24 +0000 (19:44 -0400)
committerBill Mills <wmills@ti.com>
Mon, 9 May 2011 18:40:17 +0000 (14:40 -0400)
Fix for C6472 EVM to work with GIGE switch

release.sh
src/device/c6472/target.h
src/hw/macs/cpmac/cpmac_regs.h
src/main/iblinit.c
src/make/Makefile
src/util/i2cConfig/i2cConfig.gel

index 7768cd2d18bf151fa86ef8c58dec1d3ee6e488f1..cd1c89cc8089e891ac67dc019934c50458cb3339 100755 (executable)
@@ -85,9 +85,9 @@ make evm_c6474
 popd
 # Copy the files to the Binary package
 cp -f src/make/ibl_c6474/i2crom_0x50_c6474_le.dat ibl_bin_$IBL_VERSION/c6474/le/
-cp -f src/make/ibl_c6474/i2crom.bin ibl_bin_$IBL_VERSION/c6474/le/i2crom_0x50_c6474_le.bin
+cp -f src/make/ibl_c6474/i2crom_0x50_c6474_le.bin ibl_bin_$IBL_VERSION/c6474/le/
 cp -f src/make/ibl_c6474/i2crom_0x50_c6474_be.dat ibl_bin_$IBL_VERSION/c6474/be/
-cp -f src/make/ibl_c6474/i2crom.bin ibl_bin_$IBL_VERSION/c6474/be/i2crom_0x50_c6474_be.bin
+cp -f src/make/ibl_c6474/i2crom_0x50_c6474_be.bin ibl_bin_$IBL_VERSION/c6474/be/
 cp -f src/util/i2cConfig/i2cparam_c6474_le.out   ibl_bin_$IBL_VERSION/c6474/le/
 cp -f src/util/i2cConfig/i2cparam_c6474_be.out   ibl_bin_$IBL_VERSION/c6474/be/
 
@@ -99,9 +99,9 @@ make evm_c6474l
 popd
 # Copy the files to the Binary package
 cp -f src/make/ibl_c6474/i2crom_0x50_c6474l_le.dat ibl_bin_$IBL_VERSION/c6474l/le/
-cp -f src/make/ibl_c6474/i2crom.bin ibl_bin_$IBL_VERSION/c6474l/le/i2crom_0x50_c6474l_le.bin
+cp -f src/make/ibl_c6474/i2crom_0x50_c6474l_le.bin ibl_bin_$IBL_VERSION/c6474l/le/
 cp -f src/make/ibl_c6474/i2crom_0x50_c6474l_be.dat ibl_bin_$IBL_VERSION/c6474l/be/
-cp -f src/make/ibl_c6474/i2crom.bin ibl_bin_$IBL_VERSION/c6474l/be/i2crom_0x50_c6474l_be.bin
+cp -f src/make/ibl_c6474/i2crom_0x50_c6474l_be.bin ibl_bin_$IBL_VERSION/c6474l/be/
 cp -f src/util/i2cConfig/i2cparam_c6474_le.out   ibl_bin_$IBL_VERSION/c6474l/le/i2cparam_c6474l_le.out
 cp -f src/util/i2cConfig/i2cparam_c6474_be.out   ibl_bin_$IBL_VERSION/c6474l/be/i2cparam_c6474l_be.out
 
@@ -112,9 +112,9 @@ make clean
 make evm_c6457 
 popd
 cp -f src/make/ibl_c6457/i2crom_0x50_c6457_le.dat ibl_bin_$IBL_VERSION/c6457/le/
-cp -f src/make/ibl_c6457/i2crom.bin ibl_bin_$IBL_VERSION/c6457/le/i2crom_0x50_c6457_le.bin
+cp -f src/make/ibl_c6457/i2crom_0x50_c6457_le.bin ibl_bin_$IBL_VERSION/c6457/le/
 cp -f src/make/ibl_c6457/i2crom_0x50_c6457_be.dat ibl_bin_$IBL_VERSION/c6457/be/
-cp -f src/make/ibl_c6457/i2crom.bin ibl_bin_$IBL_VERSION/c6457/be/i2crom_0x50_c6457_be.bin
+cp -f src/make/ibl_c6457/i2crom_0x50_c6457_be.bin ibl_bin_$IBL_VERSION/c6457/be/
 cp -f src/util/i2cConfig/i2cparam_c6457_le.out   ibl_bin_$IBL_VERSION/c6457/le/
 cp -f src/util/i2cConfig/i2cparam_c6457_be.out   ibl_bin_$IBL_VERSION/c6457/be/
 
index ec9c452d1969d9cb433ea80234e7d33fc3de2879..e99527dad49ca844246201cf3036ba76f33c182b 100644 (file)
 #define deviceSetEthResetState(x,y)
 
 /* The mac control register values used */
-#define TARGET_MAC_CONTROL     CPMAC_MACCONTROL_RXOWNERSHIP   |      \
-                               CPMAC_MACCONTROL_RXOFFLENBLOCK |      \
-                               CPMAC_MACCONTROL_MIIEN
+#define TARGET_MAC_CONTROL     CPMAC_MACCONTROL_RGMIIEN |  \
+                               CPMAC_MACCONTROL_GIG |      \
+                               CPMAC_MACCONTROL_GMIIEN |   \
+                               CPMAC_MACCONTROL_FULLDUPLEX
 
 /* There is no sgmii on the 6472, so the sgmii config is defined to a void statement */
 #define hwSgmiiConfig(x,y)
index e000d19ae5efc66653d963552cbe7f1cd1fbb5d6..3e6e913cee02058559d92bf126a04ff541d888f1 100644 (file)
@@ -194,9 +194,10 @@ typedef struct CPMAC_REGS
 #define CPMAC_MACADDRLO_MATCHFILT       (0x00080000u)
 
 /* MACCONTROL: Bit Mask Definitions. */
-#define CPMAC_MACCONTROL_RXOWNERSHIP    (0x00002000u)
-#define CPMAC_MACCONTROL_RXOFFLENBLOCK  (0x00004000u)
-#define CPMAC_MACCONTROL_MIIEN          (0x00000020u)
+#define CPMAC_MACCONTROL_RGMIIEN        (0x00040000u)
+#define CPMAC_MACCONTROL_GIG            (0x00000080u)
+#define CPMAC_MACCONTROL_GMIIEN         (0x00000020u)
+#define CPMAC_MACCONTROL_FULLDUPLEX     (0x00000001u)
 
 /* RXMBP Enable: Bit Mask Definitions.  */
 #define CPMAC_RXMBPENABLE_RXBROADEN     (0x00002000u)
index 065ba993d1e2a59e81eb797f81d8d350f85b0713..18d23c2403f46ed5725ede85765b6c74367d1cd2 100644 (file)
@@ -340,6 +340,7 @@ void iblSwap (void)
 
     }
 
+    ibl.iblEvmType = swap16val (ibl.iblEvmType);
     ibl.chkSum = swap16val (ibl.chkSum);
 }
 
index f30a5221ded8196cd9d553d03cda82c5179a5763..2cd2d6bea2297b716b386fcb9b30b6825d572e62 100644 (file)
@@ -270,31 +270,45 @@ $(IBLS_C6X):
 # Configurations for individual evms
 # The c6455 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
 evm_c6455:
-       make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='MULTI_BOOT' c6455
+       make -f makestg1 ARCH=c64x TARGET=c6455 I2C_BUS_ADDR=0x50 \
+    I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='ELF COFF BIS NAND_GPIO MULTI_BOOT' c6455
 
 # The c6472 EVM has a 128k eeprom (64k at 0x50, 64k at 0x51), so both endians are built with full functionality
 evm_c6472:
-       make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='MULTI_BOOT' c6472
+       make -f makestg1 ARCH=c64x TARGET=c6472 I2C_BUS_ADDR=0x50 \
+    I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no ENDIAN_MODE=both CEXCLUDES='ELF BIS MULTI_BOOT' c6472
 
 # The 6474 EVM has a 32k eeprom. A stripped down version is build with only one endian.
 evm_c6474:
-       make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
+       make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
+    COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
        cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_le.dat
-       make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
+       cp ibl_c6474/i2crom.bin ibl_c6474/i2crom_0x50_c6474_le.bin
+       make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
+    COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
        cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474_be.dat
+       cp ibl_c6474/i2crom.bin ibl_c6474/i2crom_0x50_c6474_be.bin
 
 evm_c6474l:
-       make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' c6474
+       make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
+    COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
        cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_le.dat
-       make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' c6474
+       cp ibl_c6474/i2crom.bin ibl_c6474/i2crom_0x50_c6474l_le.bin
+       make -f makestg1 ARCH=c64x TARGET=c6474 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
+    COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' I2C_SIZE_BYTES=0x8000 c6474
        cp ibl_c6474/i2crom.dat ibl_c6474/i2crom_0x50_c6474l_be.dat
+       cp ibl_c6474/i2crom.bin ibl_c6474/i2crom_0x50_c6474l_be.bin
 
 # The 6457 EVM
 evm_c6457:
-       make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' c6457
+       make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
+    COMPACT_I2C=yes ENDIAN_MODE=little CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' c6457
        cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_le.dat
-       make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO BIS MULTI_BOOT' c6457
+       cp ibl_c6457/i2crom.bin ibl_c6457/i2crom_0x50_c6457_le.bin
+       make -f makestg1 ARCH=c64x TARGET=c6457 I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=0x200 \
+    COMPACT_I2C=yes ENDIAN_MODE=big CEXCLUDES='ELF NAND_GPIO COFF BIS MULTI_BOOT' c6457
        cp ibl_c6457/i2crom.dat ibl_c6457/i2crom_0x50_c6457_be.dat
+       cp ibl_c6457/i2crom.bin ibl_c6457/i2crom_0x50_c6457_be.bin
 
 # The 6608 EVM
 EVM_6608_SPI_DEFS= SPI_MODE=1 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=1 SPI_CLKDIV=8 SPI_ROM=1
@@ -309,7 +323,8 @@ evm_c667x_spi:
        make -f makestg1 ARCH=c64x TARGET=c661x I2C=no I2C_BUS_ADDR=0x51 I2C_MAP_ADDR=0x500 ENDIAN_MODE=little CEXCLUDES=I2C SPI_DEFS='$(EVM_667x_SPI_DEFS)' c661x
 
 evm_c667x_i2c:
-       make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c661x SPI=no SPI_DEFS='$(EVM_667x_SPI_DEFS)' c661x
+       make -f makestg1 I2C_BUS_ADDR=$(I2C_BUS_ADDR) I2C_MAP_ADDR=$(I2C_MAP_ADDR) \
+ENDIAN_MODE=$(ENDIAN) ARCH=c64x TARGET=c661x SPI=no SPI_DEFS='$(EVM_667x_SPI_DEFS)' CEXCLUDES='COFF BIS' c661x
 
 test_c661x:
        make -f makestg1 ARCH=c64x TARGET=c661x ENDIAN_MODE=both CEXCLUDES='NOR_SPI' SPI_DEFS='SPI_ROM=1 SPI_MODE=3 SPI_ADDR_WIDTH=24 SPI_NPIN=5 SPI_CSEL=2 SPI_C2TDEL=8 SPI_CLKDIV=0x20' I2C_BUS_ADDR=0x50 I2C_MAP_ADDR=$(I2C_MAP_ADDR) COMPACT_I2C=no c661x
index a7ce68b0c12e0c046340e3a490c2580c756358f0..fee3f6021ed393b05f9096e1ae8e55ef1ed87e6d 100755 (executable)
@@ -338,7 +338,7 @@ hotmenu setConfig_c6474lite()
     ibl.mdioConfig.mdio[2] =  (1 << 30) | ( 0 << 21) | (14 << 16) | 0x8140;
 
     ibl.mdioConfig.mdio[3] =  (1 << 30) | ( 1 << 21) | (22 << 16) | 0x043e;
-    ibl.mdioConfig.mdio[4] =  (1 << 30) | ( 0 << 21) | ( 1 << 16) | 0x9140;
+    ibl.mdioConfig.mdio[4] =  (1 << 30) | ( 0 << 21) | ( 1 << 16) | 0x8140;
 
     /* spiConfig and emifConfig not needed */