162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2009 Lemote Inc. 462306a36Sopenharmony_ci * Author: Wu Zhangjin, wuzhangjin@gmail.com 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include <linux/export.h> 862306a36Sopenharmony_ci#include <asm/bootinfo.h> 962306a36Sopenharmony_ci#include <asm/setup.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <loongson.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* raw */ 1462306a36Sopenharmony_ciunsigned long loongson_uart_base; 1562306a36Sopenharmony_ci/* ioremapped */ 1662306a36Sopenharmony_ciunsigned long _loongson_uart_base; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciEXPORT_SYMBOL(loongson_uart_base); 1962306a36Sopenharmony_ciEXPORT_SYMBOL(_loongson_uart_base); 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_civoid prom_init_loongson_uart_base(void) 2262306a36Sopenharmony_ci{ 2362306a36Sopenharmony_ci switch (mips_machtype) { 2462306a36Sopenharmony_ci case MACH_LEMOTE_FL2E: 2562306a36Sopenharmony_ci loongson_uart_base = LOONGSON_PCIIO_BASE + 0x3f8; 2662306a36Sopenharmony_ci break; 2762306a36Sopenharmony_ci case MACH_LEMOTE_FL2F: 2862306a36Sopenharmony_ci case MACH_LEMOTE_LL2F: 2962306a36Sopenharmony_ci loongson_uart_base = LOONGSON_PCIIO_BASE + 0x2f8; 3062306a36Sopenharmony_ci break; 3162306a36Sopenharmony_ci case MACH_LEMOTE_ML2F7: 3262306a36Sopenharmony_ci case MACH_LEMOTE_YL2F89: 3362306a36Sopenharmony_ci case MACH_DEXXON_GDIUM2F10: 3462306a36Sopenharmony_ci case MACH_LEMOTE_NAS: 3562306a36Sopenharmony_ci default: 3662306a36Sopenharmony_ci /* The CPU provided serial port (LPC) */ 3762306a36Sopenharmony_ci loongson_uart_base = LOONGSON_LIO1_BASE + 0x3f8; 3862306a36Sopenharmony_ci break; 3962306a36Sopenharmony_ci } 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci _loongson_uart_base = TO_UNCAC(loongson_uart_base); 4262306a36Sopenharmony_ci setup_8250_early_printk_port(_loongson_uart_base, 0, 1024); 4362306a36Sopenharmony_ci} 44