Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb96c56de33def1484614c6a3d0fbef76595ce2f
Commit:     fb96c56de33def1484614c6a3d0fbef76595ce2f
Parent:     d5c4b5e3b2682a9aac07a43a8a79d3b692b22567
Author:     Javier Herrero <[EMAIL PROTECTED]>
AuthorDate: Fri Dec 21 18:26:44 2007 +0800
Committer:  Bryan Wu <[EMAIL PROTECTED]>
CommitDate: Fri Dec 21 18:26:44 2007 +0800

    [Blackfin] arch: Added support for 8250-class UARTs in HV Sistemas H8606 
board, modification in 8250.c driver for correct compilation with Blackfin
    
    Signed-off-by: Javier Herrero <[EMAIL PROTECTED]>
    Signed-off-by: Bryan Wu <[EMAIL PROTECTED]>
---
 arch/blackfin/mach-bf533/boards/H8606.c |   51 +++++++++++++++++++++++++++++-
 1 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/arch/blackfin/mach-bf533/boards/H8606.c 
b/arch/blackfin/mach-bf533/boards/H8606.c
index 6bcf404..675fd1c 100644
--- a/arch/blackfin/mach-bf533/boards/H8606.c
+++ b/arch/blackfin/mach-bf533/boards/H8606.c
@@ -40,6 +40,7 @@
 #endif
 #include <linux/pata_platform.h>
 #include <linux/irq.h>
+
 #include <asm/dma.h>
 #include <asm/bfin5xx_spi.h>
 #include <asm/reboot.h>
@@ -303,7 +304,49 @@ static struct platform_device bfin_uart_device = {
 };
 #endif
 
-static struct platform_device *stamp_devices[] __initdata = {
+#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
+
+#include <linux/serial_8250.h>
+#include <linux/serial.h>
+
+/*
+ * Configuration for two 16550 UARTS in FPGA at addresses 0x20200000 and 
0x202000010.
+ * running at half system clock, both with interrupt output or-ed to PF8. 
Change to
+ * suit different FPGA configuration, or to suit real 16550 UARTS connected to 
the bus
+ */
+
+static struct plat_serial8250_port serial8250_platform_data [] = {
+       {
+               .membase = 0x20200000,
+               .mapbase = 0x20200000,
+               .irq = IRQ_PF8,
+               .flags = UPF_BOOT_AUTOCONF | UART_CONFIG_TYPE,
+               .iotype = UPIO_MEM,
+               .regshift = 1,
+               .uartclk = 66666667,
+       }, {
+               .membase = 0x20200010,
+               .mapbase = 0x20200010,
+               .irq = IRQ_PF8,
+               .flags = UPF_BOOT_AUTOCONF | UART_CONFIG_TYPE,
+               .iotype = UPIO_MEM,
+               .regshift = 1,
+               .uartclk = 66666667,
+       }, {
+       }
+};
+
+static struct platform_device serial8250_device = {
+       .id             = PLAT8250_DEV_PLATFORM,
+       .name           = "serial8250",
+       .dev            = {
+               .platform_data = serial8250_platform_data,
+       },
+};
+
+#endif
+
+static struct platform_device *h8606_devices[] __initdata = {
 #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
        &rtc_device,
 #endif
@@ -327,13 +370,17 @@ static struct platform_device *stamp_devices[] __initdata 
= {
 #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
        &bfin_uart_device,
 #endif
+
+#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
+       &serial8250_device,
+#endif
 };
 
 static int __init H8606_init(void)
 {
        printk(KERN_INFO "HV Sistemas H8606 board support by 
http://www.hvsistemas.com\n";);
        printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
-       platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices));
+       platform_add_devices(h8606_devices, ARRAY_SIZE(h8606_devices));
 #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
        spi_register_board_info(bfin_spi_board_info, 
ARRAY_SIZE(bfin_spi_board_info));
 #endif
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to