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

📄 uclinux-20040408-armsys.patch

📁 uClinux-20040408对应s3c44b0x的补丁
💻 PATCH
📖 第 1 页 / 共 5 页
字号:
+  dep_bool 'Excalibur serial port (uart00) support' CONFIG_SERIAL_UART00 $CONFIG_ARCH_CAMELOT+  dep_bool '  Support for console on Excalibur serial port' CONFIG_SERIAL_UART00_CONSOLE $CONFIG_SERIAL_UART00+++  dep_bool 'SA1100 serial port support' CONFIG_SERIAL_SA1100 $CONFIG_ARCH_SA1100+  dep_bool '  Console on SA1100 serial port' CONFIG_SERIAL_SA1100_CONSOLE $CONFIG_SERIAL_SA1100+  if [ "$CONFIG_SERIAL_SA1100" = "y" ]; then+     int  '  Default SA1100 serial baudrate' CONFIG_SA1100_DEFAULT_BAUDRATE 9600+  fi+fi+#+# The new 8250/16550 serial drivers+dep_tristate '8250/16550 and compatible serial support (EXPERIMENTAL)' CONFIG_SERIAL_8250 $CONFIG_EXPERIMENTAL+dep_bool '  Console on 8250/16550 and compatible serial port (EXPERIMENTAL)' CONFIG_SERIAL_8250_CONSOLE $CONFIG_SERIAL_8250 $CONFIG_EXPERIMENTAL++dep_mbool 'Extended 8250/16550 serial driver options' CONFIG_SERIAL_8250_EXTENDED $CONFIG_SERIAL_8250+dep_bool '  Support more than 4 serial ports' CONFIG_SERIAL_8250_MANY_PORTS $CONFIG_SERIAL_8250_EXTENDED+dep_bool '  Support for sharing serial interrupts' CONFIG_SERIAL_8250_SHARE_IRQ $CONFIG_SERIAL_8250_EXTENDED+dep_bool '  Autodetect IRQ on standard ports (unsafe)' CONFIG_SERIAL_8250_DETECT_IRQ $CONFIG_SERIAL_8250_EXTENDED+dep_bool '  Support special multiport boards' CONFIG_SERIAL_8250_MULTIPORT $CONFIG_SERIAL_8250_EXTENDED+dep_bool '  Support Bell Technologies HUB6 card' CONFIG_SERIAL_8250_HUB6 $CONFIG_SERIAL_8250_EXTENDED++if [ "$CONFIG_SERIAL_AMBA" = "y" -o \+     "$CONFIG_SERIAL_CLPS711X" = "y" -o \+     "$CONFIG_SERIAL_SA1100" = "y" -o \+     "$CONFIG_SERIAL_ANAKIN" = "y" -o \+     "$CONFIG_SERIAL_UART00" = "y" -o \+     "$CONFIG_SERIAL_S3C44B0X" = "y" -o \+     "$CONFIG_SERIAL_8250" = "y" ]; then+   define_bool CONFIG_SERIAL_CORE y+else+   if [ "$CONFIG_SERIAL_AMBA" = "m" -o \+        "$CONFIG_SERIAL_CLPS711X" = "m" -o \+        "$CONFIG_SERIAL_SA1100" = "m" -o \+        "$CONFIG_SERIAL_ANAKIN" = "m" -o \+        "$CONFIG_SERIAL_UART00" = "m" -o \+        "$CONFIG_SERIAL_S3C44B0X" = "m" -o \+        "$CONFIG_SERIAL_8250" = "m" ]; then+      define_bool CONFIG_SERIAL_CORE m+   fi+fi+if [ "$CONFIG_SERIAL_AMBA_CONSOLE" = "y" -o \+     "$CONFIG_SERIAL_CLPS711X_CONSOLE" = "y" -o \+     "$CONFIG_SERIAL_SA1100_CONSOLE" = "y" -o \+     "$CONFIG_SERIAL_ANAKIN_CONSOLE" = "y" -o \+     "$CONFIG_SERIAL_UART00_CONSOLE" = "y" -o \+     "$CONFIG_SERIAL_S3C44B0X_CONSOLE" = "y" -o \+     "$CONFIG_SERIAL_8250_CONSOLE" = "y" ]; then+   define_bool CONFIG_SERIAL_CORE_CONSOLE y+fi++endmenudiff -urN uClinux-dist/linux-2.4.x/drivers/serial/hardware.h linux-2.4.x/drivers/serial/hardware.h--- uClinux-dist/linux-2.4.x/drivers/serial/hardware.h	1970-01-01 08:00:00.000000000 +0800+++ linux-2.4.x/drivers/serial/hardware.h	2004-03-25 23:54:13.000000000 +0800@@ -0,0 +1,286 @@+/********************************************************/+/*							*/+/* Samsung S3C44B0					*/+/* tpu <tapu@371.net>					*/+/*							*/+/********************************************************/+//#ifndef __ASM_ARCH_HARDWARE_H+//#define __ASM_ARCH_HARDWARE_H++#define REGBASE		0x01c00000+#define REGL(addr)	(*(volatile unsigned int *)(REGBASE+addr))+#define REGW(addr)	(*(volatile unsigned short *)(REGBASE+addr))+#define REGB(addr)	(*(volatile unsigned char *)(REGBASE+addr))+++/*****************************/+/* CPU Wrapper Registers     */+/*****************************/++#define SYSCFG		REGL(0x000000)+#define NCACHBE0	REGL(0x000004)+#define NCACHBE1	REGL(0x000008)+#define SBUSCON		REGL(0x040000)++/************************************/+/* Memory Controller Registers      */+/************************************/++#define BWSCON		REGL(0x080000)+#define BANKCON0	REGL(0x080004)+#define BANKCON1	REGL(0x080008)+#define BANKCON2	REGL(0x08000c)+#define BANKCON3	REGL(0x080010)+#define BANKCON4	REGL(0x080014)+#define BANKCON5	REGL(0x080018)+#define BANKCON6	REGL(0x08001c)+#define BANKCON7	REGL(0x080020)+#define REFRESH		REGL(0x080024)+#define BANKSIZE	REGL(0x080028)+#define MRSRB6		REGL(0x08002c)+#define MRSRB7		REGL(0x080030)++/*********************/+/* UART Registers    */+/*********************/++#define ULCON0		REGL(0x100000)+#define ULCON1		REGL(0x104000)+#define UCON0		REGL(0x100004)+#define UCON1		REGL(0x104004)+#define UFCON0		REGL(0x100008)+#define UFCON1		REGL(0x104008)+#define UMCON0		REGL(0x10000c)+#define UMCON1		REGL(0x10400c)+#define UTRSTAT0	REGL(0x100010)+#define UTRSTAT1	REGL(0x104010)+#define UERSTAT0	REGL(0x100014)+#define UERSTAT1	REGL(0x104014)+#define UFSTAT0		REGL(0x100018)+#define UFSTAT1		REGL(0x104018)+#define UMSTAT0		REGL(0x10001c)+#define UMSTAT1		REGL(0x10401c)+#define UTXH0		REGB(0x100020)+#define UTXH1		REGB(0x104020)+#define URXH0		REGB(0x100024)+#define URXH1		REGB(0x104024)+#define UBRDIV0		REGL(0x100028)+#define UBRDIV1		REGL(0x104028)++/*******************/+/* SIO Registers   */+/*******************/++#define SIOCON		REGL(0x114000)+#define SIODAT		REGL(0x114004)+#define SBRDR		REGL(0x114008)+#define ITVCNT		REGL(0x11400c)+#define DCNTZ		REGL(0x114010)++/********************/+/* IIS Registers    */+/********************/++#define IISCON		REGL(0x118000)+#define IISMOD		REGL(0x118004)+#define IISPSR		REGL(0x118008)+#define IISFIFCON	REGL(0x11800c)+#define IISFIF		REGW(0x118010)++/**************************/+/* I/O Ports Registers    */+/**************************/++#define PCONA		REGL(0x120000)+#define PDATA		REGL(0x120004)+#define PCONB		REGL(0x120008)+#define PDATB		REGL(0x12000c)+#define PCONC		REGL(0x120010)+#define PDATC		REGL(0x120014)+#define PUPC		REGL(0x120018)+#define PCOND		REGL(0x12001c)+#define PDATD		REGL(0x120020)+#define PUPD		REGL(0x120024)+#define PCONE		REGL(0x120028)+#define PDATE		REGL(0x12002c)+#define PUPE		REGL(0x120030)+#define PCONF		REGL(0x120034)+#define PDATF		REGL(0x120038)+#define PUPF		REGL(0x12003c)+#define PCONG		REGL(0x120040)+#define PDATG		REGL(0x120044)+#define PUPG		REGL(0x120048)+#define SPUCR		REGL(0x12004c)+#define EXTINT		REGL(0x120050)+#define EXTINPND	REGL(0x120054)++/*********************************/+/* WatchDog Timers Registers     */+/*********************************/++#define WTCON		REGL(0x130000)+#define WTDAT		REGL(0x130004)+#define WTCNT		REGL(0x130008)++/*********************************/+/* A/D Converter Registers       */+/*********************************/++#define ADCCON		REGL(0x140000)+#define ADCPSR		REGL(0x140004)+#define ADCDAT		REGL(0x140008)++/***************************/+/* PWM Timer Registers     */+/***************************/++#define TCFG0		REGL(0x150000)+#define TCFG1		REGL(0x150004)+#define TCON		REGL(0x150008)+#define TCNTB0		REGL(0x15000c)+#define TCMPB0		REGL(0x150010)+#define TCNTO0		REGL(0x150014)+#define TCNTB1		REGL(0x150018)+#define TCMPB1		REGL(0x15001c)+#define TCNTO1		REGL(0x150020)+#define TCNTB2		REGL(0x150024)+#define TCMPB2		REGL(0x150028)+#define TCNTO2		REGL(0x15002c)+#define TCNTB3		REGL(0x150030)+#define TCMPB3		REGL(0x150034)+#define TCNTO3		REGL(0x150038)+#define TCNTB4		REGL(0x15003c)+#define TCMPB4		REGL(0x150040)+#define TCNTO4		REGL(0x150044)+#define TCNTB5		REGL(0x150048)+#define TCNTO5		REGL(0x15004c)++/*********************/+/* IIC Registers     */+/*********************/++#define IICCON		REGL(0x160000)+#define IICSTAT		REGL(0x160004)+#define IICADD		REGL(0x160008)+#define IICDS		REGL(0x16000c)++/*********************/+/* RTC Registers     */+/*********************/++#define RTCCON		REGB(0x170040)+#define RTCALM		REGB(0x170050)+#define ALMSEC		REGB(0x170054)+#define ALMMIN		REGB(0x170058)+#define ALMHOUR		REGB(0x17005c)+#define ALMDAY		REGB(0x170060)+#define ALMMON		REGB(0x170064)+#define ALMYEAR		REGB(0x170068)+#define RTCRST		REGB(0x17006c)+#define BCDSEC		REGB(0x170070)+#define BCDMIN		REGB(0x170074)+#define BCDHOUR		REGB(0x170078)+#define BCDDAY		REGB(0x17007c)+#define BCDDATE		REGB(0x170080)+#define BCDMON		REGB(0x170084)+#define BCDYEAR		REGB(0x170088)+#define TICINT		REGB(0x17008c)++/*********************************/+/* Clock & Power Registers       */+/*********************************/++#define PLLCON		REGL(0x180000)+#define CLKCON		REGL(0x180004)+#define CLKSLOW		REGL(0x180008)+#define LOCKTIME	REGL(0x18000c)++/**************************************/+/* Interrupt Controller Registers     */+/**************************************/++#define INTCON		REGL(0x200000)+#define INTPND		REGL(0x200004)+#define INTMOD		REGL(0x200008)+#define INTMSK		REGL(0x20000c)+#define I_PSLV		REGL(0x200010)+#define I_PMST		REGL(0x200014)+#define I_CSLV		REGL(0x200018)+#define I_CMST		REGL(0x20001c)+#define I_ISPR		REGL(0x200020)+#define I_ISPC		REGL(0x200024)+#define F_ISPR		REGL(0x200038)+#define F_ISPC		REGL(0x20003c)++/********************************/+/* LCD Controller Registers     */+/********************************/++#define LCDCON1		REGL(0x300000)+#define LCDCON2		REGL(0x300004)+#define LCDSADDR1	REGL(0x300008)+#define LCDSADDR2	REGL(0x30000c)+#define LCDSADDR3	REGL(0x300010)+#define REDLUT		REGL(0x300014)+#define GREENLUT	REGL(0x300018)+#define BLUELUT		REGL(0x30001c)+#define DP1_2		REGL(0x300020)+#define DP4_7		REGL(0x300024)+#define DP3_5		REGL(0x300028)+#define DP2_3		REGL(0x30002c)+#define DP5_7		REGL(0x300030)+#define DP3_4		REGL(0x300034)+#define DP4_5		REGL(0x300038)+#define DP6_7		REGL(0x30003c)+#define LCDCON3		REGL(0x300040)+#define DITHMODE	REGL(0x300044)++/*********************/+/* DMA Registers     */+/*********************/++#define ZDCON0		REGL(0x280000)+#define ZDISRC0		REGL(0x280004)+#define ZDIDES0		REGL(0x280008)+#define ZDICNT0		REGL(0x28000c)+#define ZDCSRC0		REGL(0x280010)+#define ZDCDES0		REGL(0x280014)+#define ZDCCNT0		REGL(0x280018)++#define ZDCON1		REGL(0x280020)+#define ZDISRC1		REGL(0x280024)+#define ZDIDES1		REGL(0x280028)+#define ZDICNT1		REGL(0x28002c)+#define ZDCSRC1		REGL(0x280030)+#define ZDCDES1		REGL(0x280034)+#define ZDCCNT1		REGL(0x280038)++#define BDCON0		REGL(0x380000)+#define BDISRC0		REGL(0x380004)+#define BDIDES0		REGL(0x380008)+#define BDICNT0		REGL(0x38000c)+#define BDCSRC0		REGL(0x380010)+#define BDCDES0		REGL(0x380014)+#define BDCCNT0		REGL(0x380018)++#define BDCON1		REGL(0x380020)+#define BDISRC1		REGL(0x380024)+#define BDIDES1		REGL(0x380028)+#define BDICNT1		REGL(0x38002c)+#define BDCSRC1		REGL(0x380030)+#define BDCDES1		REGL(0x380034)+#define BDCCNT1		REGL(0x380038)+++#define CLEAR_PEND_INT(n)       I_ISPC = (1<<(n))+#define INT_ENABLE(n)		INTMSK &= ~(1<<(n))+#define INT_DISABLE(n)		INTMSK |= (1<<(n))++#define	INT_UTXD1	2+#define	INT_UTXD0	3+#define	INT_URXD1	6+#define	INT_URXD0	7++//#define HARD_RESET_NOW()++//#endif /* __ASM_ARCH_HARDWARE_H */diff -urN uClinux-dist/linux-2.4.x/drivers/serial/Makefile linux-2.4.x/drivers/serial/Makefile--- uClinux-dist/linux-2.4.x/drivers/serial/Makefile	1970-01-01 08:00:00.000000000 +0800+++ linux-2.4.x/drivers/serial/Makefile	2004-03-26 00:47:45.000000000 +0800@@ -0,0 +1,38 @@+#+# Makefile for the kernel serial device drivers.+#+# Note! Dependencies are done automagically by 'make dep', which also+# removes any old dependencies. DON'T put your own dependencies here+# unless it's something special (ie not a .c file).+#+# Note 2! The CFLAGS definitions are now inherited from the+# parent makes..+#+#  $Id: Makefile,v 1.2 2001/10/12 15:46:58 rmk Exp $+#++O_TARGET := serial.o++export-objs	:= serial_core.o serial_8250.o+obj-y		:=+obj-m		:=+obj-n		:=+obj-		:=++serial-8250-y :=+serial-8250-$(CONFIG_PCI) += serial_8250_pci.o+serial-8250-$(CONFIG_ISAPNP) += serial_8250_pnp.o+obj-$(CONFIG_SERIAL_CORE) += serial_core.o+obj-$(CONFIG_SERIAL_21285) += serial_21285.o+obj-$(CONFIG_SERIAL_8250) += serial_8250.o $(serial-8250-y)+obj-$(CONFIG_SERIAL_ANAKIN) += serial_anakin.o+obj-$(CONFIG_SERIAL_AMBA) += serial_amba.o+obj-$(CONFIG_SERIAL_CLPS711X) += serial_clps711x.o+obj-$(CONFIG_SERIAL_SA1100) += serial_sa1100.o+obj-$(CONFIG_SERIAL_UART00) += serial_uart00.o+obj-$(CONFIG_SERIAL_S3C44B0X) += serial_s3c44b0x.o++include $(TOPDIR)/Rules.make++fastdep:+diff -urN uClinux-dist/linux-2.4.x/drivers/serial/ser2.c linux-2.4.x/drivers/serial/ser2.c--- uClinux-dist/linux-2.4.x/drivers/serial/ser2.c	1970-01-01 08:00:00.000000000 +0800+++ linux-2.4.x/drivers/serial/ser2.c	2004-03-25 23:16:48.000000000 +0800@@ -0,0 +1,56 @@+++#include <asm/hardware.h>++++static int sput(int c)+{+	/* wait for room in the transmit FIFO */+	while(!((UTRSTAT1)&0x02));++	(UTXH1) = (unsigned char)c;++	return 0;+}++static void sputs(char *s)+{+	int len, i;++        len = strlen(s);+        for(i=0; i<len; i++){+            sput(s[i]);+            if(s[i] == '\n')+                sput('\r');+        }+}++static void shexb(int h)+{+	int dt;++	dt = (h>>4)&0x0f;+	if(dt>9)+		dt += 7;+	dt += 0x30;+	sput(dt);++	dt = (h)&0x0f;+	if(dt>9)+		dt += 7;+	dt += 0x30;+	sput(dt);+}++static void shexw(int w)+{+	shexb(w>>8);+	shexb(w);+}++static void shex(int d)+{+	shexw(d>>16);+	shexw(d);+}diff -urN uClinux-dist/linux-2.4.x/drivers/serial/serial_21285.c linux-2.4.x/drivers/serial/serial_21285.c--- uClinux-dist/linux-2.4.x/drivers/serial/serial_21285.c	1970-01-01 08:00:00.000000000 +0800+++ linux-2.4.x/drivers/serial/serial_21285.c	2004-03-25 23:16:48.000000000 +0800@@ -0,0 +1,570 @@+/*+ * linux/drivers/char/serial_21285.c+ *+ * Driver for the serial port on the 21285 StrongArm-110 core logic chip.

⌨️ 快捷键说明

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