# Gumstix Verdex board-specific definitions

HAIKU_BOARD_DESCRIPTION = "Gumstix Verdex" ;

#
# Various hardcoded addresses
#

# load address for haiku_loader
HAIKU_BOARD_LOADER_BASE = 0xa2000000 ;
# entry points (raw binary, and netbsd loader emulation)
HAIKU_BOARD_LOADER_ENTRY_RAW = 0xa2000000 ;
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0xa2000008 ;

# load address for haiku_loader uimage
# (must be different than real load address)
HAIKU_BOARD_LOADER_UIBASE = 0xa4000000 ;

HAIKU_BOARD_LOADER_STACK_BASE = 0xa4000000 ;

#
# Flash image
#

# u-boot binary image filename, to build the flash image
# XXX: Locate it somehow (for now just put it in generated/)
HAIKU_BOARD_UBOOT_IMAGE ?= u-boot-verdex-400-r1604.bin ;
HAIKU_BOARD_UBOOT_IMAGE_URL = 
	http://www.gumstix.net/feeds/u-boot/u-boot-verdex-400-r1604.bin ;


#
# mmc/SD image
#

# in MB
HAIKU_BOARD_SDIMAGE_SIZE = 256 ;

# in MB
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;

# offset in blocks XXX: FIXME
# (autodetect from sfdisk or use cylinder count for fat size)
#HAIKU_BOARD_SDIMAGE_BFS_OFFSET = ;

# autoboot script
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME = gumstix-factory.script ;

HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT = "\
setenv bootargs debug_screen true; \
if mmcinit; then \
	fatload mmc 0 $(HAIKU_BOARD_LOADER_UIBASE) haiku_loader_nbsd.ub; \
	bootm $(HAIKU_BOARD_LOADER_UIBASE); \
fi" ;

HAIKU_BOARD_SDIMAGE_FILES = 
	haiku_loader
	haiku_loader.ub
	haiku_loader_nbsd.ub
	$(HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME)
;


#
# gcc flags for the specific cpu
#

TARGET_KERNEL_CCFLAGS += -mcpu=xscale ;
TARGET_KERNEL_C++FLAGS += -mcpu=xscale ;
TARGET_CCFLAGS += -mcpu=xscale ;
TARGET_C++FLAGS += -mcpu=xscale ;

# Workaround for ld using 32k for alignment despite forcing it in the config...
# should definitely not be needed!
TARGET_KERNEL_LINKFLAGS +=
	-Wl,-z -Wl,max-page-size=0x1000
	-Wl,-z -Wl,common-page-size=0x1000 ;
TARGET_LINKFLAGS +=
	-Wl,-z -Wl,max-page-size=0x1000
	-Wl,-z -Wl,common-page-size=0x1000 ;

