diff -Nurd linux-2.6.24.org/arch/arm/configs/hipox_810_eabi_dse_defconfig linux-2.6.24/arch/arm/configs/hipox_810_eabi_dse_defconfig --- linux-2.6.24.org/arch/arm/configs/hipox_810_eabi_dse_defconfig 2009-02-05 12:06:15.000000000 +0100 +++ linux-2.6.24/arch/arm/configs/hipox_810_eabi_dse_defconfig 2009-02-05 12:08:36.000000000 +0100 @@ -160,6 +160,8 @@ # CONFIG_HIPOX_VERSION_0X850 is not set # CONFIG_ARCH_HIPOX_UART1 is not set CONFIG_ARCH_HIPOX_UART2=y +CONFIG_ARCH_HIPOX_UART2_DEBUG=y +CONFIG_ARCH_HIPOX_UART2_BOOTPROGRESS=y # CONFIG_ARCH_HIPOX_UART2_MODEM is not set # CONFIG_ARCH_HIPOX_UART3 is not set # CONFIG_ARCH_HIPOX_PCI_REQGNT_0 is not set diff -Nurd linux-2.6.24.org/arch/arm/configs/hipox_810_eabi_upgrade_defconfig linux-2.6.24/arch/arm/configs/hipox_810_eabi_upgrade_defconfig --- linux-2.6.24.org/arch/arm/configs/hipox_810_eabi_upgrade_defconfig 2009-02-05 12:06:15.000000000 +0100 +++ linux-2.6.24/arch/arm/configs/hipox_810_eabi_upgrade_defconfig 2009-02-05 12:08:36.000000000 +0100 @@ -152,6 +152,8 @@ # CONFIG_HIPOX_VERSION_0X850 is not set # CONFIG_ARCH_HIPOX_UART1 is not set CONFIG_ARCH_HIPOX_UART2=y +CONFIG_ARCH_HIPOX_UART2_DEBUG=y +CONFIG_ARCH_HIPOX_UART2_BOOTPROGRESS=y # CONFIG_ARCH_HIPOX_UART2_MODEM is not set # CONFIG_ARCH_HIPOX_UART3 is not set # CONFIG_ARCH_HIPOX_PCI_REQGNT_0 is not set diff -Nurd linux-2.6.24.org/arch/arm/configs/hipox_810_eabi_wd_eval_defconfig linux-2.6.24/arch/arm/configs/hipox_810_eabi_wd_eval_defconfig --- linux-2.6.24.org/arch/arm/configs/hipox_810_eabi_wd_eval_defconfig 2009-02-05 12:06:15.000000000 +0100 +++ linux-2.6.24/arch/arm/configs/hipox_810_eabi_wd_eval_defconfig 2009-02-05 12:08:36.000000000 +0100 @@ -160,6 +160,8 @@ # CONFIG_HIPOX_VERSION_0X850 is not set # CONFIG_ARCH_HIPOX_UART1 is not set CONFIG_ARCH_HIPOX_UART2=y +CONFIG_ARCH_HIPOX_UART2_DEBUG=y +CONFIG_ARCH_HIPOX_UART2_BOOTPROGRESS=y # CONFIG_ARCH_HIPOX_UART2_MODEM is not set # CONFIG_ARCH_HIPOX_UART3 is not set # CONFIG_ARCH_HIPOX_UART4 is not set diff -Nurd linux-2.6.24.org/arch/arm/configs/hipox_810_eabi_wd_prod_defconfig linux-2.6.24/arch/arm/configs/hipox_810_eabi_wd_prod_defconfig --- linux-2.6.24.org/arch/arm/configs/hipox_810_eabi_wd_prod_defconfig 2009-02-05 12:06:15.000000000 +0100 +++ linux-2.6.24/arch/arm/configs/hipox_810_eabi_wd_prod_defconfig 2009-02-05 12:08:36.000000000 +0100 @@ -158,6 +158,8 @@ # CONFIG_HIPOX_VERSION_0X850 is not set # CONFIG_ARCH_HIPOX_UART1 is not set CONFIG_ARCH_HIPOX_UART2=y +CONFIG_ARCH_HIPOX_UART2_DEBUG=y +CONFIG_ARCH_HIPOX_UART2_BOOTPROGRESS=y # CONFIG_ARCH_HIPOX_UART2_MODEM is not set # CONFIG_ARCH_HIPOX_UART3 is not set # CONFIG_ARCH_HIPOX_UART4 is not set diff -Nurd linux-2.6.24.org/arch/arm/mach-hipox/Kconfig linux-2.6.24/arch/arm/mach-hipox/Kconfig --- linux-2.6.24.org/arch/arm/mach-hipox/Kconfig 2009-02-05 12:06:15.000000000 +0100 +++ linux-2.6.24/arch/arm/mach-hipox/Kconfig 2009-02-05 12:08:34.000000000 +0100 @@ -66,6 +66,20 @@ UARTs will be mapped to ttySn numbers from UART1 to UART4, only including those UARTs selected to be present +config ARCH_HIPOX_UART1_DEBUG + bool "Use UART1 as debug channel" + depends on ARCH_HIPOX_UART1 + default n + help + This enables UART1 to be usable as debug channel. + +config ARCH_HIPOX_UART1_BOOTPROGRESS + bool "Display boot progress over UART1" + depends on ARCH_HIPOX_UART1 + default n + help + This enables displaying boot progress over UART1. + config ARCH_HIPOX_UART1_MODEM bool "Support UART1 modem control lines" depends on ARCH_HIPOX_UART1 @@ -81,6 +95,20 @@ UARTs will be mapped to ttySn numbers from UART1 to UART4, only including those UARTs selected to be present +config ARCH_HIPOX_UART2_DEBUG + bool "Use UART2 as debug channel" + depends on ARCH_HIPOX_UART2 + default n + help + This enables UART2 to be usable as debug channel. + +config ARCH_HIPOX_UART2_BOOTPROGRESS + bool "Display boot progress over UART2" + depends on ARCH_HIPOX_UART2 + default n + help + This enables displaying boot progress over UART2. + config ARCH_HIPOX_UART2_MODEM bool "Support UART2 modem control lines" depends on ARCH_HIPOX_UART2 @@ -96,6 +124,20 @@ UARTs will be mapped to ttySn numbers from UART1 to UART4, only including those UARTs selected to be present +config ARCH_HIPOX_UART3_DEBUG + bool "Use UART3 as debug channel" + depends on ARCH_HIPOX_UART3 + default n + help + This enables UART3 to be usable as debug channel. + +config ARCH_HIPOX_UART3_BOOTPROGRESS + bool "Display boot progress over UART3" + depends on ARCH_HIPOX_UART3 + default n + help + This enables displaying boot progress over UART3. + config ARCH_HIPOX_UART3_MODEM bool "Support UART3 modem control lines" depends on ARCH_HIPOX_UART3 @@ -114,6 +156,20 @@ UART4 always has its modem control lines available on external pins when selected (overlaying PCI functions) +config ARCH_HIPOX_UART4_DEBUG + bool "Use UART4 as debug channel" + depends on ARCH_HIPOX_UART4 + default n + help + This enables UART4 to be usable as debug channel. + +config ARCH_HIPOX_UART4_BOOTPROGRESS + bool "Display boot progress over UART4" + depends on ARCH_HIPOX_UART4 + default n + help + This enables displaying boot progress over UART4. + config ARCH_HIPOX_PCI_REQGNT_0 bool "Enable req/gnt for PCI device 0" depends on PCI diff -Nurd linux-2.6.24.org/include/asm-arm/arch-hipox/debug-macro.S linux-2.6.24/include/asm-arm/arch-hipox/debug-macro.S --- linux-2.6.24.org/include/asm-arm/arch-hipox/debug-macro.S 2009-02-05 12:06:19.000000000 +0100 +++ linux-2.6.24/include/asm-arm/arch-hipox/debug-macro.S 2009-02-05 12:08:34.000000000 +0100 @@ -14,13 +14,13 @@ .macro addruart,rx mrc p15, 0, \rx, c1, c0 tst \rx, #1 @ MMU enabled? -#ifdef CONFIG_ARCH_HIPOX_UART1 +#ifdef CONFIG_ARCH_HIPOX_UART1_DEBUG ldreq \rx, =UART_1_BASE_PA @ physical base address ldrne \rx, =UART_1_BASE @ virtual address -#elif CONFIG_ARCH_HIPOX_UART2 +#elif CONFIG_ARCH_HIPOX_UART2_DEBUG ldreq \rx, =UART_2_BASE_PA @ physical base address ldrne \rx, =UART_2_BASE @ virtual address -#elif CONFIG_ARCH_HIPOX_UART3 +#elif CONFIG_ARCH_HIPOX_UART3_DEBUG ldreq \rx, =UART_3_BASE_PA @ physical base address ldrne \rx, =UART_3_BASE @ virtual address #else diff -Nurd linux-2.6.24.org/include/asm-arm/arch-hipox/uncompress.h linux-2.6.24/include/asm-arm/arch-hipox/uncompress.h --- linux-2.6.24.org/include/asm-arm/arch-hipox/uncompress.h 2009-02-05 12:06:19.000000000 +0100 +++ linux-2.6.24/include/asm-arm/arch-hipox/uncompress.h 2009-02-05 12:08:34.000000000 +0100 @@ -12,13 +12,13 @@ static inline void putc(int c) { -#ifdef CONFIG_ARCH_HIPOX_UART1 +#ifdef CONFIG_ARCH_HIPOX_UART1_BOOTPROGRESS static volatile unsigned char* uart = (volatile unsigned char*)UART_1_BASE_PA; -#elif defined(CONFIG_ARCH_HIPOX_UART2) +#elif defined(CONFIG_ARCH_HIPOX_UART2_BOOTPROGRESS) static volatile unsigned char* uart = (volatile unsigned char*)UART_2_BASE_PA; -#elif defined(CONFIG_ARCH_HIPOX_UART3) +#elif defined(CONFIG_ARCH_HIPOX_UART3_BOOTPROGRESS) static volatile unsigned char* uart = (volatile unsigned char*)UART_3_BASE_PA; -#elif defined(CONFIG_ARCH_HIPOX_UART4) +#elif defined(CONFIG_ARCH_HIPOX_UART4_BOOTPROGRESS) static volatile unsigned char* uart = (volatile unsigned char*)UART_4_BASE_PA; #else #define NO_UART