arm: Add beaglebone target, rename beagle

* beaglebone vs beagleboard
* While the boards are almost the same, they have
  diff. FDT's now (more memory, different layout etc)
* Make u-boot script more rpi-like
  (depend on u-boot for initial addresses)
* Wasn't working, still doesn't.
This commit is contained in:
Alexander von Gluck IV
2016-10-20 11:05:46 -05:00
parent e409118307
commit b2bdabc797
6 changed files with 101 additions and 4 deletions
+6 -1
View File
@@ -234,7 +234,12 @@ rule KernelArchitectureSetup architecture
case arm : case arm :
switch $(HAIKU_BOOT_BOARD) { switch $(HAIKU_BOOT_BOARD) {
case beagle : case beagleboard :
{
HAIKU_BOOT_PLATFORM ?= u-boot ;
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
}
case beaglebone :
{ {
HAIKU_BOOT_PLATFORM ?= u-boot ; HAIKU_BOOT_PLATFORM ?= u-boot ;
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
+61
View File
@@ -0,0 +1,61 @@
# BeagleBone board-specific definitions
HAIKU_BOARD_DESCRIPTION = "BeagleBone" ;
HAIKU_BOARD_FDT_NAME = "beaglebone-black" ;
# Not that many in the wild
#HAIKU_BOARD_FDT_NAME = "beaglebone" ;
#
# Various hardcoded addresses
#
# load address for haiku_loader
HAIKU_BOARD_LOADER_BASE = 0x80800000 ;
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
#
# in MB
HAIKU_BOARD_SDIMAGE_SIZE = 64 ;
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
# OMAP x-loader image, must be first file on FAT partition
HAIKU_BOARD_MLO_IMAGE_URL = https://github.com/kallisti5/beagle-uboot-bins/raw/master/beaglebone ;
mloFile = [ DownloadFile MLO : $(HAIKU_BOARD_MLO_IMAGE_URL)/MLO ] ;
# u-boot image
HAIKU_BOARD_UBOOT_IMAGE_URL = https://github.com/kallisti5/beagle-uboot-bins/raw/master/beaglebone ;
ubootFile = [ DownloadFile u-boot.img : $(HAIKU_BOARD_UBOOT_IMAGE_URL)/u-boot.img ] ;
# U-Boot environment
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME = boot.scr ;
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT = "\
fatload mmc 0 ${fdt_addr_r} $(HAIKU_BOARD_FDT_NAME).dtb \
fdt addr ${fdt_addr_r} \
fatload mmc 0 ${ramdisk_addr_r} haiku-floppyboot.tgz.ub \
fatload mmc 0 ${kernel_addr_r} haiku_loader_linux.ub \
bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}" ;
HAIKU_BOARD_SDIMAGE_FILES =
$(mloFile)
$(ubootFile)
$(HAIKU_BOARD_FDT_NAME).dtb
haiku_loader_linux.ub
haiku-floppyboot.tgz.ub
$(HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME)
;
#
# 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) ;
Vendored
+5 -3
View File
@@ -83,8 +83,9 @@ options:
first occurrence specifies the primary first occurrence specifies the primary
architecture of the Haiku to build, subsequent architecture of the Haiku to build, subsequent
ones the secondary architectures. ones the secondary architectures.
--target-board <board> ARM only: Specify the board to build for. Must be --target-board <board> ARM only: Target board to build for.
one of beagle,rpi1,rpi2,cubieboard4,verdex,overo. <board> is one of: "beagleboard","beaglebone",
"rpi1","rpi2","cubieboard4","verdex","overo"
--update re-runs last configure invocation [must be given --update re-runs last configure invocation [must be given
as first option!] as first option!]
--use-clang Build with host Clang instead of GCC cross --use-clang Build with host Clang instead of GCC cross
@@ -473,7 +474,8 @@ supportedTargetArchs="
x86_gcc2 x86_gcc2
" "
supportedTargetBoards=" supportedTargetBoards="
beagle beagleboard
beaglebone
rpi1 rpi1
rpi2 rpi2
cubieboard4 cubieboard4
@@ -0,0 +1,29 @@
/*
* Copyright 2009
* Distributed under the terms of the MIT License.
*/
#ifndef _BOARD_BEAGLE_BONE_CONFIG_H
#define _BOARD_BEAGLE_BONE_CONFIG_H
#define BOARD_NAME_PRETTY "BeagleBone"
#define BOARD_CPU_TYPE_OMAP 1
#define BOARD_CPU_OMAP3 1
#include <arch/arm/omap3.h>
// UART Settings
#define BOARD_UART_8250 1
#define BOARD_UART1_BASE OMAP_UART1_BASE
#define BOARD_UART2_BASE OMAP_UART2_BASE
#define BOARD_UART3_BASE OMAP_UART3_BASE
#define BOARD_UART_DEBUG BOARD_UART3_BASE
#define BOARD_UART_CLOCK 48000000
// 48MHz (APLL96/2)
#endif /* _BOARD_BEAGLE_BONE_CONFIG_H */