uclinux串口驱动程序
uclinux串口驱动程序源代码:
/*
* linux/drivers/char/serial_44b0.c
*
* Copyright (C) 1991, 1992 Linus Torvalds
* Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997,
* 1998, 1999 Theodore Ts'o
*
* Extensively rewritten by Theodore Ts'o, 8/16/92 -- 9/14/92. Now
* much more extensible to support other serial cards based on the
* 16450/16550A UART's. Added support for the AST FourPort and the
* Accent Async board.
*
* set_serial_info fixed to set the flags, custom divisor, and uart
* type fields. Fix suggested by Michael K. Johnson 12/12/92.
*
* 11/95: TIOCMIWAIT, TIOCGICOUNT by Angelo Haritsis <ah@doc.ic.ac.uk>
*
* 03/96: Modularised by Angelo Haritsis <ah@doc.ic.ac.uk>
*
* rs_set_termios fixed to look also for changes of the input
* flags INPCK, BRKINT, PARMRK, IGNPAR and IGNBRK.
* Bernd Anh鋟pl 05/17/96.
*
* 1/97: Extended dumb serial ports are a config option now.
* Saves 4k. Michael A. Griffith <grif@acm.org>
*
* 8/97: Fix bug in rs_set_termios with RTS
* Stanislav V. Voronyi <stas@uanet.kharkov.ua>
*
* 3/98: Change the IRQ detection, use of probe_irq_o*(),
* suppress TIOCSERGWILD and TIOCSERSWILD
* Etienne Lorrain <etienne.lorrain@ibm.net>
*
* 4/98: Added changes to support the ARM architecture proposed by
* Russell King
*
* 5/99: Updated to include support for the XR16C850 and ST16C654
* uarts. Stuart MacDonald <stuartm@connecttech.com>
*
* 8/99: Generalized PCI support added. Theodore Ts'o
*
* 3/00: Rid circular buffer of redundant xmit_cnt. Fix a
* few races on freeing buffers too.
* Alan Modra <alan@linuxcare.com>
*
* 5/00: Support for the RSA-DV II/S card added.
* Kiyokazu SUTO <suto@ks-and-ks.ne.jp>
*
* 6/00: Remove old-style timer, use timer_list
* Andrew Morton <andrewm@uow.edu.au>
*
* 7/00: Support Timedia/Sunix/Exsys PCI cards
*
* 7/00: fix some returns on failure not using MOD_DEC_USE_COUNT.
* Arnaldo Carvalho de Melo <acme@conectiva.com.br>
*
* 10/00: add in optional software flow control for serial console.
* Kanoj Sarcar <kanoj@sgi.com> (Modified by Theodore Ts'o)
*
* 09/02: modify by wesley king for s3c44b0's serial console.
* Qin Wei <king@micetek.com.cn>
*
* 01/03: modify by wesley king for s3c44b0's serial console, support ev44b0ii.
* Qin Wei <king@micetek.com.cn>
*
*/
static char *serial_version = "1.10";
static char *serial_revdate = "2003-01-15";
/*
* Serial driver configuration section. Here are the various options:
*
* CONFIG_HUB6
* Enables support for the venerable Bell Technologies
* HUB6 card.
*
* CONFIG_SERIAL_MANY_PORTS
* Enables support for ports beyond the standard, stupid
* COM 1/2/3/4.
*
* CONFIG_SERIAL_MULTIPORT
* Enables support for special multiport board support.
*
* CONFIG_SERIAL_SHARE_IRQ
* Enables support for multiple serial ports on one IRQ
*
* CONFIG_SERIAL_DETECT_IRQ
* Enable the autodetection of IRQ on standart ports
*
* SERIAL_PARANOIA_CHECK
* Check the magic number for the async_structure where
* ever possible.
*/
#include
#include
#undef SERIAL_PARANOIA_CHECK
#define CONFIG_SERIAL_NOPAUSE_IO
#define SERIAL_DO_RESTART
/* Set of debugging defines */
#undef SERIAL_DEBUG_INTR
#undef SERIAL_DEBUG_OPEN
#undef SERIAL_DEBUG_FLOW
#undef SERIAL_DEBUG_RS_WAIT_UNTIL_SENT
#undef SERIAL_DEBUG_PCI
#undef SERIAL_DEBUG_AUTOCONF
/* Sanity checks */
// Qinwei : for using polling mode to send char on serial port
//#define UARTPOLLING
#undef UARTPOLLING
#ifdef UARTPOLLING
#define RS_STROBE_TIME 10*HZ
#else
#define RS_STROBE_TIME 10
#endif
#define RS_ISR_PASS_LIMIT 256
#if defined(__i386__) && (defined(CONFIG_M386) || defined(CONFIG_M486))
#define SERIAL_INLINE
#endif
/*
* End of serial driver configuration section.
*/
#include
#include
#include
#include
#ifdef LOCAL_HEADERS
#include "serial_local.h"
#else
#include
#include
//#include
#include
#define LOCAL_VERSTRING ""
#endif
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#if (LINUX_VERSION_CODE >= 131343)
#include
#endif
#if (LINUX_VERSION_CODE >= 131336)
#include
#endif
#include
#ifdef CONFIG_SERIAL_SAMSUNG_CONSOLE
#include
#endif
#ifdef CONFIG_MAGIC_SYSRQ
#include
#endif
#ifdef CONFIG_LEDMAN
#include
#endif
/*
* All of the compatibilty code so we can compile serial.c against
* older kernels is hidden in serial_compat.h
*/
#if defined(LOCAL_HEADERS) || (L
非常好我支持^.^
(1) 100%
不好我反对
(0) 0%
下载地址
uclinux串口驱动程序下载
相关电子资料下载
- 用于单片机的uCLinux和Linux有什么区别? 258
- 用于单片机的uCLinux和Linux有什么区别? 235
- 鸿蒙系统用什么语言开发 3718
- 基于ColdFire5307处理器和uClinux操作系统实现数据采集系统的设计 1572
- 基于uClinux和S3C4510B微处理器实现家庭网络中央控制器的设计 1715
- 基于uClinux和微控制器实现嵌入式Socket通信的应用方案 1221
- 基于uClinux和Nios II处理器实现电网参数远程测控系统的设计 1314
- 基于uClinux和微处理器实现嵌入式Socket通信的应用方案 3075
- 基于LPC2210芯片和uClinux实现导航定位信息获取模块的设计 1449
- 以uClinux为背景,介绍中断驱动的I/O设备驱动的开发 1086