arm: Rename BCM2708 to BCM2805

* To while there was some compatibility between
  BCM2708 and BCM2805, it makes the BCM2806 changes
  more confusing. We don't have any valueable BCM2708
  targets.
This commit is contained in:
Alexander von Gluck IV
2015-03-07 11:03:01 -06:00
parent ac6b4d6f37
commit f8e19d47fb
11 changed files with 56 additions and 56 deletions
+5 -5
View File
@@ -7,10 +7,10 @@ HAIKU_BOOT_PLATFORM = u-boot ;
# Various hardcoded addresses # Various hardcoded addresses
# #
HAIKU_BOARD_LOADER_BASE = 0x0 ; HAIKU_BOARD_LOADER_BASE = 0x0c180000 ;
HAIKU_BOARD_LOADER_ENTRY_RAW = 0x01000000 ; HAIKU_BOARD_LOADER_ENTRY_RAW = $(HAIKU_BOARD_LOADER_BASE) ;
HAIKU_BOARD_LOADER_ENTRY_LINUX = 0x01000000 ; HAIKU_BOARD_LOADER_ENTRY_LINUX = `printf \"obase=16;ibase=16;8 + %x\\n\" $(HAIKU_BOARD_LOADER_BASE)|bc` ;
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x01000000 ; 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_BASE = 0x04000000 ;
HAIKU_BOARD_BOOT_ARCHIVE_SIZE = 0x00400000 ; HAIKU_BOARD_BOOT_ARCHIVE_SIZE = 0x00400000 ;
@@ -49,7 +49,7 @@ HAIKU_BOARD_SDIMAGE_SIZE = 256 ;
# gcc flags for the specific cpu # gcc flags for the specific cpu
# #
local flags = -mtune=arm1176jzf-s -march=armv6 ; local flags = -mtune=arm1176jzf-s -march=armv6 -mfloat-abi=softfp ;
HAIKU_ASFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ; HAIKU_ASFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ; HAIKU_CCFLAGS_$(HAIKU_PACKAGING_ARCH) += $(flags) ;
@@ -23,8 +23,8 @@
* Authors: * Authors:
* Alexander von Gluck, kallisti5@unixzen.com * Alexander von Gluck, kallisti5@unixzen.com
*/ */
#ifndef __PLATFORM_BCM2708_H #ifndef __PLATFORM_BCM2835_H
#define __PLATFORM_BCM2708_H #define __PLATFORM_BCM2835_H
#define SIZE_4K 0x00001000 #define SIZE_4K 0x00001000
@@ -37,19 +37,19 @@
*/ */
// Section 1.2.2 // Section 1.2.2
#define BCM2708_SDRAM_BASE 0x00000000 #define BCM2835_SDRAM_BASE 0x00000000
#define BCM2708_PERIPHERAL_BASE 0x20000000 #define BCM2835_PERIPHERAL_BASE 0x20000000
// Added to physical addresses to select the different cache behaviours // Added to physical addresses to select the different cache behaviours
#define BCM2708_VIDEO_CORE_L1_L2_CACHED (0 << 30) #define BCM2835_VIDEO_CORE_L1_L2_CACHED (0 << 30)
#define BCM2708_VIDEO_CORE_L2_COHERENT (1 << 30) #define BCM2835_VIDEO_CORE_L2_COHERENT (1 << 30)
#define BCM2708_VIDEO_CORE_L2_CACHED (2 << 30) #define BCM2835_VIDEO_CORE_L2_CACHED (2 << 30)
#define BCM2708_VIDEO_CORE_UNCACHED (3 << 30) #define BCM2835_VIDEO_CORE_UNCACHED (3 << 30)
// The highest two bits are used to select aliases to the physical memory // The highest two bits are used to select aliases to the physical memory
// with different cache semantic. Clearing them converts the address to // with different cache semantic. Clearing them converts the address to
// physical memory as seen by ARM. // physical memory as seen by ARM.
#define BCM2708_BUS_TO_PHYSICAL(x) (x & ~BCM2708_VIDEO_CORE_UNCACHED) #define BCM2835_BUS_TO_PHYSICAL(x) (x & ~BCM2835_VIDEO_CORE_UNCACHED)
#define ST_BASE 0x3000 #define ST_BASE 0x3000
@@ -57,7 +57,7 @@
#define DMA_BASE 0x7000 #define DMA_BASE 0x7000
// DMA Controller, sec 4.2, page 39 // DMA Controller, sec 4.2, page 39
#define ARM_BASE 0xB000 #define ARM_BASE 0xB000
// BCM2708 ARM Control Block, sec 7.5, page 112 // BCM2835 ARM Control Block, sec 7.5, page 112
#define PM_BASE 0x100000 #define PM_BASE 0x100000
// Power Management, Reset controller and Watchdog registers // Power Management, Reset controller and Watchdog registers
#define GPIO_BASE 0x200000 #define GPIO_BASE 0x200000
@@ -89,10 +89,10 @@
#define VECT_BASE 0xFFFF0000 #define VECT_BASE 0xFFFF0000
#define VECT_SIZE SIZE_4K #define VECT_SIZE SIZE_4K
#define DEVICE_BASE BCM2708_PERIPHERAL_BASE #define DEVICE_BASE BCM2835_PERIPHERAL_BASE
#define DEVICE_SIZE 0xFFFFFF #define DEVICE_SIZE 0xFFFFFF
#define SDRAM_BASE BCM2708_SDRAM_BASE #define SDRAM_BASE BCM2835_SDRAM_BASE
#define SDRAM_SIZE 0x4000000 #define SDRAM_SIZE 0x4000000
// 64Mb // 64Mb
@@ -149,4 +149,4 @@
#define ARM_MAILBOX_CHANNEL_FRAMEBUFFER 1 #define ARM_MAILBOX_CHANNEL_FRAMEBUFFER 1
#endif /* __PLATFORM_BCM2708_H */ #endif /* __PLATFORM_BCM2835_H */
@@ -12,9 +12,9 @@
#define BOARD_NAME_PRETTY "Raspberry Pi" #define BOARD_NAME_PRETTY "Raspberry Pi"
#define BOARD_CPU_TYPE_ARM6 1 #define BOARD_CPU_TYPE_ARM6 1
#define BOARD_CPU_BCM2708 1 #define BOARD_CPU_BCM2835 1
#include <arch/arm/bcm2708.h> #include <arch/arm/bcm2825.h>
// UART Settings // UART Settings
#define BOARD_UART_AMBA_PL011 1 #define BOARD_UART_AMBA_PL011 1
+2 -2
View File
@@ -34,10 +34,10 @@ BootMergeObject boot_arch_$(TARGET_KERNEL_ARCH).o :
arch_uart_pl011.cpp arch_uart_pl011.cpp
arch_elf.cpp arch_elf.cpp
arch_framebuffer_920.cpp arch_framebuffer_920.cpp
arch_framebuffer_bcm2708.cpp arch_framebuffer_bcm2835.cpp
arch_framebuffer_pxa.cpp arch_framebuffer_pxa.cpp
arch_framebuffer_omap3.cpp arch_framebuffer_omap3.cpp
arch_mailbox_bcm2708.cpp arch_mailbox_bcm2835.cpp
arch_cpu.cpp arch_cpu.cpp
arch_mmu.cpp arch_mmu.cpp
arch_start_kernel.S arch_start_kernel.S
@@ -11,7 +11,7 @@
#include "arch_framebuffer.h" #include "arch_framebuffer.h"
#include <arch/arm/bcm2708.h> #include <arch/arm/bcm2835.h>
#include <arch/cpu.h> #include <arch/cpu.h>
#include <boot/stage2.h> #include <boot/stage2.h>
#include <boot/platform.h> #include <boot/platform.h>
@@ -53,11 +53,11 @@ struct framebuffer_config {
static framebuffer_config sFramebufferConfig __attribute__((aligned(16))); static framebuffer_config sFramebufferConfig __attribute__((aligned(16)));
class ArchFBArmBCM2708 : public ArchFramebuffer { class ArchFBArmBCM2835 : public ArchFramebuffer {
public: public:
ArchFBArmBCM2708(addr_t base) ArchFBArmBCM2835(addr_t base)
: ArchFramebuffer(base) {} : ArchFramebuffer(base) {}
~ArchFBArmBCM2708() {} ~ArchFBArmBCM2835() {}
virtual status_t Init(); virtual status_t Init();
virtual status_t Probe(); virtual status_t Probe();
@@ -67,28 +67,28 @@ virtual status_t SetVideoMode(int width, int height, int depth);
extern "C" ArchFramebuffer* extern "C" ArchFramebuffer*
arch_get_fb_arm_bcm2708(addr_t base) arch_get_fb_arm_bcm2835(addr_t base)
{ {
return new ArchFBArmBCM2708(base); return new ArchFBArmBCM2835(base);
} }
status_t status_t
ArchFBArmBCM2708::Init() ArchFBArmBCM2835::Init()
{ {
return B_OK; return B_OK;
} }
status_t status_t
ArchFBArmBCM2708::Probe() ArchFBArmBCM2835::Probe()
{ {
return B_OK; return B_OK;
} }
status_t status_t
ArchFBArmBCM2708::SetDefaultMode() ArchFBArmBCM2835::SetDefaultMode()
{ {
status_t result; status_t result;
do { do {
@@ -100,7 +100,7 @@ ArchFBArmBCM2708::SetDefaultMode()
status_t status_t
ArchFBArmBCM2708::SetVideoMode(int width, int height, int depth) ArchFBArmBCM2835::SetVideoMode(int width, int height, int depth)
{ {
//debug_assert(((uint32)&sFramebufferConfig & 0x0f) == 0); //debug_assert(((uint32)&sFramebufferConfig & 0x0f) == 0);
@@ -124,7 +124,7 @@ ArchFBArmBCM2708::SetVideoMode(int width, int height, int depth)
// TODO: arch_mailbox calls! // TODO: arch_mailbox calls!
// status_t result = write_mailbox(ARM_MAILBOX_CHANNEL_FRAMEBUFFER, // status_t result = write_mailbox(ARM_MAILBOX_CHANNEL_FRAMEBUFFER,
// (uint32)&sFramebufferConfig | BCM2708_VIDEO_CORE_L2_COHERENT); // (uint32)&sFramebufferConfig | BCM2835_VIDEO_CORE_L2_COHERENT);
// if (result != B_OK) // if (result != B_OK)
// return result; // return result;
@@ -159,7 +159,7 @@ ArchFBArmBCM2708::SetVideoMode(int width, int height, int depth)
// * sFramebufferConfig.height); // * sFramebufferConfig.height);
fPhysicalBase fPhysicalBase
= BCM2708_BUS_TO_PHYSICAL(sFramebufferConfig.frame_buffer_address); = BCM2835_BUS_TO_PHYSICAL(sFramebufferConfig.frame_buffer_address);
fSize = sFramebufferConfig.screen_size; fSize = sFramebufferConfig.screen_size;
// TODO: kDefaultPageFlags // TODO: kDefaultPageFlags
@@ -13,15 +13,15 @@
#include "arch_mailbox.h" #include "arch_mailbox.h"
#include "arch_cpu.h" #include "arch_cpu.h"
#include "bcm2708.h" #include "bcm2835.h"
class ArchMailboxArmBCM2708 final : public ArchMailbox { class ArchMailboxArmBCM2835 final : public ArchMailbox {
public: public:
ArchMailboxArmBCM2708(addr_t base) ArchMailboxArmBCM2835(addr_t base)
: :
ArchMailbox(base) {} ArchMailbox(base) {}
~ArchMailboxArmBCM2708() {} ~ArchMailboxArmBCM2835() {}
virtual status_t Write(uint8 channel, uint32 value) override; virtual status_t Write(uint8 channel, uint32 value) override;
virtual status_t Read(uint8 channel, uint32& value) override; virtual status_t Read(uint8 channel, uint32& value) override;
@@ -34,14 +34,14 @@ private:
extern "C" ArchMailbox* extern "C" ArchMailbox*
arch_get_mailbox_arm_bcm2708(addr_t base) arch_get_mailbox_arm_bcm2835(addr_t base)
{ {
return new ArchMailboxArmBCM2708(base); return new ArchMailboxArmBCM2835(base);
} }
status_t status_t
ArchMailboxArmBCM2708::Write(uint8 channel, uint32 value) ArchMailboxArmBCM2835::Write(uint8 channel, uint32 value)
{ {
// We have to wait for the mailbox to drain if it is marked full. // We have to wait for the mailbox to drain if it is marked full.
while ((RegisterRead(ARM_MAILBOX_STATUS) & ARM_MAILBOX_FULL) != 0) while ((RegisterRead(ARM_MAILBOX_STATUS) & ARM_MAILBOX_FULL) != 0)
@@ -54,7 +54,7 @@ ArchMailboxArmBCM2708::Write(uint8 channel, uint32 value)
status_t status_t
ArchMailboxArmBCM2708::Read(uint8 channel, uint32& value) ArchMailboxArmBCM2835::Read(uint8 channel, uint32& value)
{ {
while (true) { while (true) {
// Wait for something to arrive in the mailbox. // Wait for something to arrive in the mailbox.
@@ -76,21 +76,21 @@ ArchMailboxArmBCM2708::Read(uint8 channel, uint32& value)
inline auto& inline auto&
ArchMailboxArmBCM2708::GetRegister(unsigned reg) ArchMailboxArmBCM2835::GetRegister(unsigned reg)
{ {
auto addr = fBase + ARM_CTRL_0_MAILBOX_BASE + reg; auto addr = fBase + ARM_CTRL_0_MAILBOX_BASE + reg;
return *reinterpret_cast<std::atomic<uint32_t>*>(addr); return *reinterpret_cast<std::atomic<uint32_t>*>(addr);
} }
inline uint32 inline uint32
ArchMailboxArmBCM2708::RegisterRead(addr_t reg) ArchMailboxArmBCM2835::RegisterRead(addr_t reg)
{ {
return GetRegister(reg).load(std::memory_order_acquire); return GetRegister(reg).load(std::memory_order_acquire);
} }
inline void inline void
ArchMailboxArmBCM2708::RegisterWrite(addr_t reg, uint32 value) ArchMailboxArmBCM2835::RegisterWrite(addr_t reg, uint32 value)
{ {
GetRegister(reg).store(value, std::memory_order_release); GetRegister(reg).store(value, std::memory_order_release);
} }
@@ -37,7 +37,7 @@ BootMergeObject boot_platform_raspberrypi_arm.o :
serial.cpp serial.cpp
video.cpp video.cpp
arch_framebuffer_bcm2708.cpp arch_framebuffer_bcm2835.cpp
$(genericPlatformSources) $(genericPlatformSources)
: -fno-pic : -fno-pic
@@ -11,7 +11,7 @@
#include <SupportDefs.h> #include <SupportDefs.h>
#include <arch/arm/bcm2708.h> #include <arch/arm/bcm2835.h>
#define GPIO_IN 0 #define GPIO_IN 0
@@ -50,8 +50,8 @@ platform_switch_to_text_mode(void)
extern "C" status_t extern "C" status_t
platform_init_video(void) platform_init_video(void)
{ {
extern ArchFramebuffer* arch_get_framebuffer_arm_bcm2708(); extern ArchFramebuffer* arch_get_framebuffer_arm_bcm2835();
gFramebuffer = arch_get_framebuffer_arm_bcm2708(); gFramebuffer = arch_get_framebuffer_arm_bcm2825();
if (gFramebuffer == NULL) if (gFramebuffer == NULL)
return B_ERROR; return B_ERROR;
@@ -18,9 +18,9 @@ ArchMailbox *gMailbox = NULL;
extern "C" status_t extern "C" status_t
arch_mailbox_init() arch_mailbox_init()
{ {
#if defined(BOARD_CPU_BCM2708) #if defined(BOARD_CPU_BCM2835) || defined(BOARD_CPU_BCM2836)
extern ArchMailbox *arch_get_mailbox_arm_bcm2708(addr_t base); extern ArchMailbox *arch_get_mailbox_arm_bcm2835(addr_t base);
gMailbox = arch_get_mailbox_arm_bcm2708(DEVICE_BASE); gMailbox = arch_get_mailbox_arm_bcm2835(DEVICE_BASE);
#endif #endif
return B_OK; return B_OK;
} }
+4 -4
View File
@@ -108,10 +108,10 @@ platform_init_video(void)
#if defined(BOARD_CPU_ARM920T) #if defined(BOARD_CPU_ARM920T)
extern ArchFramebuffer *arch_get_fb_arm_920(addr_t base); extern ArchFramebuffer *arch_get_fb_arm_920(addr_t base);
gFramebuffer = arch_get_fb_arm_920(0x88000000); gFramebuffer = arch_get_fb_arm_920(0x88000000);
#elif defined(BOARD_CPU_BCM2708) #elif defined(BOARD_CPU_BCM2835) || defined(BOARD_CPU_BCM2836)
extern ArchFramebuffer *arch_get_fb_arm_bcm2708(addr_t base); extern ArchFramebuffer *arch_get_fb_arm_bcm2835(addr_t base);
// BCM2708 gets its framebuffer base from a Mailbox // BCM2835/BCM2836 gets their framebuffer base from a Mailbox
gFramebuffer = arch_get_fb_arm_bcm2708(0x0); gFramebuffer = arch_get_fb_arm_bcm2825(0x0);
#elif defined(BOARD_CPU_OMAP3) #elif defined(BOARD_CPU_OMAP3)
extern ArchFramebuffer *arch_get_fb_arm_omap3(addr_t base); extern ArchFramebuffer *arch_get_fb_arm_omap3(addr_t base);
gFramebuffer = arch_get_fb_arm_omap3(FB_BASE); gFramebuffer = arch_get_fb_arm_omap3(FB_BASE);