Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003  * Copyright (C) 2009 Lemote Inc.
0004  * Author: Wu Zhangjin, wuzhangjin@gmail.com
0005  */
0006 
0007 #include <linux/export.h>
0008 #include <asm/bootinfo.h>
0009 #include <asm/setup.h>
0010 
0011 #include <loongson.h>
0012 
0013 /* raw */
0014 unsigned long loongson_uart_base;
0015 /* ioremapped */
0016 unsigned long _loongson_uart_base;
0017 
0018 EXPORT_SYMBOL(loongson_uart_base);
0019 EXPORT_SYMBOL(_loongson_uart_base);
0020 
0021 void prom_init_loongson_uart_base(void)
0022 {
0023     switch (mips_machtype) {
0024     case MACH_LEMOTE_FL2E:
0025         loongson_uart_base = LOONGSON_PCIIO_BASE + 0x3f8;
0026         break;
0027     case MACH_LEMOTE_FL2F:
0028     case MACH_LEMOTE_LL2F:
0029         loongson_uart_base = LOONGSON_PCIIO_BASE + 0x2f8;
0030         break;
0031     case MACH_LEMOTE_ML2F7:
0032     case MACH_LEMOTE_YL2F89:
0033     case MACH_DEXXON_GDIUM2F10:
0034     case MACH_LEMOTE_NAS:
0035     default:
0036         /* The CPU provided serial port (LPC) */
0037         loongson_uart_base = LOONGSON_LIO1_BASE + 0x3f8;
0038         break;
0039     }
0040 
0041     _loongson_uart_base = TO_UNCAC(loongson_uart_base);
0042     setup_8250_early_printk_port(_loongson_uart_base, 0, 1024);
0043 }