18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2009 Lemote Inc. 48c2ecf20Sopenharmony_ci * Author: Wu Zhangjin, wuzhangjin@gmail.com 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <linux/export.h> 88c2ecf20Sopenharmony_ci#include <asm/bootinfo.h> 98c2ecf20Sopenharmony_ci#include <asm/setup.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <loongson.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci/* raw */ 148c2ecf20Sopenharmony_ciunsigned long loongson_uart_base; 158c2ecf20Sopenharmony_ci/* ioremapped */ 168c2ecf20Sopenharmony_ciunsigned long _loongson_uart_base; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciEXPORT_SYMBOL(loongson_uart_base); 198c2ecf20Sopenharmony_ciEXPORT_SYMBOL(_loongson_uart_base); 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_civoid prom_init_loongson_uart_base(void) 228c2ecf20Sopenharmony_ci{ 238c2ecf20Sopenharmony_ci switch (mips_machtype) { 248c2ecf20Sopenharmony_ci case MACH_LEMOTE_FL2E: 258c2ecf20Sopenharmony_ci loongson_uart_base = LOONGSON_PCIIO_BASE + 0x3f8; 268c2ecf20Sopenharmony_ci break; 278c2ecf20Sopenharmony_ci case MACH_LEMOTE_FL2F: 288c2ecf20Sopenharmony_ci case MACH_LEMOTE_LL2F: 298c2ecf20Sopenharmony_ci loongson_uart_base = LOONGSON_PCIIO_BASE + 0x2f8; 308c2ecf20Sopenharmony_ci break; 318c2ecf20Sopenharmony_ci case MACH_LEMOTE_ML2F7: 328c2ecf20Sopenharmony_ci case MACH_LEMOTE_YL2F89: 338c2ecf20Sopenharmony_ci case MACH_DEXXON_GDIUM2F10: 348c2ecf20Sopenharmony_ci case MACH_LEMOTE_NAS: 358c2ecf20Sopenharmony_ci default: 368c2ecf20Sopenharmony_ci /* The CPU provided serial port (LPC) */ 378c2ecf20Sopenharmony_ci loongson_uart_base = LOONGSON_LIO1_BASE + 0x3f8; 388c2ecf20Sopenharmony_ci break; 398c2ecf20Sopenharmony_ci } 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci _loongson_uart_base = TO_UNCAC(loongson_uart_base); 428c2ecf20Sopenharmony_ci setup_8250_early_printk_port(_loongson_uart_base, 0, 1024); 438c2ecf20Sopenharmony_ci} 44