haiku/build/jam/board/beagle/BoardSetup
Adrien Destugues cb6de5e19b BeagleBoard: fix compilation of dtb.
* Copy from rpi2, but this should probably be shared somewhere.
2015-04-08 21:23:33 +02:00

85 lines
2.6 KiB
Plaintext

# BeagleBoard board-specific definitions
HAIKU_BOARD_DESCRIPTION = "BeagleBoard" ;
HAIKU_BOARD_FDT_NAME = "omap3-beagle-xm" ;
#
# Various hardcoded addresses
#
# load address for haiku_loader
HAIKU_BOARD_LOADER_BASE = 0x80800000 ;
# entry points (raw binary, and netbsd loader emulation)
HAIKU_BOARD_LOADER_ENTRY_RAW = $(HAIKU_BOARD_LOADER_BASE) ;
HAIKU_BOARD_LOADER_ENTRY_NBSD = `printf \"obase=16;ibase=16;8 + %x\\n\" $(HAIKU_BOARD_LOADER_BASE)|bc` ;
HAIKU_BOARD_LOADER_ENTRY_LINUX = `printf \"obase=16;ibase=16;10 + %x\\n\" $(HAIKU_BOARD_LOADER_BASE)|bc` ;
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 = 0x82800000 ;
#
# Flash image
#
# OMAP x-loader image, must be first file on FAT partition
HAIKU_BOARD_MLO_IMAGE ?= MLO ;
HAIKU_BOARD_MLO_IMAGE_URL =
http://downloads.angstrom-distribution.org/demo/beagleboard/MLO ;
# 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.img ;
HAIKU_BOARD_UBOOT_IMAGE_URL =
http://downloads.angstrom-distribution.org/demo/beagleboard/u-boot.img ;
#
# mmc/SD image
#
# in MB
HAIKU_BOARD_SDIMAGE_SIZE = 64 ;
# in MB
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
mloFile = [ DownloadFile $(HAIKU_BOARD_MLO_IMAGE)
: $(HAIKU_BOARD_MLO_IMAGE_URL) ] ;
ubootFile = [ DownloadFile $(HAIKU_BOARD_UBOOT_IMAGE)
: $(HAIKU_BOARD_UBOOT_IMAGE_URL) ] ;
local fdtBinary = [ FDirName $(HAIKU_OUTPUT_DIR) $(HAIKU_BOARD_FDT_NAME).dtb ] ;
CompileDTS $(fdtBinary) : [ FDirName $(HAIKU_TOP) src data dts arch arm $(HAIKU_BOARD_FDT_NAME).dts ] ;
# U-Boot environment
# We load the uImage 2MB above its final destination, bootm will decode
# it to the proper location. Our image is smaller than 2MB so this works.
#HAIKU_BOARD_SDIMAGE_UBOOT_UENV_NAME = uEnv.txt ;
HAIKU_BOARD_SDIMAGE_UBOOT_UENV = "uenvcmd=run loadImage; run mmcboot; \
loadImage=fatload mmc0 0 $(HAIKU_BOARD_LOADER_UIBASE) haiku_loader_linux.ub; fatload mmc 0 0x80100000 $(HAIKU_BOARD_FDT_NAME).dtb; fatload mmc 0 0x81200000 haiku-floppyboot.tgz.ub; \
mmcboot=bootm $(HAIKU_BOARD_LOADER_UIBASE) 0x81200000 0x80100000" ;
HAIKU_BOARD_SDIMAGE_FILES =
$(mloFile)
$(ubootFile)
haiku_loader_nbsd.ub
haiku_loader_linux.ub
haiku-floppyboot.tgz.ub
$(fdtBinary)
;
#
# gcc flags for the specific cpu
local flags = -mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=hard ;
HAIKU_ASFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;