⛏️ index : haiku.git

# 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 ;

HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;

# load address for haiku_loader uimage
# (must be different than real load address)
HAIKU_BOARD_LOADER_UIBASE = 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 ;

# flash offsets:
#	FLASH_IMAGE_BLOCK_SIZE on $(image) = 128k ;
#	FLASH_IMAGE_BLOCK_COUNT on $(image) = 256 ;
#	#FLASH_IMAGE_UBOOT_OFFSET on $(image) = 0 ;
#	FLASH_IMAGE_LOADER_OFFSET on $(image) = 248 ;
# in kB
FLASH_IMAGE_LOADER_OFFSET = 31744 ;

# TODO: add U-Boot
FLASH_IMAGE_PARTS = ;

#
# mmc/SD image
#

# in MB
HAIKU_BOARD_SDIMAGE_SIZE = 256 ;

# in MB
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;

# 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
#

HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=xscale -D__XSCALE__ ;
HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=xscale -D__XSCALE__ ;
HAIKU_ASFLAGS_$(HAIKU_PACKAGING_ARCH) += -mcpu=xscale -D__XSCALE__ ;

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