⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 malta_platform.c

📁 linux 内核源代码
💻 C
字号:
/* * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 2007 MIPS Technologies, Inc. *   written by Ralf Baechle (ralf@linux-mips.org) * * Probe driver for the Malta's UART ports: * *   o 2 ports in the SMC SuperIO *   o 1 port in the CBUS UART, a discrete 16550 which normally is only used *     for bringups. * * We don't use 8250_platform.c on Malta as it would result in the CBUS * UART becoming ttyS0. */#include <linux/module.h>#include <linux/init.h>#include <linux/serial_8250.h>#define SMC_PORT(base, int)						\{									\	.iobase		= base,						\	.irq		= int,						\	.uartclk	= 1843200,					\	.iotype		= UPIO_PORT,					\	.flags		= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,		\	.regshift	= 0,						\}#define CBUS_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)static struct plat_serial8250_port uart8250_data[] = {	SMC_PORT(0x3F8, 4),	SMC_PORT(0x2F8, 3),	{		.mapbase	= 0x1f000900,	/* The CBUS UART */		.irq		= MIPS_CPU_IRQ_BASE + 2,		.uartclk	= 3686400,	/* Twice the usual clk! */		.iotype		= UPIO_MEM32,		.flags		= CBUS_UART_FLAGS,		.regshift	= 3,	},	{ },};static struct platform_device uart8250_device = {	.name			= "serial8250",	.id			= PLAT8250_DEV_PLATFORM2,	.dev			= {		.platform_data	= uart8250_data,	},};static int __init uart8250_init(void){	return platform_device_register(&uart8250_device);}module_init(uart8250_init);MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");MODULE_LICENSE("GPL");MODULE_DESCRIPTION("8250 UART probe driver for the Malta CBUS UART");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -