arm/targets: Add rpi2, rename raspberry_pi to rpi1

* The Raspberry pi 2 uses a new SoC which differs slightly
  from the Raspberry Pi 1.
* Someday these two board targets could go away when we get
  FDT support.
This commit is contained in:
Alexander von Gluck IV
2015-03-07 12:31:12 -06:00
parent d05e5f1db6
commit 427d40adb5
10 changed files with 143 additions and 9 deletions
+7 -3
View File
@@ -244,10 +244,14 @@ rule KernelArchitectureSetup architecture
HAIKU_BOOT_PLATFORM ?= u-boot ;
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
}
case raspberry_pi :
case rpi1 :
{
# For now rpi has a custom non u-boot loader
HAIKU_BOOT_PLATFORM ?= raspberrypi_arm ;
HAIKU_BOOT_PLATFORM ?= u-boot ;
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
}
case rpi2 :
{
HAIKU_BOOT_PLATFORM ?= u-boot ;
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
}
case verdex :
+66
View File
@@ -0,0 +1,66 @@
# Raspberry Pi 2 board-specific definitions
HAIKU_BOARD_DESCRIPTION = "Raspberry Pi 2" ;
HAIKU_BOOT_PLATFORM = u-boot ;
#
# Various hardcoded addresses
#
HAIKU_BOARD_LOADER_BASE = 0x0c180000 ;
HAIKU_BOARD_LOADER_ENTRY_RAW = $(HAIKU_BOARD_LOADER_BASE) ;
HAIKU_BOARD_LOADER_ENTRY_LINUX = `printf \"obase=16;ibase=16;8 + %x\\n\" $(HAIKU_BOARD_LOADER_BASE)|bc` ;
HAIKU_BOARD_LOADER_ENTRY_NBSD = `printf \"obase=16;ibase=16;8 + %x\\n\" $(HAIKU_BOARD_LOADER_BASE)|bc` ;
HAIKU_BOARD_BOOT_ARCHIVE_BASE = 0x04000000 ;
HAIKU_BOARD_BOOT_ARCHIVE_SIZE = 0x00400000 ;
# TODO: needs to be configured in the config.txt
# ramfsfile=haiku-floppyboot.tgz and ramfsaddr=x
#
# Flash image
#
# N/A for Raspberry Pi
#
# mmc/SD image
#
HAIKU_BOARD_FIRMWARE_URL = http://github.com/raspberrypi/firmware/raw/master/boot/ ;
HAIKU_BOARD_FIRMWARE_FILES =
bootcode.bin
loader.bin
arm224_start.elf # start.elf
LICENSE.broadcom
;
# in MB
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
HAIKU_BOARD_SDIMAGE_FAT_FILES =
$(HAIKU_BOARD_FIRMWARE_FILES)
haiku_loader
;
# in MB
HAIKU_BOARD_SDIMAGE_SIZE = 256 ;
#
# gcc flags for the specific cpu
#
local flags = -mtune=arm1176jzf-s -march=armv6 ;
HAIKU_ASFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
HAIKU_C++FLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
# 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 ;
+25
View File
@@ -0,0 +1,25 @@
##### CPU Speed
#arm_freq 700
##### Memory layout
#gpu_mem 64
# Memory based on model.. overrides gpu_mem
#gpu_mem_256 64
#gpu_mem_512 64
##### Low level
kernel=haiku_loader
kernel_address=0x0
ramfsfile=haiku-floppyboot.tgz
ramfsaddr=0x04000000
# Skip boot tags for non-linux platforms
disable_commandline_tags=1
#device_tree=bcm2835.dtb
#device_tree_address=0x100
##### UART Settings
# Default is 115200
#init_uart_baud=9600
#init_uart_clock=