From 1a2238d1bddc823df06f67312d96ccf9de2893cc Mon Sep 17 00:00:00 2001 From: root Date: Sat, 19 Dec 2015 13:13:57 +0000 Subject: CFE from danitool [without hostTools dir]: https://mega.nz/#!mwZyFK7a!CPT3BKC8dEw29kubtdYxhB91G9vIIismTkgzQ3iUy3k --- cfe/build/broadcom/bcm63xx_ram/Makefile | 76 +++++++++++++++ cfe/build/broadcom/bcm63xx_rom/Makefile | 160 ++++++++++++++++++++++++++++++++ 2 files changed, 236 insertions(+) create mode 100755 cfe/build/broadcom/bcm63xx_ram/Makefile create mode 100755 cfe/build/broadcom/bcm63xx_rom/Makefile (limited to 'cfe/build') diff --git a/cfe/build/broadcom/bcm63xx_ram/Makefile b/cfe/build/broadcom/bcm63xx_ram/Makefile new file mode 100755 index 0000000..970da8f --- /dev/null +++ b/cfe/build/broadcom/bcm63xx_ram/Makefile @@ -0,0 +1,76 @@ + +CFG_MLONG64 ?= 0 +CFG_LITTLE ?= 0 # Mindbender +CFG_RELOC ?= 0 +CFG_UNCACHED ?= 0 # Mindbender +CFG_NEWRELOC ?= 0 +CFG_VAPI ?= 0 +CFG_BOOTRAM ?= 0 +CFG_RAMAPP ?= 1 +CFG_BOARDNAME = "BCM9$(BRCM_CHIP)" +CFG_PCI = 0 +CFG_ZLIB = 0 # enable zlib + +COMPRESS ?= cmplzma + +TOP = ../../../cfe +ARCH = mips +CPU = bcmcore +BOARD = bcm63xx_ram + +HOSTTOOLS = ../../../../hostTools +SHARED_DIR = ../../../../shared +BOARDPARMS_DIR = $(SHARED_DIR)/opensource/boardparms/bcm963xx +FLASH_DIR = $(SHARED_DIR)/opensource/flash +BCMSPI_DIR = $(SHARED_DIR)/opensource/spi +INC_SHARED_PUB_PATH = $(SHARED_DIR)/opensource/include/bcm963xx +INC_SHARED_PRIV_PATH = $(SHARED_DIR)/broadcom/include/bcm963xx +ROM_BUILD = ../bcm63xx_rom +ASM_FILE =$(ROM_BUILD)/flashimg.S + +ifeq ($(strip $(CFG_SBP)),1) + CFLAGS += -DUSE_SINGLE_BOARD_PARAM +endif + +include $(TOP)/arch/mips/board/$(BOARD)/src/ram_cfe.mk + +VPATH += ${ARCH_TOP}/board/$(BOARD)/src/html ${BOARDPARMS_DIR} $(BCMSPI_DIR) ${FLASH_DIR} +INCDIRS += -I${INC_SHARED_PUB_PATH} -I${INC_SHARED_PRIV_PATH} + +$(HOSTTOOLS)/$(COMPRESS): + $(MAKE) -C $(HOSTTOOLS) build_cmplzma + +ALL: sanity_check $(HOSTTOOLS)/$(COMPRESS) + find $(SHARED_DIR) -name "*.o" -exec rm -f "{}" ";" + find $(BOARDPARMS_DIR) -name "*.o" -exec rm -f "{}" ";" + ${MAKE} cfe$(BRCM_CHIP) + $(HOSTTOOLS)/$(COMPRESS) -s -c -2 cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin $(ASM_FILE) + +sanity_check: + @if [ "$(BRCM_CHIP)" = "" ]; then \ + echo You must specify chip ID using 'gmake BRCM_CHIP=[6328|6362|6368|6816]'; exit 1; \ + fi + +$(ASM_FILE): cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin + +cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin: $(CRT0OBJS) $(BSPOBJS) $(LIBCFE) + $(GLD) -o cfe$(BRCM_CHIP) -Map cfe$(BRCM_CHIP).map $(LDFLAGS) $(CRT0OBJS) $(BSPOBJS) -L. -lcfe $(LDLIBS) + $(OBJDUMP) -d cfe$(BRCM_CHIP) > cfe$(BRCM_CHIP).dis + $(OBJCOPY) --output-target=binary cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin +ifeq ($(strip $(INC_NAND_FLASH_DRIVER)),1) + printf "0: %08x%08x%08x" `$(OBJDUMP) -x cfe$(BRCM_CHIP) | sed -n -e "/start address/{s?start address ??p}" -e "/LOAD off/{s?^ *LOAD off.*vaddr ??; s? paddr .*??p}" -e "/ _end/{s? g.* _end??; s?^...?0x000?p}"` | xxd -r > cferamhdr.bin; \ + cat cferamhdr.bin cfe$(BRCM_CHIP).bin > cfe$(BRCM_CHIP)ram.bin; \ + rm cferamhdr.bin +endif + +clean : + rm -f *.o *~ cfe* + rm -f build_date.c + rm -f libcfe.a + rm -f $(ASM_FILE) + +distclean : clean + + + + diff --git a/cfe/build/broadcom/bcm63xx_rom/Makefile b/cfe/build/broadcom/bcm63xx_rom/Makefile new file mode 100755 index 0000000..819cb21 --- /dev/null +++ b/cfe/build/broadcom/bcm63xx_rom/Makefile @@ -0,0 +1,160 @@ + +CFG_MLONG64 ?= 0 +CFG_LITTLE ?= 0 # Mindbender +CFG_RELOC ?= 0 +CFG_UNCACHED ?= 0 # Mindbender +CFG_NEWRELOC ?= 0 +CFG_VAPI ?= 0 +CFG_BOOTRAM ?= 0 +CFG_RAMAPP ?= 0 # EPI +CFG_BOARDNAME = "BCM9$(BRCM_CHIP)" +CFG_PCI ?= 0 +CFG_ZLIB ?= 0 # enable zlib +CFG_SBP ?= 0 # use Single Board Parameter if defined to 1 + +TOP = ../../../cfe +ARCH = mips +CPU = bcmcore +BOARD = bcm63xx_rom + +LINUX_KERNEL_DIR=../../../../kernel/linux +HOSTTOOLS = ../../../../hostTools +TARGETS_DIR = ../../../../targets +SHARED_DIR = ../../../../shared +INC_SHARED_PUB_PATH = $(SHARED_DIR)/opensource/include/bcm963xx +INC_SHARED_PRIV_PATH = $(SHARED_DIR)/broadcom/include/bcm963xx +FLASH_DIR = $(SHARED_DIR)/opensource/flash +BCMSPI_DIR = $(SHARED_DIR)/opensource/spi + +BOOT_DIR = ${ARCH_TOP}/board/$(BOARD)/src +ASM_FILE = flashimg.S +RAM_BUILD = ../bcm63xx_ram + +TOOLS=../../../../uclibc-crosstools-gcc-4.4.2-1/usr/bin/mips-linux- + +include $(TOP)/arch/mips/board/$(BOARD)/src/rom_cfe.mk + +VPATH += ${FLASH_DIR} $(BCMSPI_DIR) +INCDIRS += -I${ARCH_TOP}/board/bcm63xx_ram/include -I${INC_SHARED_PUB_PATH} -I${INC_SHARED_PRIV_PATH} + +BSPOBJS_ROM := $(BSPOBJS) +ifneq ($(strip $(BRCM_IKOS)),y) +BSPOBJS += flashimg.o $(LZMAOBJS) +endif + +export INC_CFI_FLASH_DRIVER INC_SPI_FLASH_DRIVER INC_NAND_FLASH_DRIVER INC_SPI_PROG_NAND + +ALL : sanity_check cfe$(BRCM_CHIP) +ifneq ($(strip $(INC_NAND_FLASH_DRIVER)),1) + gcc -o ${HOSTTOOLS}/addvtoken -I ${INC_SHARED_PUB_PATH} ${HOSTTOOLS}/addvtoken.c + @if [ $(shell find . -name cfe$(BRCM_CHIP).bin -printf '%s\n') -le 65536 ] ; then \ + ${HOSTTOOLS}/addvtoken cfe$(BRCM_CHIP).bin bcm9$(BRCM_CHIP)_cfe.w; \ + else \ + find . -name cfe$(BRCM_CHIP).bin -printf '\nERROR: cfe.bin size, %s, is greater than 65536 maximum size.\n'; \ + rm cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin; \ + fi +endif + @echo done + +untar_check: + @if [ ! -e $(TOP)/api ]; then \ + echo Untarring original CFE source...; \ + (cd ../../.. && tar xfzk cfe*.tar.gz 2> /dev/null || true); \ + fi + +sanity_check: + @if [ "$(BRCM_CHIP)" = "" ]; then \ + echo You must specify chip ID using 'make BRCM_CHIP=[6328|6362|6368|6816]'; exit 1; \ + fi + @if [ ! -e $(TOP)/api ]; then \ + echo Untarring original CFE source...; \ + (cd ../../.. && tar xfzk cfe*.tar.gz 2> /dev/null || true); \ + $(MAKE) BRCM_CHIP=$(BRCM_CHIP) BLD_NAND=$(BLD_NAND); \ + fi + +mksbp: ALL + @echo done + +sbp: + ${MAKE} clean + ${MAKE} CFG_SBP?=1 mksbp + +ifeq ($(strip $(INC_NAND_FLASH_DRIVER)),1) +# Build NAND flash boot loader +cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin : $(CRT0OBJS) $(BSPOBJS_ROM) $(LIBCFE) noflashimg + $(MAKE) -C $(RAM_BUILD) + $(GLD) -o cfe$(BRCM_CHIP)rom -Map cfe$(BRCM_CHIP)rom.map $(LDFLAGS) $(CRT0OBJS) $(BSPOBJS_ROM) noflashimg.o -L. -lcfe $(LDLIBS) + $(OBJCOPY) --output-target=binary cfe$(BRCM_CHIP)rom cfe$(BRCM_CHIP)rom.bin + rm noflashimg.* + +noflashimg: + echo "char *_binArrayStart = (char *) 0, *_binArrayEnd = (char *) 0;" > $@.c; \ + echo "int decompressLZMA(unsigned char *s, unsigned int sl, unsigned char *d, unsigned int dl);" >> $@.c; \ + echo "int decompressLZMA(unsigned char *s, unsigned int sl, unsigned char *d, unsigned int dl){return 0;}" >> $@.c + $(GCC) $(CFLAGS) -o $@.o $@.c + +else +# Build NOR flash boot loader +cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin : $(CRT0OBJS) $(BSPOBJS) $(LIBCFE) $(ASM_FILE) + $(GLD) -o cfe$(BRCM_CHIP) -Map cfe$(BRCM_CHIP).map $(LDFLAGS) $(CRT0OBJS) $(BSPOBJS) -L. -lcfe $(LDLIBS) + $(OBJDUMP) -d cfe$(BRCM_CHIP) > cfe$(BRCM_CHIP).dis + $(OBJCOPY) --output-target=binary cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin + +$(ASM_FILE) : $(TOP)/arch/mips/board/bcm63xx_ram/src + rm -f $(ASM_FILE) + $(MAKE) -C $(RAM_BUILD) +endif + + +clean : untar_check + rm -f *.o *~ cfe* *.w *.srec + rm -f build_date.c + rm -f noflashimg.c >& /dev/null + rm -f libcfe.a + $(MAKE) -C $(RAM_BUILD) clean + +distclean : clean + +release : untar_check + $(MAKE) clean + $(MAKE) BRCM_CHIP=6328 + cp -f cfe*.bin $(TARGETS_DIR)/cfe + $(MAKE) clean + $(MAKE) BRCM_CHIP=6328 BLD_NAND=1 + cp -f cfe*.bin $(TARGETS_DIR)/cfe + cp -f $(RAM_BUILD)/cfe*ram.bin $(TARGETS_DIR)/cfe + $(MAKE) clean + $(MAKE) BRCM_CHIP=6362 + cp -f cfe*.bin $(TARGETS_DIR)/cfe + $(MAKE) clean + $(MAKE) BRCM_CHIP=6362 BLD_NAND=1 + cp -f cfe*.bin $(TARGETS_DIR)/cfe + cp -f $(RAM_BUILD)/cfe*ram.bin $(TARGETS_DIR)/cfe + $(MAKE) clean + $(MAKE) BRCM_CHIP=6368 + cp -f cfe*.bin $(TARGETS_DIR)/cfe + $(MAKE) clean + $(MAKE) BRCM_CHIP=6368 BLD_NAND=1 + cp -f cfe*.bin $(TARGETS_DIR)/cfe + cp -f $(RAM_BUILD)/cfe*ram.bin $(TARGETS_DIR)/cfe + $(MAKE) clean + $(MAKE) BRCM_CHIP=6816 + cp -f cfe*.bin $(TARGETS_DIR)/cfe + $(MAKE) clean + $(MAKE) BRCM_CHIP=6816 BLD_NAND=1 + cp -f cfe*.bin $(TARGETS_DIR)/cfe + cp -f $(RAM_BUILD)/cfe*ram.bin $(TARGETS_DIR)/cfe + $(MAKE) clean + +CFE_RAM_START_ADDR := $(OBJDUMP) -f $(RAM_BUILD)/cfe$(BRCM_CHIP) | grep start | cut -d'x' -f2 +VMLINUX_START_ADDR := $(OBJDUMP) -f $(LINUX_KERNEL_DIR)/vmlinux | grep start | cut -d'x' -f2 + +# Must be called from base Linux build directory. +ikos_finish: + @xxd -g4 cfe$(BRCM_CHIP) | sed -e "s/694b6f31/$(shell $(CFE_RAM_START_ADDR))/" | xxd -r > cfe$(BRCM_CHIP).tmp + @mv cfe$(BRCM_CHIP).tmp cfe$(BRCM_CHIP) + @xxd -g4 $(RAM_BUILD)/cfe$(BRCM_CHIP) | sed -e "s/694b6f32/$(shell $(VMLINUX_START_ADDR))/" | xxd -r > $(RAM_BUILD)/cfe$(BRCM_CHIP).tmp + @mv $(RAM_BUILD)/cfe$(BRCM_CHIP).tmp $(RAM_BUILD)/cfe$(BRCM_CHIP) + $(OBJCOPY) --output-target=binary cfe$(BRCM_CHIP) cfe$(BRCM_CHIP).bin + $(OBJCOPY) --output-target=srec $(RAM_BUILD)/cfe$(BRCM_CHIP) cferam$(BRCM_CHIP).srec + -- cgit v1.2.3