arm: Initial Cubieboard4 work
* SD cards are "blessed" with a boot0 spl and boot1 u-boot at fixed locations. * Allwinner's u-boot is lacking a lot. * Upstream u-boot should be better at some point. WIP: http://lists.denx.de/pipermail/u-boot/2015-January/201537.html
This commit is contained in:
@@ -254,6 +254,11 @@ rule KernelArchitectureSetup architecture
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case cubieboard4 :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case verdex :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# Cubieboard 4 board-specific definitions
|
||||
# This likely could be easily used for other Allwinner chipsets
|
||||
|
||||
HAIKU_BOARD_DESCRIPTION = "Cubieboard 4 (CC-A80)" ;
|
||||
HAIKU_BOARD_FDT_NAME = "cubieboard4" ;
|
||||
|
||||
#
|
||||
# Various hardcoded addresses
|
||||
#
|
||||
|
||||
# 0x20000000 = SDRAM start
|
||||
# 0x20007800 = haiku_loader_linux.ub
|
||||
# 0x20087800 = BASE
|
||||
|
||||
HAIKU_BOARD_LOADER_BASE = 0x20087800 ;
|
||||
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` ;
|
||||
|
||||
#
|
||||
# mmc/SD image
|
||||
#
|
||||
|
||||
# TODO: Update to https://github.com/cubieboard/CC-A80-binaries when accepted upstream
|
||||
HAIKU_BOARD_FIRMWARE_URL = "https://github.com/kallisti5/CC-A80-binaries/raw/master/bin" ;
|
||||
|
||||
# u-boot image
|
||||
# Dear Cubbieboard, add fdt_addr_r, ramdisk_addr_r, kernel_addr_r to u-boot
|
||||
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME = boot.scr ;
|
||||
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT = "\
|
||||
fatload mmc 0 0x20800000 haiku-floppyboot.tgz.ub \
|
||||
fatload mmc 0 0x20007800 haiku_loader_linux.ub \
|
||||
bootm 0x20007800 0x20800000" ;
|
||||
|
||||
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
|
||||
HAIKU_BOARD_SDIMAGE_FILES =
|
||||
haiku_loader_linux.ub
|
||||
haiku-floppyboot.tgz.ub
|
||||
$(HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME)
|
||||
;
|
||||
|
||||
HAIKU_BOARD_SDIMAGE_BEGIN = 40950 ; # 512-byte sectors (divisible by 63)
|
||||
HAIKU_BOARD_SDIMAGE_SIZE = 128 ; # MiB
|
||||
|
||||
boot0File = [ DownloadFile sdcard-boot0 : $(HAIKU_BOARD_FIRMWARE_URL)/sdcard-boot0 ] ;
|
||||
boot1File = [ DownloadFile sdcard-boot1 : $(HAIKU_BOARD_FIRMWARE_URL)/sdcard-boot1 ] ;
|
||||
|
||||
# The Allwinner chips require an SD card "blessed" with
|
||||
# the boot0 SPL and boot1 (u-boot) at a fixed location on
|
||||
# the SD card. (Dear AW, please support loading from FAT)
|
||||
HAIKU_BOARD_SDIMAGE_BOOT0_FILE = $(boot0File) ;
|
||||
HAIKU_BOARD_SDIMAGE_BOOT0_SEEK = 8192 ;
|
||||
HAIKU_BOARD_SDIMAGE_BOOT1_FILE = $(boot1File) ;
|
||||
HAIKU_BOARD_SDIMAGE_BOOT1_SEEK = 19554304 ;
|
||||
|
||||
#
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
local flags = -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard ;
|
||||
|
||||
HAIKU_ASFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
|
||||
HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
|
||||
HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
|
||||
Reference in New Issue
Block a user