OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [arch/] [mips/] [bcm47xx/] [serial.c] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
/*
2
 * This file is subject to the terms and conditions of the GNU General Public
3
 * License.  See the file "COPYING" in the main directory of this archive
4
 * for more details.
5
 *
6
 * Copyright (C) 2007 Aurelien Jarno <aurelien@aurel32.net>
7
 */
8
 
9
#include <linux/module.h>
10
#include <linux/init.h>
11
#include <linux/serial.h>
12
#include <linux/serial_8250.h>
13
#include <linux/ssb/ssb.h>
14
#include <bcm47xx.h>
15
 
16
static struct plat_serial8250_port uart8250_data[5];
17
 
18
static struct platform_device uart8250_device = {
19
        .name                   = "serial8250",
20
        .id                     = PLAT8250_DEV_PLATFORM,
21
        .dev                    = {
22
                .platform_data  = uart8250_data,
23
        },
24
};
25
 
26
static int __init uart8250_init(void)
27
{
28
        int i;
29
        struct ssb_mipscore *mcore = &(ssb_bcm47xx.mipscore);
30
 
31
        memset(&uart8250_data, 0,  sizeof(uart8250_data));
32
 
33
        for (i = 0; i < mcore->nr_serial_ports; i++) {
34
                struct plat_serial8250_port *p = &(uart8250_data[i]);
35
                struct ssb_serial_port *ssb_port = &(mcore->serial_ports[i]);
36
 
37
                p->mapbase = (unsigned int) ssb_port->regs;
38
                p->membase = (void *) ssb_port->regs;
39
                p->irq = ssb_port->irq + 2;
40
                p->uartclk = ssb_port->baud_base;
41
                p->regshift = ssb_port->reg_shift;
42
                p->iotype = UPIO_MEM;
43
                p->flags = UPF_BOOT_AUTOCONF | UPF_SHARE_IRQ;
44
        }
45
        return platform_device_register(&uart8250_device);
46
}
47
 
48
module_init(uart8250_init);
49
 
50
MODULE_AUTHOR("Aurelien Jarno <aurelien@aurel32.net>");
51
MODULE_LICENSE("GPL");
52
MODULE_DESCRIPTION("8250 UART probe driver for the BCM47XX platforms");

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.