2 * Copyright (C) 2009 Lemote Inc.
3 * Author: Wu Zhangjin, wuzhangjin@gmail.com
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version.
11 #include <linux/module.h>
12 #include <asm/bootinfo.h>
17 unsigned long loongson_uart_base
[MAX_UARTS
] = {};
19 unsigned long _loongson_uart_base
[MAX_UARTS
] = {};
21 EXPORT_SYMBOL(loongson_uart_base
);
22 EXPORT_SYMBOL(_loongson_uart_base
);
24 void prom_init_loongson_uart_base(void)
26 switch (mips_machtype
) {
27 case MACH_LOONGSON_GENERIC
:
28 /* The CPU provided serial port (CPU) */
29 loongson_uart_base
[0] = LOONGSON_REG_BASE
+ 0x1e0;
31 case MACH_LEMOTE_FL2E
:
32 loongson_uart_base
[0] = LOONGSON_PCIIO_BASE
+ 0x3f8;
34 case MACH_LEMOTE_FL2F
:
35 case MACH_LEMOTE_LL2F
:
36 loongson_uart_base
[0] = LOONGSON_PCIIO_BASE
+ 0x2f8;
38 case MACH_LEMOTE_ML2F7
:
39 case MACH_LEMOTE_YL2F89
:
40 case MACH_DEXXON_GDIUM2F10
:
43 /* The CPU provided serial port (LPC) */
44 loongson_uart_base
[0] = LOONGSON_LIO1_BASE
+ 0x3f8;
48 _loongson_uart_base
[0] =
49 (unsigned long)ioremap_nocache(loongson_uart_base
[0], 8);