[haiku-commits] haiku: hrev48876 - src/system/boot/platform/u-boot build/jam/board/rpi2 build/jam/board/rpi1 headers/private/kernel/arch/arm/board/rpi2 headers/private/kernel/arch/arm/board/rpi1

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 7 Mar 2015 20:42:34 +0100 (CET)

hrev48876 adds 2 changesets to branch 'master'
old head: 196479ae961cfec984ec91d38498940970a2fdd5
new head: deb4929b9aa59c3d3af2e920097895eb39e312b9
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=deb4929b9aa5+%5E196479ae961c

----------------------------------------------------------------------------

db24244df1a1: rpi1/rpi2: More sane board loader bases

deb4929b9aa5: rpi1/rpi2: Use PL011 UART fallback in loader.
  
  * Adjust UART base locations to reflect ARM pref base.
  * We have a working haiku_loader_u-boot on Raspberry Pi 2!:q

                          [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

7 files changed, 18 insertions(+), 15 deletions(-)
build/jam/board/rpi1/BoardSetup                          |  4 ++--
build/jam/board/rpi2/BoardSetup                          |  4 ++--
.../private/kernel/arch/arm/board/rpi1/board_config.h    |  4 ++--
.../private/kernel/arch/arm/board/rpi2/board_config.h    |  4 ++--
src/system/boot/platform/raspberrypi_arm/serial.cpp      |  3 +--
src/system/boot/platform/u-boot/serial.cpp               | 12 ++++++++----
src/system/kernel/arch/arm/arch_debug_console.cpp        |  2 +-

############################################################################

Commit:      db24244df1a159f149f49dc6cb68c4d926413245
URL:         http://cgit.haiku-os.org/haiku/commit/?id=db24244df1a1
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Mar  7 19:00:56 2015 UTC

rpi1/rpi2: More sane board loader bases

----------------------------------------------------------------------------

diff --git a/build/jam/board/rpi1/BoardSetup b/build/jam/board/rpi1/BoardSetup
index d553063..05e1b69 100644
--- a/build/jam/board/rpi1/BoardSetup
+++ b/build/jam/board/rpi1/BoardSetup
@@ -7,12 +7,12 @@ HAIKU_BOOT_PLATFORM = u-boot ;
 # Various hardcoded addresses
 #
 
-HAIKU_BOARD_LOADER_BASE = 0x0c180000 ;
+HAIKU_BOARD_LOADER_BASE = 0x00080000 ;
 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_BASE = 0x02100000 ;
 HAIKU_BOARD_BOOT_ARCHIVE_SIZE = 0x00400000 ;
        # TODO: needs to be configured in the config.txt
        #       ramfsfile=haiku-floppyboot.tgz and ramfsaddr=x
diff --git a/build/jam/board/rpi2/BoardSetup b/build/jam/board/rpi2/BoardSetup
index 0b58226..da89657 100644
--- a/build/jam/board/rpi2/BoardSetup
+++ b/build/jam/board/rpi2/BoardSetup
@@ -7,12 +7,12 @@ HAIKU_BOOT_PLATFORM = u-boot ;
 # Various hardcoded addresses
 #
 
-HAIKU_BOARD_LOADER_BASE = 0x0c180000 ;
+HAIKU_BOARD_LOADER_BASE = 0x00080000 ;
 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_BASE = 0x02100000 ;
 HAIKU_BOARD_BOOT_ARCHIVE_SIZE = 0x00400000 ;
        # TODO: needs to be configured in the config.txt
        #       ramfsfile=haiku-floppyboot.tgz and ramfsaddr=x

############################################################################

Revision:    hrev48876
Commit:      deb4929b9aa59c3d3af2e920097895eb39e312b9
URL:         http://cgit.haiku-os.org/haiku/commit/?id=deb4929b9aa5
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Mar  7 19:42:18 2015 UTC

rpi1/rpi2: Use PL011 UART fallback in loader.

* Adjust UART base locations to reflect ARM pref base.
* We have a working haiku_loader_u-boot on Raspberry Pi 2!:q

----------------------------------------------------------------------------

diff --git a/headers/private/kernel/arch/arm/board/rpi1/board_config.h 
b/headers/private/kernel/arch/arm/board/rpi1/board_config.h
index 21a96bb..607c71c 100644
--- a/headers/private/kernel/arch/arm/board/rpi1/board_config.h
+++ b/headers/private/kernel/arch/arm/board/rpi1/board_config.h
@@ -17,7 +17,7 @@
 #include <arch/arm/bcm283X.h>
 
 // UART Settings
-#define BOARD_UART_AMBA_PL011 1
+#define BOARD_UART_PL011 1
 
 #define BOARD_UART1_BASE UART0_BASE
        // PL011 UART
@@ -26,7 +26,7 @@
 #define BOARD_UART3_BASE 0
        // N/A
 
-#define BOARD_UART_DEBUG BOARD_UART1_BASE
+#define BOARD_UART_DEBUG DEVICE_BASE + BOARD_UART1_BASE
 
 #define BOARD_UART_CLOCK 3000000
        /* 3Mhz */
diff --git a/headers/private/kernel/arch/arm/board/rpi2/board_config.h 
b/headers/private/kernel/arch/arm/board/rpi2/board_config.h
index a0f79e1..31f8301 100644
--- a/headers/private/kernel/arch/arm/board/rpi2/board_config.h
+++ b/headers/private/kernel/arch/arm/board/rpi2/board_config.h
@@ -17,7 +17,7 @@
 #include <arch/arm/bcm283X.h>
 
 // UART Settings
-#define BOARD_UART_AMBA_PL011 1
+#define BOARD_UART_PL011 1
 
 #define BOARD_UART1_BASE UART0_BASE
        // PL011 UART
@@ -26,7 +26,7 @@
 #define BOARD_UART3_BASE 0
        // N/A
 
-#define BOARD_UART_DEBUG BOARD_UART1_BASE
+#define BOARD_UART_DEBUG DEVICE_BASE + BOARD_UART1_BASE
 
 #define BOARD_UART_CLOCK 3000000
        /* 3Mhz */
diff --git a/src/system/boot/platform/raspberrypi_arm/serial.cpp 
b/src/system/boot/platform/raspberrypi_arm/serial.cpp
index 24fdc63..bfe35b1 100644
--- a/src/system/boot/platform/raspberrypi_arm/serial.cpp
+++ b/src/system/boot/platform/raspberrypi_arm/serial.cpp
@@ -88,8 +88,7 @@ serial_cleanup(void)
 extern "C" void
 serial_init(void)
 {
-       gUART = arch_get_uart_pl011(gPeripheralBase + BOARD_UART_DEBUG,
-               BOARD_UART_CLOCK);
+       gUART = arch_get_uart_pl011(BOARD_UART_DEBUG, BOARD_UART_CLOCK);
        gUART->InitEarly();
        gUART->InitPort(9600);
 
diff --git a/src/system/boot/platform/u-boot/serial.cpp 
b/src/system/boot/platform/u-boot/serial.cpp
index d0a1592..7fcee37 100644
--- a/src/system/boot/platform/u-boot/serial.cpp
+++ b/src/system/boot/platform/u-boot/serial.cpp
@@ -10,6 +10,7 @@
 #include "serial.h"
 
 #include <debug_uart_8250.h>
+#include <arch_uart_pl011.h>
 #include <board_config.h>
 #include <boot/platform.h>
 #include <arch/cpu.h>
@@ -83,10 +84,8 @@ extern "C" void
 serial_enable(void)
 {
        /* should already be initialized by U-Boot */
-       /*
        gUART->InitEarly();
-       gUART->InitPort(9600);
-       */
+       gUART->InitPort(115200);
        sSerialEnabled++;
 }
 
@@ -113,8 +112,13 @@ serial_init(const void *fdt)
 
 #ifdef BOARD_UART_DEBUG
        // fallback to hardcoded board UART
-       if (gUART == NULL)
+       if (gUART == NULL) {
+               #if defined(BOARD_UART_PL011)
+               gUART = arch_get_uart_pl011(BOARD_UART_DEBUG, BOARD_UART_CLOCK);
+               #else
                gUART = arch_get_uart_8250(BOARD_UART_DEBUG, BOARD_UART_CLOCK);
+               #endif
+       }
 #endif
 
        if (gUART == NULL)
diff --git a/src/system/kernel/arch/arm/arch_debug_console.cpp 
b/src/system/kernel/arch/arm/arch_debug_console.cpp
index bce88e1..195b68b 100644
--- a/src/system/kernel/arch/arm/arch_debug_console.cpp
+++ b/src/system/kernel/arch/arm/arch_debug_console.cpp
@@ -95,7 +95,7 @@ arch_debug_serial_early_boot_message(const char *string)
 status_t
 arch_debug_console_init(kernel_args *args)
 {
-       #if defined(BOARD_UART_AMBA_PL011)
+       #if defined(BOARD_UART_PL011)
        gArchDebugUART = arch_get_uart_pl011(BOARD_UART_DEBUG, 
BOARD_UART_CLOCK);
        #else
        // More Generic 8250


Other related posts: