diff options
Diffstat (limited to 'packages/linux/gumstix-2.6.5-gnalm1-gum0/linux-2.6.5-gnalm1.patch')
| -rw-r--r-- | packages/linux/gumstix-2.6.5-gnalm1-gum0/linux-2.6.5-gnalm1.patch | 20991 |
1 files changed, 0 insertions, 20991 deletions
diff --git a/packages/linux/gumstix-2.6.5-gnalm1-gum0/linux-2.6.5-gnalm1.patch b/packages/linux/gumstix-2.6.5-gnalm1-gum0/linux-2.6.5-gnalm1.patch deleted file mode 100644 index 4da2b88285..0000000000 --- a/packages/linux/gumstix-2.6.5-gnalm1-gum0/linux-2.6.5-gnalm1.patch +++ /dev/null @@ -1,20991 +0,0 @@ ---- linux-2.6.5/kernel/printk.c~heh 2004-04-03 22:38:24.000000000 -0500 -+++ linux-2.6.5/kernel/printk.c 2004-04-30 20:57:36.000000000 -0400 -@@ -832,3 +832,25 @@ - printk_ratelimit_burst); - } - EXPORT_SYMBOL(printk_ratelimit); -+ -+#include <linux/sysrq.h> -+ -+static void -+show_msg_info(int key, struct pt_regs *regs, struct tty_struct *tty) -+{ -+ call_console_drivers(log_end - logged_chars, log_end); -+} -+ -+static struct sysrq_key_op msg_info_op = { -+ .handler = show_msg_info, -+ .help_msg = "Dumpmsgs", -+ .action_msg = "Kernel Messages", -+}; -+ -+static int __init dbg_init(void) -+{ -+ register_sysrq_key('d', &msg_info_op); -+ return 0; -+} -+ -+__initcall(dbg_init); ---- linux-2.6.5/kernel/resource.c~heh 2004-04-03 22:37:36.000000000 -0500 -+++ linux-2.6.5/kernel/resource.c 2004-04-30 20:57:36.000000000 -0400 -@@ -179,6 +179,8 @@ - { - struct resource *tmp, **p; - -+ BUG_ON(old->child); -+ - p = &old->parent->child; - for (;;) { - tmp = *p; -@@ -409,6 +411,47 @@ - EXPORT_SYMBOL(adjust_resource); - - /* -+ * Given an existing resource, change its start and size to match the -+ * arguments. Returns -EBUSY if it can't fit. Existing children of -+ * the resource are assumed to be immutable. -+ */ -+int reallocate_resource(struct resource *res, unsigned long start, unsigned long size) -+{ -+ struct resource *tmp, *parent = res->parent; -+ unsigned long end = start + size - 1; -+ int result = -EBUSY; -+ -+ write_lock(&resource_lock); -+ -+ if ((start < parent->start) || (end > parent->end)) -+ goto out; -+ -+ for (tmp = res->child; tmp; tmp = tmp->sibling) { -+ if ((tmp->start < start) || (tmp->end > end)) -+ goto out; -+ } -+ -+ if (res->sibling && (res->sibling->start <= end)) -+ goto out; -+ -+ tmp = parent->child; -+ if (tmp != res) { -+ while (tmp->sibling != res) -+ tmp = tmp->sibling; -+ if (start <= tmp->end) -+ goto out; -+ } -+ -+ res->start = start; -+ res->end = end; -+ result = 0; -+ -+ out: -+ write_unlock(&resource_lock); -+ return result; -+} -+ -+/* - * This is compatibility stuff for IO resources. - * - * Note how this, unlike the above, knows about ---- linux-2.6.5/include/asm-arm/mach/irq.h~heh 2004-04-03 22:36:54.000000000 -0500 -+++ linux-2.6.5/include/asm-arm/mach/irq.h 2004-04-30 20:57:36.000000000 -0400 -@@ -14,6 +14,19 @@ - struct pt_regs; - struct seq_file; - -+/* -+ * Architectures are expected to define NR_IRQ_DEVICES and -+ * NR_IRQ_DEVICE_SHIFT if they wish to use dynamic IRQs. -+ */ -+#ifndef NR_IRQ_DEVICES -+#define NR_IRQ_DEVICES 1 -+#endif -+#define NR_IRQ_PER_DEVICE (1 << (NR_IRQ_DEVICE_SHIFT - 1)) -+ -+#define IRQ_DEVICE(i) ((i) >> NR_IRQ_DEVICE_SHIFT) -+#define IRQ_INDEX(i) ((i) & (NR_IRQ_PER_GROUP - 1)) -+#define TO_IRQ(g,i) (((g) << NR_IRQ_DEVICE_SHIFT) + (i)) -+ - typedef void (*irq_handler_t)(unsigned int, struct irqdesc *, struct pt_regs *); - typedef void (*irq_control_t)(unsigned int); - ---- linux-2.6.5/include/asm-arm/arch-pxa/uncompress.h~heh 2004-04-03 22:36:17.000000000 -0500 -+++ linux-2.6.5/include/asm-arm/arch-pxa/uncompress.h 2004-04-30 20:57:36.000000000 -0400 -@@ -12,6 +12,7 @@ - #define FFUART ((volatile unsigned long *)0x40100000) - #define BTUART ((volatile unsigned long *)0x40200000) - #define STUART ((volatile unsigned long *)0x40700000) -+#define HWUART ((volatile unsigned long *)0x41600000) - - #define UART FFUART - ---- linux-2.6.5/include/asm-arm/arch-pxa/dma.h~heh 2004-04-03 22:38:18.000000000 -0500 -+++ linux-2.6.5/include/asm-arm/arch-pxa/dma.h 2004-04-30 20:57:36.000000000 -0400 -@@ -22,11 +22,11 @@ - * Note: this structure must always be aligned to a 16-byte boundary. - */ - --typedef struct { -- volatile u32 ddadr; /* Points to the next descriptor + flags */ -- volatile u32 dsadr; /* DSADR value for the current transfer */ -- volatile u32 dtadr; /* DTADR value for the current transfer */ -- volatile u32 dcmd; /* DCMD value for the current transfer */ -+typedef struct pxa_dma_desc { -+ u32 ddadr; /* Points to the next descriptor + flags */ -+ u32 dsadr; /* DSADR value for the current transfer */ -+ u32 dtadr; /* DTADR value for the current transfer */ -+ u32 dcmd; /* DCMD value for the current transfer */ - } pxa_dma_desc; - - /* ---- linux-2.6.5/include/asm-arm/arch-pxa/serial.h~heh 2004-04-03 22:37:06.000000000 -0500 -+++ linux-2.6.5/include/asm-arm/arch-pxa/serial.h 2004-04-30 20:57:36.000000000 -0400 -@@ -43,6 +43,15 @@ - io_type: SERIAL_IO_MEM, \ - irq: IRQ_BTUART, \ - flags: STD_COM_FLAGS, \ -+ }, { \ -+ type: PORT_PXA, \ -+ xmit_fifo_size: 64, \ -+ baud_base: BAUD_BASE, \ -+ iomem_base: &HWUART, \ -+ iomem_reg_shift: 2, \ -+ io_type: SERIAL_IO_MEM, \ -+ irq: IRQ_HWUART, \ -+ flags: STD_COM_FLAGS, \ - } - - #define EXTRA_SERIAL_PORT_DEFNS ---- linux-2.6.5/include/asm-arm/arch-pxa/pxa-regs.h~heh 2004-04-03 22:37:36.000000000 -0500 -+++ linux-2.6.5/include/asm-arm/arch-pxa/pxa-regs.h 2004-04-30 20:57:36.000000000 -0400 -@@ -124,26 +124,26 @@ - #define DRCMR12 __REG(0x40000130) /* Request to Channel Map Register for AC97 audio transmit Request */ - #define DRCMR13 __REG(0x40000134) /* Request to Channel Map Register for SSP receive Request */ - #define DRCMR14 __REG(0x40000138) /* Request to Channel Map Register for SSP transmit Request */ --#define DRCMR15 __REG(0x4000013c) /* Reserved */ --#define DRCMR16 __REG(0x40000140) /* Reserved */ -+#define DRCMR15 __REG(0x4000013c) /* Request to Channel Map Register for NSSP receive Request */ -+#define DRCMR16 __REG(0x40000140) /* Request to Channel Map Register for NSSP transmit Request */ - #define DRCMR17 __REG(0x40000144) /* Request to Channel Map Register for ICP receive Request */ - #define DRCMR18 __REG(0x40000148) /* Request to Channel Map Register for ICP transmit Request */ - #define DRCMR19 __REG(0x4000014c) /* Request to Channel Map Register for STUART receive Request */ - #define DRCMR20 __REG(0x40000150) /* Request to Channel Map Register for STUART transmit Request */ - #define DRCMR21 __REG(0x40000154) /* Request to Channel Map Register for MMC receive Request */ - #define DRCMR22 __REG(0x40000158) /* Request to Channel Map Register for MMC transmit Request */ --#define DRCMR23 __REG(0x4000015c) /* Reserved */ --#define DRCMR24 __REG(0x40000160) /* Reserved */ -+#define DRCMR23 __REG(0x4000015c) /* Request to Channel Map Register for ASSP receive Request */ -+#define DRCMR24 __REG(0x40000160) /* Request to Channel Map Register for ASSP transmit Request */ - #define DRCMR25 __REG(0x40000164) /* Request to Channel Map Register for USB endpoint 1 Request */ - #define DRCMR26 __REG(0x40000168) /* Request to Channel Map Register for USB endpoint 2 Request */ - #define DRCMR27 __REG(0x4000016C) /* Request to Channel Map Register for USB endpoint 3 Request */ - #define DRCMR28 __REG(0x40000170) /* Request to Channel Map Register for USB endpoint 4 Request */ --#define DRCMR29 __REG(0x40000174) /* Reserved */ -+#define DRCMR29 __REG(0x40000174) /* Request to Channel Map Register for HWUART receive Request */ - #define DRCMR30 __REG(0x40000178) /* Request to Channel Map Register for USB endpoint 6 Request */ - #define DRCMR31 __REG(0x4000017C) /* Request to Channel Map Register for USB endpoint 7 Request */ - #define DRCMR32 __REG(0x40000180) /* Request to Channel Map Register for USB endpoint 8 Request */ - #define DRCMR33 __REG(0x40000184) /* Request to Channel Map Register for USB endpoint 9 Request */ --#define DRCMR34 __REG(0x40000188) /* Reserved */ -+#define DRCMR34 __REG(0x40000188) /* Request to Channel Map Register for HWUART transmit Request */ - #define DRCMR35 __REG(0x4000018C) /* Request to Channel Map Register for USB endpoint 11 Request */ - #define DRCMR36 __REG(0x40000190) /* Request to Channel Map Register for USB endpoint 12 Request */ - #define DRCMR37 __REG(0x40000194) /* Request to Channel Map Register for USB endpoint 13 Request */ -@@ -163,12 +163,16 @@ - #define DRCMRTXPCDR DRCMR12 - #define DRCMRRXSSDR DRCMR13 - #define DRCMRTXSSDR DRCMR14 -+#define DRCMRRXNSSPDR DRCMR15 -+#define DRCMRTXNSSPDR DRCMR16 - #define DRCMRRXICDR DRCMR17 - #define DRCMRTXICDR DRCMR18 - #define DRCMRRXSTRBR DRCMR19 - #define DRCMRTXSTTHR DRCMR20 - #define DRCMRRXMMC DRCMR21 - #define DRCMRTXMMC DRCMR22 -+#define DRCMRRXASSPDR DRCMR23 -+#define DRCMRTXASSPDR DRCMR24 - - #define DRCMR_MAPVLD (1 << 7) /* Map Valid (read / write) */ - #define DRCMR_CHLNUM 0x0f /* mask for Channel Number (read / write) */ -@@ -303,6 +307,22 @@ - #define BTDLL __REG(0x40200000) /* Divisor Latch Low Register (DLAB = 1) (read/write) */ - #define BTDLH __REG(0x40200004) /* Divisor Latch High Register (DLAB = 1) (read/write) */ - -+/* Hardware UART (HWUART) */ -+#define HWUART HWRBR -+#define HWRBR __REG(0x41600000) /* Receive Buffer Register (read only) */ -+#define HWTHR __REG(0x41600000) /* Transmit Holding Register (write only) */ -+#define HWIER __REG(0x41600004) /* Interrupt Enable Register (read/write) */ -+#define HWIIR __REG(0x41600008) /* Interrupt ID Register (read only) */ -+#define HWFCR __REG(0x41600008) /* FIFO Control Register (write only) */ -+#define HWLCR __REG(0x4160000C) /* Line Control Register (read/write) */ -+#define HWMCR __REG(0x41600010) /* Modem Control Register (read/write) */ -+#define HWLSR __REG(0x41600014) /* Line Status Register (read only) */ -+#define HWMSR __REG(0x41600018) /* Reserved */ -+#define HWSPR __REG(0x4160001C) /* Scratch Pad Register (read/write) */ -+#define HWISR __REG(0x41600020) /* Infrared Selection Register (read/write) */ -+#define HWDLL __REG(0x41600000) /* Divisor Latch Low Register (DLAB = 1) (read/write) */ -+#define HWDLH __REG(0x41600004) /* Divisor Latch High Register (DLAB = 1) (read/write) */ -+ - /* Standard UART (STUART) */ - #define STUART STRBR - #define STRBR __REG(0x40700000) /* Receive Buffer Register (read only) */ -@@ -1078,6 +1098,111 @@ - - - /* -+ * NSSP Serial Port Registers (Network SSP) -+ */ -+ -+#define NSSCR0 __REG(0x41400000) /* NSSP Control Register 0 */ -+#define NSSCR1 __REG(0x41400004) /* NSSP Control Register 1 */ -+#define NSSSR __REG(0x41400008) /* NSSP Status Register */ -+#define NSSITR __REG(0x4140000C) /* NSSP Interrupt Test Register */ -+#define NSSDR __REG(0x41400010) /* (Write / Read) NSSP Data Write Register/NSSP Data Read Register */ -+#define NSSTO __REG(0x41400028) /* NSSP Time Out Register */ -+#define NSSPSP __REG(0x4140002C) /* NSSP Programable Serial Port Register*/ -+ -+ -+/* -+ * ASSP Serial Port Registers (Audio SSP) -+ */ -+ -+#define ASSCR0 __REG(0x41500000) /* ASSP Control Register 0 */ -+#define ASSCR1 __REG(0x41500004) /* ASSP Control Register 1 */ -+#define ASSSR __REG(0x41500008) /* ASSP Status Register */ -+#define ASSITR __REG(0x4150000C) /* ASSP Interrupt Test Register */ -+#define ASSDR __REG(0x41500010) /* (Write / Read) ASSP Data Write Register/ASSP Data Read Register */ -+#define ASSTO __REG(0x41500028) /* ASSP Time Out Register */ -+#define ASSPSP __REG(0x4150002C) /* ASSP Programable Serial Port Register*/ -+ -+ -+/* -+ * Bit definitions for SSP, NSSP and ASSP registers -+ * - note that some bits are only available on the NSSP and ASSP -+ */ -+ -+#define SSCR0_EDSS (1 << 20) /* ext. data size select */ -+#define SSCR0_SCR_MASK 0x000fff00 /* [19:8] secrial clock rate */ -+#define SSCR0_SCR(x) (((x)<<8) & XSSCR0_SCR_MASK) -+#define SSCR0_SSE (1 << 7) /* sync ser port enable */ -+#define SSCR0_FRF_MASK 0x00000030 /* [5:4] frame format */ -+#define SSCR0_FRF(x) (((x)<<4) & XSSCR0_FRF_MASK) -+#define SSCR0_FRF_SPI 0x00000000 /* ser peripheral i/f */ -+#define SSCR0_FRF_TISSP 0x00000010 /* TI sync ser port */ -+#define SSCR0_FRF_MICROWAVE 0x00000020 /* microwire */ -+#define SSCR0_FRF_PSP 0x00000030 /* prog ser protocol */ -+#define SSCR0_DSS_MASK 0x0000000f /* data size select */ -+#define SSCR0_DSS(x) ((x) & XSSCR0_DSS_MASK) -+ -+#define SSCR1_TTELP (1 << 31) /* tx hi-z later phase */ -+#define SSCR1_TTE (1 << 30) /* tx hi-z enable */ -+#define SSCR1_EBCEI (1 << 29) /* bit count error int mask */ -+#define SSCR1_SCFR (1 << 28) /* slave clock free running */ -+#define SSCR1_SCLKDIR (1 << 25) /* ssp clock direction */ -+#define SSCR1_SFRMDIR (1 << 24) /* ssp frame direction */ -+#define SSCR1_RWOT (1 << 23) /* rx without transmit */ -+#define SSCR1_TSRE (1 << 21) /* tx req enable */ -+#define SSCR1_RSRE (1 << 20) /* rx req enable */ -+#define SSCR1_TINTE (1 << 19) /* timeout int enable */ -+#define SSCR1_STRF (1 << 15) /* select fifo for efwr */ -+#define SSCR1_EFWR (1 << 14) /* fifo write/read enable */ -+#define SSCR1_RFT_MASK 0x00003c00 /* [13:10] rx fifo threshold */ -+#define SSCR1_RFT(x) (((x)<<10) & XSSCR1_RFT_MASK) -+#define SSCR1_TFT_MASK 0x000003c0 /* [9:6] tx fifo threshold */ -+#define SSCR1_TFT(x) (((x)<<6) & XSSCR1_TFT_MASK) -+#define SSCR1_MWDS (1 << 5) /* microwire tx data size */ -+#define SSCR1_SPH (1 << 4) /* SPI SSPSCLK phase */ -+#define SSCR1_SPO (1 << 3) /* motorolla SPI polarity */ -+#define SSCR1_LBM (1 << 2) /* loop-back mode */ -+#define SSCR1_TIE (1 << 1) /* tx fifo int enable */ -+#define SSCR1_RIE (1 << 0) /* rx fifo int enable */ -+ -+#define SSPSP_DMYSTOP_MASK 0x01800000 /* [24:23] dummy stop */ -+#define SSPSP_DMYSTOP(x) (((x)<<23) & XSSPSP_DMYSTOP_MASK) -+#define SSPSP_SFRMWDTH_MASK 0x007f0000 /* [22:16] serial frame width */ -+#define SSPSP_SFRMWDTH(x) (((x)<<16) & XSSPSP_SFRMWDTH_MASK) -+#define SSPSP_SFRMDLY_MASK 0x0000fe00 /* [15:9] serial frame delay */ -+#define SSPSP_SFRMDLY(x) (((x)<<9) & XSSPSP_SFRMDLY_MASK) -+#define SSPSP_DMYSTRT_MASK 0x00000180 /* [8:7] dummy start */ -+#define SSPSP_DMYSTRT(x) (((x)<<7) & XSSPSP_DMYSTRT_MASK) -+#define SSPSP_STRTDLY_MASK 0x00000070 /* [6:4] three-bit start delay */ -+#define SSPSP_STRTDLY(x) (((x)<<4) & XSSPSP_STRTDLY_MASK) -+#define SSPSP_ETDS (1 << 3) /* end of tx data state */ -+#define SSPSP_SFRMP (1 << 2) /* serial frame polarity */ -+#define SSPSP_SCMODE_MASK 0x00000003 /* bit-rate clock mode */ -+#define SSPSP_SCMODE(x) ((x) & XSSPSP_SCMODE_MASK) -+ -+#define SSTO_TIMEOUT_MASK 0x00ffffff /* [23:0] timeout */ -+#define SSTO_TIMEOUT(x) ((x) & XSSTO_TIMEOUT_MASK) -+ -+#define SSITR_TROR (1 << 7) /* test rx fifo overrun */ -+#define SSITR_TRFS (1 << 6) /* test rx fifo serv req */ -+#define SSITR_TTFS (1 << 5) /* test tx fifo serv req */ -+ -+#define SSSR_BCE (1 << 23) /* bit count error */ -+#define SSSR_CSS (1 << 22) /* clock sync stat */ -+#define SSSR_TUR (1 << 21) /* tx fifo underrun */ -+#define SSSR_TINT (1 << 19) /* rx timeout int */ -+#define SSSR_RFL_MASK 0x0000f000 /* rx fifo level */ -+#define SSSR_RFL(x) (((x)<<16) & XSSSR_RFL_MASK) -+#define SSSR_TFL_MASK 0x00000f00 /* tx fifo level */ -+#define SSSR_TFL(x) (((x)<<8) & XSSSR_TFL_MASK) -+#define SSSR_ROR (1 << 7) /* rx fifo overrun */ -+#define SSSR_RFS (1 << 6) /* rx fifo serv request */ -+#define SSSR_TFS (1 << 5) /* tx fifo serv req */ -+#define SSSR_BSY (1 << 4) /* SSP busy */ -+#define SSSR_RNE (1 << 3) /* rx fifo not empty */ -+#define SSSR_TNF (1 << 2) /* tx fifo not full */ -+ -+ -+/* - * MultiMediaCard (MMC) controller - */ - -@@ -1122,6 +1247,7 @@ - #define CKEN7_BTUART (1 << 7) /* BTUART Unit Clock Enable */ - #define CKEN6_FFUART (1 << 6) /* FFUART Unit Clock Enable */ - #define CKEN5_STUART (1 << 5) /* STUART Unit Clock Enable */ -+#define CKEN4_HWUART (1 << 4) /* HWUART Unit Clock Enable */ - #define CKEN3_SSP (1 << 3) /* SSP Unit Clock Enable */ - #define CKEN2_AC97 (1 << 2) /* AC97 Unit Clock Enable */ - #define CKEN1_PWM1 (1 << 1) /* PWM1 Clock Enable */ ---- linux-2.6.5/include/asm-arm/page.h~heh 2004-04-03 22:36:25.000000000 -0500 -+++ linux-2.6.5/include/asm-arm/page.h 2004-04-30 20:57:36.000000000 -0400 -@@ -92,6 +92,14 @@ - # endif - #endif - -+#ifdef CONFIG_CPU_COPY_V6 -+# ifdef _USER -+# define MULTI_USER 1 -+# else -+# define _USER v6 -+# endif -+#endif -+ - #ifndef _USER - #error Unknown user operations model - #endif ---- linux-2.6.5/include/asm-arm/thread_info.h~heh 2004-04-03 22:37:06.000000000 -0500 -+++ linux-2.6.5/include/asm-arm/thread_info.h 2004-04-30 20:57:36.000000000 -0400 -@@ -108,8 +108,8 @@ - #define TI_CPU 20 - #define TI_CPU_DOMAIN 24 - #define TI_CPU_SAVE 28 --#define TI_USED_MATH 76 --#define TI_FPSTATE (TI_USED_MATH+16) -+#define TI_USED_CP 76 -+#define TI_FPSTATE (TI_USED_CP+16) - - #endif - ---- /dev/null 2003-09-23 18:19:32.000000000 -0400 -+++ linux-2.6.5/include/asm-arm/rtc.h 2004-04-30 20:57:36.000000000 -0400 -@@ -0,0 +1,45 @@ -+/* -+ * linux/include/asm-arm/rtc.h -+ * -+ * Copyright (C) 2003 Deep Blue Solutions Ltd. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+#ifndef ASMARM_RTC_H -+#define ASMARM_RTC_H -+ -+struct module; -+ -+struct rtc_ops { -+ struct module *owner; -+ int (*open)(void); -+ void (*release)(void); -+ int (*ioctl)(unsigned int, unsigned long); -+ -+ void (*read_time)(struct rtc_time *); -+ int (*set_time)(struct rtc_time *); -+ void (*read_alarm)(struct rtc_wkalrm *); -+ int (*set_alarm)(struct rtc_wkalrm *); -+ int (*proc)(char *buf); -+}; -+ -+void rtc_time_to_tm(unsigned long, struct rtc_time *); -+int rtc_tm_to_time(struct rtc_time *, unsigned long *); -+void rtc_next_alarm_time(struct rtc_time *, struct rtc_time *, struct rtc_time *); -+void rtc_update(unsigned long, unsigned long); -+int register_rtc(struct rtc_ops *); -+void unregister_rtc(struct rtc_ops *); -+ -+static inline int rtc_periodic_alarm(struct rtc_time *tm) -+{ -+ return (tm->tm_year == -1) || -+ ((unsigned)tm->tm_mon >= 12) || -+ ((unsigned)(tm->tm_mday - 1) >= 31) || -+ ((unsigned)tm->tm_hour > 23) || -+ ((unsigned)tm->tm_min > 59) || -+ ((unsigned)tm->tm_sec > 59); -+} -+ -+#endif ---- linux-2.6.5/include/linux/serial.h~heh 2004-04-03 22:36:26.000000000 -0500 -+++ linux-2.6.5/include/linux/serial.h 2004-04-30 20:57:36.000000000 -0400 -@@ -81,17 +81,6 @@ - #define SERIAL_IO_HUB6 1 - #define SERIAL_IO_MEM 2 - --struct serial_uart_config { -- char *name; -- int dfl_xmit_fifo_size; -- int flags; --}; -- --#define UART_CLEAR_FIFO 0x01 --#define UART_USE_FIFO 0x02 --#define UART_STARTECH 0x04 --#define UART_NATSEMI 0x08 -- - /* - * Definitions for async_struct (and serial_struct) flags field - */ ---- /dev/null 2003-09-23 18:19:32.000000000 -0400 -+++ linux-2.6.5/include/linux/i2c-pxa.h 2004-04-30 20:57:36.000000000 -0400 -@@ -0,0 +1,76 @@ -+/* -+ * i2c_pxa.h -+ * -+ * Copyright (C) 2002 Intrinsyc Software Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ */ -+#ifndef _I2C_PXA_H_ -+#define _I2C_PXA_H_ -+ -+struct i2c_algo_pxa_data -+{ -+ void (*write_byte) (u8 value); -+ u8 (*read_byte) (void); -+ void (*start) (void); -+ void (*repeat_start) (void); -+ void (*stop) (void); -+ void (*abort) (void); -+ int (*wait_bus_not_busy) (void); -+ int (*wait_for_interrupt) (int wait_type); -+ void (*transfer) (int lastbyte, int receive, int midbyte); -+ void (*reset) (void); -+ -+ int udelay; -+ int timeout; -+}; -+ -+#define DEF_TIMEOUT 3 -+#define BUS_ERROR (-EREMOTEIO) -+#define ACK_DELAY 0 /* time to delay before checking bus error */ -+#define MAX_MESSAGES 65536 /* maximum number of messages to send */ -+ -+#define I2C_SLEEP_TIMEOUT 2 /* time to sleep for on i2c transactions */ -+#define I2C_RETRY (-2000) /* an error has occurred retry transmit */ -+#define I2C_TRANSMIT 1 -+#define I2C_RECEIVE 0 -+#define I2C_PXA_SLAVE_ADDR 0x1 /* slave pxa unit address */ -+#define I2C_ICR_INIT (ICR_BEIE | ICR_IRFIE | ICR_ITEIE | ICR_GCD | ICR_SCLE) /* ICR initialization value */ -+/* ICR initialize bit values -+* -+* 15. FM 0 (100 Khz operation) -+* 14. UR 0 (No unit reset) -+* 13. SADIE 0 (Disables the unit from interrupting on slave addresses -+* matching its slave address) -+* 12. ALDIE 0 (Disables the unit from interrupt when it loses arbitration -+* in master mode) -+* 11. SSDIE 0 (Disables interrupts from a slave stop detected, in slave mode) -+* 10. BEIE 1 (Enable interrupts from detected bus errors, no ACK sent) -+* 9. IRFIE 1 (Enable interrupts from full buffer received) -+* 8. ITEIE 1 (Enables the I2C unit to interrupt when transmit buffer empty) -+* 7. GCD 1 (Disables i2c unit response to general call messages as a slave) -+* 6. IUE 0 (Disable unit until we change settings) -+* 5. SCLE 1 (Enables the i2c clock output for master mode (drives SCL) -+* 4. MA 0 (Only send stop with the ICR stop bit) -+* 3. TB 0 (We are not transmitting a byte initially) -+* 2. ACKNAK 0 (Send an ACK after the unit receives a byte) -+* 1. STOP 0 (Do not send a STOP) -+* 0. START 0 (Do not send a START) -+* -+*/ -+ -+#define I2C_ISR_INIT 0x7FF /* status register init */ -+/* I2C status register init values -+ * -+ * 10. BED 1 (Clear bus error detected) -+ * 9. SAD 1 (Clear slave address detected) -+ * 7. IRF 1 (Clear IDBR Receive Full) -+ * 6. ITE 1 (Clear IDBR Transmit Empty) -+ * 5. ALD 1 (Clear Arbitration Loss Detected) -+ * 4. SSD 1 (Clear Slave Stop Detected) -+ */ -+ -+#endif ---- linux-2.6.5/include/linux/ioport.h~heh 2004-04-03 22:36:26.000000000 -0500 -+++ linux-2.6.5/include/linux/ioport.h 2004-04-30 20:57:36.000000000 -0400 -@@ -99,6 +99,7 @@ - void (*alignf)(void *, struct resource *, - unsigned long, unsigned long), - void *alignf_data); -+extern int reallocate_resource(struct resource *res, unsigned long start, unsigned long size); - int adjust_resource(struct resource *res, unsigned long start, - unsigned long size); - ---- /dev/null 2003-09-23 18:19:32.000000000 -0400 -+++ linux-2.6.5/include/linux/switches.h 2004-04-30 20:57:36.000000000 -0400 -@@ -0,0 +1,74 @@ -+/* -+ * linux/include/linux/switches.h -+ * -+ * Copyright (C) 2000 John Dorsey -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ * 23 October 2000 - created. -+ */ -+ -+#if !defined(_LINUX_SWITCHES_H) -+#define _LINUX_SWITCHES_H -+ -+#define SWITCHES_MASK_SIZE (128) -+ -+typedef unsigned long switches_bitfield; -+ -+#define SWITCHES_BITS (sizeof(switches_bitfield) * 8) -+#define SWITCHES_NUM_FIELDS (SWITCHES_MASK_SIZE / SWITCHES_BITS) -+#define SWITCHES_FIELD_SELECT(i) ((i) / SWITCHES_BITS) -+#define SWITCHES_FIELD_MASK(i) ((switches_bitfield)(1 << (i) % \ -+ SWITCHES_BITS)) -+ -+typedef struct switches_mask_t { -+ unsigned int count; -+ switches_bitfield events[SWITCHES_NUM_FIELDS]; -+ switches_bitfield states[SWITCHES_NUM_FIELDS]; -+} switches_mask_t; -+ -+#define SWITCHES_ZERO(m) \ -+do { \ -+ unsigned int sz_i; \ -+ (m)->count = 0; \ -+ for(sz_i = 0; sz_i < SWITCHES_NUM_FIELDS; ++sz_i) \ -+ (m)->events[sz_i] = (m)->states[sz_i] = 0; \ -+} while (0) -+ -+/* `s' is the state of the switch, either 0 or non-zero: */ -+#define SWITCHES_SET(m, i, s) \ -+do { \ -+ ((m)->events[SWITCHES_FIELD_SELECT((i))] |= \ -+ SWITCHES_FIELD_MASK((i))); \ -+ if(s) \ -+ ((m)->states[SWITCHES_FIELD_SELECT((i))] |= \ -+ SWITCHES_FIELD_MASK((i))); \ -+ else \ -+ ((m)->states[SWITCHES_FIELD_SELECT((i))] &= \ -+ ~SWITCHES_FIELD_MASK((i))); \ -+ ++((m)->count); \ -+} while (0) -+ -+/* Should only use to clear an event set by SWITCHES_SET(): */ -+#define SWITCHES_CLEAR(m, i) \ -+do { \ -+ ((m)->events[SWITCHES_FIELD_SELECT((i))] &= \ -+ ~SWITCHES_FIELD_MASK((i))); \ -+ ((m)->states[SWITCHES_FIELD_SELECT((i))] &= \ -+ ~SWITCHES_FIELD_MASK((i))); \ -+ --((m)->count); \ -+} -+ -+#define SWITCHES_COUNT(m) ((m)->count) -+ -+/* Returns 0 or non-zero: */ -+#define SWITCHES_EVENT(m, i) \ -+((m)->events[SWITCHES_FIELD_SELECT((i))] & SWITCHES_FIELD_MASK((i))) -+ -+/* Returns 0 or non-zero: */ -+#define SWITCHES_STATE(m, i) \ -+((m)->states[SWITCHES_FIELD_SELECT((i))] & SWITCHES_FIELD_MASK((i))) -+ -+#endif /* !defined(_LINUX_SWITCHES_H) */ ---- linux-2.6.5/include/linux/serial_reg.h~heh 2004-04-03 22:37:38.000000000 -0500 -+++ linux-2.6.5/include/linux/serial_reg.h 2004-04-30 20:57:36.000000000 -0400 -@@ -121,6 +121,7 @@ - /* - * These are the definitions for the Modem Control Register - */ -+#define UART_MCR_AFE 0x20 /* Enable auto-RTS/CTS (TI16C750) */ - #define UART_MCR_LOOP 0x10 /* Enable loopback test mode */ - #define UART_MCR_OUT2 0x08 /* Out2 complement */ - #define UART_MCR_OUT1 0x04 /* Out1 complement */ -@@ -156,6 +157,21 @@ - #define UART_FCR_PXAR32 0xc0 /* receive FIFO treshold = 32 */ - - /* -+ * The Intel PXA2xx chip defines those bits -+ */ -+#define UART_IER_DMAE 0x80 /* DMA Requests Enable */ -+#define UART_IER_UUE 0x40 /* UART Unit Enable */ -+#define UART_IER_NRZE 0x20 /* NRZ coding Enable */ -+#define UART_IER_RTOIE 0x10 /* Receiver Time Out Interrupt Enable */ -+ -+#define UART_IIR_TOD 0x08 /* Character Timeout Indication Detected */ -+ -+#define UART_FCR_PXAR1 0x00 /* receive FIFO treshold = 1 */ -+#define UART_FCR_PXAR8 0x40 /* receive FIFO treshold = 8 */ -+#define UART_FCR_PXAR16 0x80 /* receive FIFO treshold = 16 */ -+#define UART_FCR_PXAR32 0xc0 /* receive FIFO treshold = 32 */ -+ -+/* - * These are the definitions for the Extended Features Register - * (StarTech 16C660 only, when DLAB=1) - */ ---- /dev/null 2003-09-23 18:19:32.000000000 -0400 -+++ linux-2.6.5/include/linux/mmc/card.h 2004-04-30 20:57:36.000000000 -0400 -@@ -0,0 +1,83 @@ -+/* -+ * linux/include/linux/mmc/card.h -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ * Card driver specific definitions. -+ */ -+#ifndef LINUX_MMC_CARD_H -+#define LINUX_MMC_CARD_H -+ -+#include <linux/mmc/mmc.h> -+ -+struct mmc_cid { -+ unsigned int manfid; -+ unsigned int serial; -+ char prod_name[8]; -+ unsigned char hwrev; -+ unsigned char fwrev; -+ unsigned char month; -+ unsigned char year; -+}; -+ -+struct mmc_csd { -+ unsigned char mmc_prot; -+ unsigned short cmdclass; -+ unsigned short tacc_clks; -+ unsigned int tacc_ns; -+ unsigned int max_dtr; -+ unsigned int read_blkbits; -+ unsigned int capacity; -+}; -+ -+struct mmc_host; -+ -+/* -+ * MMC device -+ */ -+struct mmc_card { -+ struct list_head node; /* node in hosts devices list */ -+ struct mmc_host *host; /* the host this device belongs to */ -+ struct device dev; /* the device */ -+ unsigned int rca; /* relative card address of device */ -+ unsigned int state; /* (our) card state */ -+#define MMC_STATE_PRESENT (1<<0) -+#define MMC_STATE_DEAD (1<<1) -+ struct mmc_cid cid; /* card identification */ -+ struct mmc_csd csd; /* card specific */ -+}; -+ -+#define mmc_card_dead(c) ((c)->state & MMC_STATE_DEAD) -+#define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT) -+ -+#define mmc_card_name(c) ((c)->cid.prod_name) -+#define mmc_card_id(c) ((c)->dev.bus_id) -+ -+#define mmc_list_to_card(l) container_of(l, struct mmc_card, node) -+#define mmc_get_drvdata(c) dev_get_drvdata(&(c)->dev) -+#define mmc_set_drvdata(c,d) dev_set_drvdata(&(c)->dev, d) -+ -+/* -+ * MMC device driver (e.g., Flash card, I/O card...) -+ */ -+struct mmc_driver { -+ struct device_driver drv; -+ int (*probe)(struct mmc_card *); -+ void (*remove)(struct mmc_card *); -+ int (*suspend)(struct mmc_card *, u32); -+ int (*resume)(struct mmc_card *); -+}; -+ -+extern int mmc_register_driver(struct mmc_driver *); -+extern void mmc_unregister_driver(struct mmc_driver *); -+ -+static inline int mmc_card_claim_host(struct mmc_card *card) -+{ -+ return __mmc_claim_host(card->host, card); -+} -+ -+#define mmc_card_release_host(c) mmc_release_host((c)->host) -+ -+#endif ---- /dev/null 2003-09-23 18:19:32.000000000 -0400 -+++ linux-2.6.5/include/linux/mmc/mmc.h 2004-04-30 20:57:36.000000000 -0400 -@@ -0,0 +1,88 @@ -+/* -+ * linux/include/linux/mmc/mmc.h -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+#ifndef MMC_H -+#define MMC_H -+ -+#include <linux/list.h> -+#include <linux/interrupt.h> -+#include <linux/device.h> -+ -+struct request; -+struct mmc_data; -+struct mmc_request; -+ -+struct mmc_command { -+ u32 opcode; -+ u32 arg; -+ u32 resp[4]; -+ unsigned int flags; /* expected response type */ -+#define MMC_RSP_NONE (0 << 0) -+#define MMC_RSP_SHORT (1 << 0) -+#define MMC_RSP_LONG (2 << 0) -+#define MMC_RSP_MASK (3 << 0) -+#define MMC_RSP_CRC (1 << 3) /* expect valid crc */ -+#define MMC_RSP_BUSY (1 << 4) /* card may send busy */ -+ -+ unsigned int retries; /* max number of retries */ -+ unsigned int error; /* command error */ -+ -+#define MMC_ERR_NONE 0 -+#define MMC_ERR_TIMEOUT 1 -+#define MMC_ERR_BADCRC 2 -+#define MMC_ERR_FIFO 3 -+#define MMC_ERR_FAILED 4 -+#define MMC_ERR_INVALID 5 -+ -+ struct mmc_data *data; /* data segment associated with cmd */ -+ struct mmc_request *req; /* assoicated request */ -+}; -+ -+struct mmc_data { -+ unsigned int timeout_ns; /* data timeout (in ns, max 80ms) */ -+ unsigned int timeout_clks; /* data timeout (in clocks) */ -+ unsigned int blksz_bits; /* data block size */ -+ unsigned int blocks; /* number of blocks */ -+ struct request *rq; /* request structure */ -+ unsigned int error; /* data error */ -+ unsigned int flags; -+ -+#define MMC_DATA_WRITE (1 << 8) -+#define MMC_DATA_READ (1 << 9) -+#define MMC_DATA_STREAM (1 << 10) -+ -+ unsigned int bytes_xfered; -+ -+ struct mmc_command *stop; /* stop command */ -+ struct mmc_request *req; /* assoicated request */ -+}; -+ -+struct mmc_request { -+ struct mmc_command *cmd; -+ struct mmc_data *data; -+ struct mmc_command *stop; -+ -+ void *done_data; /* completion data */ -+ void (*done)(struct mmc_request *);/* completion function */ -+}; -+ -+struct mmc_host; -+struct mmc_card; -+ -+extern int mmc_wait_for_req(struct mmc_host *, struct mmc_request *); -+extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int); -+ -+extern int __mmc_claim_host(struct mmc_host *host, struct mmc_card *card); -+ -+static inline void mmc_claim_host(struct mmc_host *host) -+{ -+ __mmc_claim_host(host, (struct mmc_card *)-1); -+} -+ -+extern void mmc_release_host(struct mmc_host *host); -+ -+#endif ---- /dev/null 2003-09-23 18:19:32.000000000 -0400 -+++ linux-2.6.5/include/linux/mmc/host.h 2004-04-30 20:57:36.000000000 -0400 -@@ -0,0 +1,67 @@ -+/* -+ * linux/include/linux/mmc/host.h -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ * Host driver specific definitions. -+ */ -+#ifndef LINUX_MMC_HOST_H -+#define LINUX_MMC_HOST_H -+ -+#include <linux/mmc/mmc.h> -+ -+struct mmc_ios { -+ unsigned int clock; /* clock rate */ -+ unsigned short vdd; /* supply (units of 10mV) */ -+ unsigned char bus_mode; /* command output mode */ -+ -+#define MMC_BUSMODE_OPENDRAIN 1 -+#define MMC_BUSMODE_PUSHPULL 2 -+ -+ unsigned char power_mode; /* power supply mode */ -+ -+#define MMC_POWER_OFF 0 -+#define MMC_POWER_UP 1 -+#define MMC_POWER_ON 2 -+}; -+ -+struct mmc_host_ops { -+ void (*request)(struct mmc_host *host, struct mmc_request *req); -+ void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); -+}; -+ -+struct mmc_card; -+ -+struct mmc_host { -+ struct device *dev; -+ struct mmc_host_ops *ops; -+ unsigned int f_min; -+ unsigned int f_max; -+ u32 ocr_avail; -+ -+ /* private data */ -+ unsigned int host_num; /* host number */ -+ struct mmc_ios ios; /* current io bus settings */ -+ u32 ocr; /* the current OCR setting */ -+ -+ struct list_head cards; /* devices attached to this host */ -+ -+ wait_queue_head_t wq; -+ spinlock_t lock; /* card_busy lock */ -+ struct mmc_card *card_busy; /* the MMC card claiming host */ -+ struct mmc_card *card_selected; /* the selected MMC card */ -+}; -+ -+extern int mmc_init_host(struct mmc_host *); -+extern int mmc_add_host(struct mmc_host *); -+extern void mmc_remove_host(struct mmc_host *); -+extern int mmc_suspend_host(struct mmc_host *, u32); -+extern int mmc_resume_host(struct mmc_host *); -+ -+extern void mmc_detect_change(struct mmc_host *); -+extern void mmc_request_done(struct mmc_host *, struct mmc_request *); -+ -+#endif -+ ---- /dev/null 2003-09-23 18:19:32.000000000 -0400 -+++ linux-2.6.5/include/linux/mmc/protocol.h 2004-04-30 20:57:36.000000000 -0400 -@@ -0,0 +1,203 @@ -+/* -+ * Header for MultiMediaCard (MMC) -+ * -+ * Copyright 2002 Hewlett-Packard Company -+ * -+ * Use consistent with the GNU GPL is permitted, -+ * provided that this copyright notice is -+ * preserved in its entirety in all copies and derived works. -+ * -+ * HEWLETT-PACKARD COMPANY MAKES NO WARRANTIES, EXPRESSED OR IMPLIED, -+ * AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS -+ * FITNESS FOR ANY PARTICULAR PURPOSE. -+ * -+ * Many thanks to Alessandro Rubini and Jonathan Corbet! -+ * -+ * Based strongly on code by: -+ * -+ * Author: Yong-iL Joh <tolkien@mizi.com> -+ * Date : $Date: 2002/06/18 12:37:30 $ -+ * -+ * Author: Andrew Christian -+ * 15 May 2002 -+ */ -+ -+#ifndef MMC_MMC_PROTOCOL_H -+#define MMC_MMC_PROTOCOL_H -+ -+/* Standard MMC commands (3.1) type argument response */ -+ /* class 1 */ -+#define MMC_GO_IDLE_STATE 0 /* bc */ -+#define MMC_SEND_OP_COND 1 /* bcr [31:0] OCR R3 */ -+#define MMC_ALL_SEND_CID 2 /* bcr R2 */ -+#define MMC_SET_RELATIVE_ADDR 3 /* ac [31:16] RCA R1 */ -+#define MMC_SET_DSR 4 /* bc [31:16] RCA */ -+#define MMC_SELECT_CARD 7 /* ac [31:16] RCA R1 */ -+#define MMC_SEND_CSD 9 /* ac [31:16] RCA R2 */ -+#define MMC_SEND_CID 10 /* ac [31:16] RCA R2 */ -+#define MMC_READ_DAT_UNTIL_STOP 11 /* adtc [31:0] dadr R1 */ -+#define MMC_STOP_TRANSMISSION 12 /* ac R1b */ -+#define MMC_SEND_STATUS 13 /* ac [31:16] RCA R1 */ -+#define MMC_GO_INACTIVE_STATE 15 /* ac [31:16] RCA */ -+ -+ /* class 2 */ -+#define MMC_SET_BLOCKLEN 16 /* ac [31:0] block len R1 */ -+#define MMC_READ_SINGLE_BLOCK 17 /* adtc [31:0] data addr R1 */ -+#define MMC_READ_MULTIPLE_BLOCK 18 /* adtc [31:0] data addr R1 */ -+ -+ /* class 3 */ -+#define MMC_WRITE_DAT_UNTIL_STOP 20 /* adtc [31:0] data addr R1 */ -+ -+ /* class 4 */ -+#define MMC_SET_BLOCK_COUNT 23 /* adtc [31:0] data addr R1 */ -+#define MMC_WRITE_BLOCK 24 /* adtc [31:0] data addr R1 */ -+#define MMC_WRITE_MULTIPLE_BLOCK 25 /* adtc R1 */ -+#define MMC_PROGRAM_CID 26 /* adtc R1 */ -+#define MMC_PROGRAM_CSD 27 /* adtc R1 */ -+ -+ /* class 6 */ -+#define MMC_SET_WRITE_PROT 28 /* ac [31:0] data addr R1b */ -+#define MMC_CLR_WRITE_PROT 29 /* ac [31:0] data addr R1b */ -+#define MMC_SEND_WRITE_PROT 30 /* adtc [31:0] wpdata addr R1 */ -+ -+ /* class 5 */ -+#define MMC_ERASE_GROUP_START 35 /* ac [31:0] data addr R1 */ -+#define MMC_ERASE_GROUP_END 36 /* ac [31:0] data addr R1 */ -+#define MMC_ERASE 37 /* ac R1b */ -+ -+ /* class 9 */ -+#define MMC_FAST_IO 39 /* ac <Complex> R4 */ -+#define MMC_GO_IRQ_STATE 40 /* bcr R5 */ -+ -+ /* class 7 */ -+#define MMC_LOCK_UNLOCK 42 /* adtc R1b */ -+ -+ /* class 8 */ |
