1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (C) 2009 Lemote Inc.
4 * Author: Wu Zhangjin, wuzhangjin@gmail.com
7 #include <linux/export.h>
8 #include <asm/bootinfo.h>
13 unsigned long loongson_uart_base[MAX_UARTS] = {};
15 unsigned long _loongson_uart_base[MAX_UARTS] = {};
17 EXPORT_SYMBOL(loongson_uart_base);
18 EXPORT_SYMBOL(_loongson_uart_base);
20 void prom_init_loongson_uart_base(void)
22 switch (mips_machtype) {
23 case MACH_LOONGSON_GENERIC:
24 /* The CPU provided serial port (CPU) */
25 loongson_uart_base[0] = LOONGSON_REG_BASE + 0x1e0;
27 case MACH_LEMOTE_FL2E:
28 loongson_uart_base[0] = LOONGSON_PCIIO_BASE + 0x3f8;
30 case MACH_LEMOTE_FL2F:
31 case MACH_LEMOTE_LL2F:
32 loongson_uart_base[0] = LOONGSON_PCIIO_BASE + 0x2f8;
34 case MACH_LEMOTE_ML2F7:
35 case MACH_LEMOTE_YL2F89:
36 case MACH_DEXXON_GDIUM2F10:
39 /* The CPU provided serial port (LPC) */
40 loongson_uart_base[0] = LOONGSON_LIO1_BASE + 0x3f8;
44 _loongson_uart_base[0] =
45 (unsigned long)ioremap_nocache(loongson_uart_base[0], 8);