diff options
Diffstat (limited to 'linux/openzaurus-2.6.10-rc1-jl1/patch-2.6.5-rp1.diff')
-rw-r--r-- | linux/openzaurus-2.6.10-rc1-jl1/patch-2.6.5-rp1.diff | 881 |
1 files changed, 0 insertions, 881 deletions
diff --git a/linux/openzaurus-2.6.10-rc1-jl1/patch-2.6.5-rp1.diff b/linux/openzaurus-2.6.10-rc1-jl1/patch-2.6.5-rp1.diff deleted file mode 100644 index 5d69785a47..0000000000 --- a/linux/openzaurus-2.6.10-rc1-jl1/patch-2.6.5-rp1.diff +++ /dev/null @@ -1,881 +0,0 @@ -diff -uNr linux-2.6.5-orig/arch/arm/Kconfig linux-2.6.5/arch/arm/Kconfig ---- linux-2.6.5-orig/arch/arm/Kconfig 2004-06-14 20:31:51.000000000 +0100 -+++ linux-2.6.5/arch/arm/Kconfig 2004-06-14 20:33:06.000000000 +0100 -@@ -500,7 +500,7 @@ - - config LEDS - bool "Timer and CPU usage LEDs" -- depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_FTVPCI || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || MACH_POODLE || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T -+ depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_FTVPCI || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || MACH_POODLE || MACH_HUSKY || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T - help - If you say Y here, the LEDs on your machine will be used - to provide useful information about your current system status. -@@ -513,8 +513,8 @@ - system, but the driver will do nothing. - - config LEDS_TIMER -- bool "Timer LED" if LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || MACH_POODLE || ARCH_INTEGRATOR || ARCH_P720T) -- depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_FTVPCI || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || MACH_POODLE || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T -+ bool "Timer LED" if LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || MACH_POODLE || MACH_HUSKY || ARCH_INTEGRATOR || ARCH_P720T) -+ depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_FTVPCI || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || MACH_POODLE || MACH_HUSKY || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T - default y if ARCH_EBSA110 - help - If you say Y here, one of the system LEDs (the green one on the -@@ -529,7 +529,7 @@ - - config LEDS_CPU - bool "CPU usage LED" -- depends on LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || MACH_POODLE || ARCH_INTEGRATOR || ARCH_P720T) -+ depends on LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || MACH_POODLE || MACH_HUSKY || ARCH_INTEGRATOR || ARCH_P720T) - help - If you say Y here, the red LED will be used to give a good real - time indication of CPU usage, by lighting whenever the idle task -diff -uNr linux-2.6.5-orig/arch/arm/Makefile linux-2.6.5/arch/arm/Makefile ---- linux-2.6.5-orig/arch/arm/Makefile 2004-06-14 20:31:51.000000000 +0100 -+++ linux-2.6.5/arch/arm/Makefile 2004-06-14 20:33:06.000000000 +0100 -@@ -54,8 +54,8 @@ - tune-$(CONFIG_CPU_V6) :=-mtune=strongarm - - # Need -Uarm for gcc < 3.x --CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm --AFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -msoft-float -Wa,-mno-fpu -+CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -malignment-traps -msoft-float -+AFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -msoft-float - - #Default value - DATAADDR := . -diff -uNr linux-2.6.5-orig/arch/arm/boot/compressed/Makefile linux-2.6.5/arch/arm/boot/compressed/Makefile ---- linux-2.6.5-orig/arch/arm/boot/compressed/Makefile 2004-06-14 20:31:52.000000000 +0100 -+++ linux-2.6.5/arch/arm/boot/compressed/Makefile 2004-06-14 20:33:06.000000000 +0100 -@@ -55,14 +55,18 @@ - OBJS += head-xscale.o - endif - -+ifeq ($(CONFIG_DEBUG_ICEDCC),y) -+OBJS += ice-dcc.o -+endif -+ - SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/LOAD_ADDR/$(ZRELADDR)/;s/BSS_START/$(ZBSSADDR)/ - - targets := vmlinux vmlinux.lds piggy piggy.gz piggy.o \ - font.o head.o $(OBJS) - EXTRA_CFLAGS := -fpic --EXTRA_AFLAGS := -traditional -+EXTRA_AFLAGS := - --LDFLAGS_vmlinux := -p -X \ -+LDFLAGS_vmlinux := -p --no-undefined -X \ - $(shell $(CC) $(CFLAGS) --print-libgcc-file-name) -T - - $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.o \ -diff -uNr linux-2.6.5-orig/arch/arm/boot/compressed/head-xscale.S linux-2.6.5/arch/arm/boot/compressed/head-xscale.S ---- linux-2.6.5-orig/arch/arm/boot/compressed/head-xscale.S 2004-06-14 20:31:52.000000000 +0100 -+++ linux-2.6.5/arch/arm/boot/compressed/head-xscale.S 2004-06-14 20:33:06.000000000 +0100 -@@ -52,6 +52,18 @@ - mov r7, #MACH_TYPE_POODLE - #endif - -+#ifdef CONFIG_MACH_CORGI -+@ mov r7, #MACH_TYPE_CORGI -+ mov r7, #0xa7 -+ add r7, r7, #0x100 -+#endif -+ -+#ifdef CONFIG_MACH_HUSKY -+@ mov r7, #MACH_TYPE_HUSKY -+ mov r7, #0xde -+ add r7, r7, #0x100 -+#endif -+ - #ifdef CONFIG_ARCH_IQ80310 - /* - * Crank the CPU up to 733MHz -diff -uNr linux-2.6.5-orig/arch/arm/boot/compressed/head.S linux-2.6.5/arch/arm/boot/compressed/head.S ---- linux-2.6.5-orig/arch/arm/boot/compressed/head.S 2004-06-14 20:31:53.000000000 +0100 -+++ linux-2.6.5/arch/arm/boot/compressed/head.S 2004-06-14 20:33:06.000000000 +0100 -@@ -10,6 +10,8 @@ - #include <linux/config.h> - #include <linux/linkage.h> - -+#define DEBUG 1 -+ - /* - * Debugging stuff - * -@@ -25,6 +27,12 @@ - .macro writeb, rb - str \rb, [r3, #0x160] - .endm -+#elif defined(CONFIG_DEBUG_ICEDCC) -+ .macro loadsp, rb -+ .endm -+ .macro writeb, rb -+ mcr p14, 0, \rb, c0, c1, 0 -+ .endm - #elif defined(CONFIG_FOOTBRIDGE) - .macro loadsp, rb - mov \rb, #0x7c000000 -@@ -67,6 +75,19 @@ - .macro writeb, rb - str \rb, [r3, #0x14] @ UTDR - .endm -+#elif defined(CONFIG_ARCH_IXP4XX) -+ .macro loadsp, rb -+ mov \rb, #0xc8000000 -+ .endm -+ .macro writeb, rb -+ str \rb, [r3, #0] -+#elif defined(CONFIG_ARCH_LH7A40X) -+ .macro loadsp, rb -+ ldr \rb, =0x80000700 @ UART2 UARTBASE -+ .endm -+ .macro writeb, rb -+ strb \rb, [r3, #0] -+ .endm - #else - #error no serial architecture defined - #endif -@@ -332,11 +353,19 @@ - mov r8, r0, lsr #18 - mov r8, r8, lsl #18 @ start of RAM - add r9, r8, #0x10000000 @ a reasonable RAM size -- mov r1, #0x12 -+@#ifdef CONFIG_CPU_XSCALE -+ mov r1, #0x02 -+@#else -+@ mov r1, #0x12 -+@#endif - orr r1, r1, #3 << 10 - add r2, r3, #16384 - 1: cmp r1, r8 @ if virt > start of RAM -- orrhs r1, r1, #0x0c @ set cacheable, bufferable -+@#ifdef CONFIG_XSCALE_CACHE_ERRATA -+ orrhs r1, r1, #0x08 @ set cacheable, not bufferable -+@#else -+@ orrhs r1, r1, #0x0c @ set cacheable, bufferable -+@#endif - cmp r1, r9 @ if virt > end of RAM - bichs r1, r1, #0x0c @ clear cacheable, bufferable - str r1, [r0], #4 @ 1:1 mapping -diff -uNr linux-2.6.5-orig/arch/arm/boot/compressed/vmlinux.lds.in linux-2.6.5/arch/arm/boot/compressed/vmlinux.lds.in ---- linux-2.6.5-orig/arch/arm/boot/compressed/vmlinux.lds.in 2004-06-14 20:31:53.000000000 +0100 -+++ linux-2.6.5/arch/arm/boot/compressed/vmlinux.lds.in 2004-06-14 20:33:06.000000000 +0100 -@@ -47,7 +47,7 @@ - .bss : { *(.bss) } - _end = .; - -- .stack (NOLOAD) : { *(.stack) } -+ .stack : { *(.stack) } - - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } -diff -uNr linux-2.6.5-orig/arch/arm/mach-pxa/Kconfig linux-2.6.5/arch/arm/mach-pxa/Kconfig ---- linux-2.6.5-orig/arch/arm/mach-pxa/Kconfig 2004-06-14 20:31:53.000000000 +0100 -+++ linux-2.6.5/arch/arm/mach-pxa/Kconfig 2004-06-14 20:33:06.000000000 +0100 -@@ -13,10 +13,23 @@ - bool "SHARP Poodle" - depends on ARCH_PXA - -+config MACH_CORGI -+ bool "SHARP Corgi (SL-C700)" -+ depends on ARCH_PXA -+ -+config MACH_SHEPHERD -+ bool "SHARP Shepherd (SL-C750)" -+ depends on ARCH_PXA -+ -+config MACH_HUSKY -+ bool "SHARP Husky (SL-C760)" -+ depends on ARCH_PXA -+ - config SHARP_LOCOMO - bool "SHARP LoCoMo support" - default Y -- depends MACH_POODLE -+ depends MACH_POODLE || MACH_CORGI || MACH_HUSKY -+ - - endmenu - -diff -uNr linux-2.6.5-orig/arch/arm/mach-pxa/Makefile linux-2.6.5/arch/arm/mach-pxa/Makefile ---- linux-2.6.5-orig/arch/arm/mach-pxa/Makefile 2004-06-14 20:31:54.000000000 +0100 -+++ linux-2.6.5/arch/arm/mach-pxa/Makefile 2004-06-14 20:33:06.000000000 +0100 -@@ -9,12 +9,18 @@ - obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o - obj-$(CONFIG_ARCH_PXA_IDP) += idp.o - obj-$(CONFIG_MACH_POODLE) += poodle.o -+obj-$(CONFIG_MACH_CORGI) += corgi.o -+obj-$(CONFIG_MACH_SHEPHERD) += corgi.o -+obj-$(CONFIG_MACH_HUSKY) += corgi.o - - # Support for blinky lights - led-y := leds.o - led-$(CONFIG_ARCH_LUBBOCK) += leds-lubbock.o - led-$(CONFIG_ARCH_PXA_IDP) += leds-idp.o - led-$(CONFIG_MACH_POODLE) += leds-poodle.o -+led-$(CONFIG_MACH_CORGI) += leds-corgi.o -+led-$(CONFIG_MACH_SHEPHERD) += leds-corgi.o -+led-$(CONFIG_MACH_HUSKY) += leds-corgi.o - - obj-$(CONFIG_LEDS) += $(led-y) - -diff -uNr linux-2.6.5-orig/arch/arm/mach-pxa/corgi.c linux-2.6.5/arch/arm/mach-pxa/corgi.c ---- linux-2.6.5-orig/arch/arm/mach-pxa/corgi.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.5/arch/arm/mach-pxa/corgi.c 2004-06-14 20:33:19.000000000 +0100 -@@ -0,0 +1,178 @@ -+/* -+ * linux/arch/arm/mach-pxa/corgi.c -+ * -+ * Support for the SHARP Corgi Board. -+ * -+ * Copyright: Lineo Japan Inc. -+ * -+ * Based on: -+ * linux/arch/arm/mach-pxa/lubbock.c -+ * -+ * Support for the Intel DBPXA250 Development Platform. -+ * -+ * Author: Nicolas Pitre -+ * Created: Jun 15, 2001 -+ * Copyright: MontaVista 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. -+ * -+ * Change Log -+ * 12-Dec-2002 Sharp Corporation for Corgi -+ * 01-Apr-2003 Sharp for Shepherd -+ * -+ * Mar 10, 2004: Lots of changes to port to 2.6 by John Lenz -+ * -+ */ -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/device.h> -+#include <linux/major.h> -+#include <linux/fs.h> -+#include <linux/interrupt.h> -+ -+#include <asm/setup.h> -+#include <asm/memory.h> -+#include <asm/mach-types.h> -+#include <asm/hardware.h> -+#include <asm/irq.h> -+ -+#include <asm/mach/arch.h> -+#include <asm/mach/map.h> -+#include <asm/mach/irq.h> -+ -+#include <asm/arch/irq.h> -+#include <asm/arch/corgi.h> -+ -+#include "generic.h" -+ -+static void __init scoop_init(void) -+{ -+ -+#define CORGI_SCP_INIT_DATA(adr,dat) (((adr)<<16)|(dat)) -+#define CORGI_SCP_INIT_DATA_END ((unsigned long)-1) -+ static const unsigned long scp_init[] = -+ { -+ CORGI_SCP_INIT_DATA(CORGI_SCP_MCR,0x0140), // 00 -+ CORGI_SCP_INIT_DATA(CORGI_SCP_MCR,0x0100), -+ CORGI_SCP_INIT_DATA(CORGI_SCP_CDR,0x0000), // 04 -+ CORGI_SCP_INIT_DATA(CORGI_SCP_CPR,0x0000), // 0C -+ CORGI_SCP_INIT_DATA(CORGI_SCP_CCR,0x0000), // 10 -+ CORGI_SCP_INIT_DATA(CORGI_SCP_IMR,0x0000), // 18 -+ CORGI_SCP_INIT_DATA(CORGI_SCP_IRM,0x00FF), // 14 -+ CORGI_SCP_INIT_DATA(CORGI_SCP_ISR,0x0000), // 1C -+ CORGI_SCP_INIT_DATA(CORGI_SCP_IRM,0x0000), -+ CORGI_SCP_INIT_DATA(CORGI_SCP_GPCR,CORGI_SCP_IO_DIR), // 20 -+ CORGI_SCP_INIT_DATA(CORGI_SCP_GPWR,CORGI_SCP_IO_OUT), // 24 -+ CORGI_SCP_INIT_DATA_END -+ }; -+ int i; -+ for(i=0; scp_init[i] != CORGI_SCP_INIT_DATA_END; i++) -+ { -+ int adr = scp_init[i] >> 16; -+ CORGI_SCP_REG(adr) = scp_init[i] & 0xFFFF; -+ } -+} -+ -+static void __init corgi_init_irq(void) -+{ -+ pxa_init_irq(); -+ -+ /* setup extra corgi irqs */ -+ -+ /* i2c initialize */ -+ //i2c_init(); RPP Fixme! -+ -+ /* scoop initialize */ -+ scoop_init(); -+ -+ /* initialize SSP & CS */ -+ /*pxa_ssp_init();*/ -+} -+ -+#if 0 -+static void __init -+fixup_corgi(struct machine_desc *desc, struct param_struct *params, -+ char **cmdline, struct meminfo *mi) -+{ -+#if defined(CONFIG_MACH_SHEPHERD) || defined(CONFIG_MACH_HUSKY) -+ SET_BANK (0, 0xa0000000, 64*1024*1024); -+#else -+ SET_BANK (0, 0xa0000000, 32*1024*1024); -+#endif -+ mi->nr_banks = 1; -+#if defined(CONFIG_BLK_DEV_INITRD) -+ setup_ramdisk (1, 0, 0, 8192); -+ setup_initrd (__phys_to_virt(0xa1000000), 4*1024*1024); -+ ROOT_DEV = MKDEV(RAMDISK_MAJOR,0); -+#elif defined(CONFIG_MTD) -+ ROOT_DEV = MKDEV(31, 0); /* /dev/mtdblock0 */ -+#endif -+ -+#ifdef CONFIG_SHARPSL_BOOTLDR_PARAMS -+ if (params->u1.s.page_size != PAGE_SIZE) { -+ params->u1.s.page_size = PAGE_SIZE; -+ params->u1.s.nr_pages = 32 * 1024 * 1024 / PAGE_SIZE; -+ params->u1.s.ramdisk_size = 0; -+ params->u1.s.flags = FLAG_READONLY | FLAG_RDLOAD | FLAG_RDPROMPT; -+ params->u1.s.rootdev = ROOT_DEV; -+ params->u1.s.initrd_start = 0; -+ params->u1.s.initrd_size = 0; -+ params->u1.s.rd_start = 0; -+ params->u1.s.system_rev = 0; -+ params->u1.s.system_serial_low = 0; -+ params->u1.s.system_serial_high = 0; -+ strcpy(params->commandline, CONFIG_CMDLINE); -+ } -+#endif -+} -+#endif -+ -+static struct map_desc corgi_io_desc[] __initdata = { -+ /* virtual physical length */ -+ { 0xf1000000, 0x08000000, 0x01000000, MT_DEVICE }, /* LCDC (readable for Qt driver) */ -+ { 0xf2000000, 0x10800000, 0x00001000, MT_DEVICE }, /* SCOOP */ -+ { 0xf2100000, 0x0C000000, 0x00001000, MT_DEVICE }, /* Nand Flash */ -+ { 0xef000000, 0x00000000, 0x00800000, MT_DEVICE }, /* Boot Flash */ -+}; -+ -+static void __init corgi_map_io(void) -+{ -+ pxa_map_io(); -+ iotable_init(corgi_io_desc,ARRAY_SIZE(corgi_io_desc)); -+ -+#if 0 -+ /* This enables the BTUART */ -+ CKEN |= CKEN7_BTUART; -+ set_GPIO_mode(GPIO42_BTRXD_MD); -+ set_GPIO_mode(GPIO43_BTTXD_MD); -+ set_GPIO_mode(GPIO44_BTCTS_MD); -+ set_GPIO_mode(GPIO45_BTRTS_MD); -+#endif -+ -+ /* setup sleep mode values */ -+ PWER = 0x00000002; -+ PFER = 0x00000000; -+ PRER = 0x00000002; -+ PGSR0 = 0x0158C000; -+ PGSR1 = 0x00FF0080; -+ PGSR2 = 0x0001C004; -+ PCFR |= PCFR_OPDE; -+} -+ -+#if defined(CONFIG_MACH_SHEPHERD) -+MACHINE_START(SHEPHERD, "SHARP Shepherd") -+#elseif defined(CONFIG_MACH_HUSKY) -+MACHINE_START(HUSKY, "SHARP Husky") -+#else -+MACHINE_START(CORGI, "SHARP Corgi") -+#endif -+ BOOT_MEM(0xa0000000, 0x40000000, io_p2v(0x40000000)) -+#ifdef CONFIG_SHARPSL_BOOTLDR_PARAMS -+ BOOT_PARAMS(0xa0000100) -+#endif -+/* FIXUP(fixup_corgi)*/ -+ MAPIO(corgi_map_io) -+ INITIRQ(corgi_init_irq) -+MACHINE_END -diff -uNr linux-2.6.5-orig/arch/arm/mach-pxa/leds-corgi.c linux-2.6.5/arch/arm/mach-pxa/leds-corgi.c ---- linux-2.6.5-orig/arch/arm/mach-pxa/leds-corgi.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.5/arch/arm/mach-pxa/leds-corgi.c 2004-06-14 20:33:19.000000000 +0100 -@@ -0,0 +1,135 @@ -+/* -+ * linux/arch/arm/mach-pxa/leds-corgi.c -+ * -+ * 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. -+ * -+ * Copied from arch/arm/mach-sa1100/leds-collie.c -+ * ChangeLog: -+ * - John Lenz <4/27/04> - added support for new locomo device model -+ */ -+ -+#include <linux/config.h> -+#include <linux/init.h> -+#include <linux/device.h> -+ -+#include <asm/hardware.h> -+#include <asm/hardware/locomo.h> -+#include <asm/leds.h> -+#include <asm/system.h> -+ -+#include "leds.h" -+ -+#define LED_STATE_ENABLED 1 -+#define LED_STATE_CLAIMED 2 -+ -+static struct locomo_dev *locomo_dev = NULL; -+static unsigned int led_state; -+static unsigned int hw_led0_state = 0; -+static unsigned int hw_led1_state = 0; -+ -+#define LED_ONOFF_MASK (LOCOMO_LPT_TOFL|LOCOMO_LPT_TOFH) -+#define LED_OFF(REG) ((REG)|=LOCOMO_LPT_TOFL) -+#define LED_ON(REG) ((REG)=((REG)&~LED_ONOFF_MASK)|LOCOMO_LPT_TOFH) -+#define LED_FLIP(REG) ((REG)^=LED_ONOFF_MASK) -+ -+void corgi_leds_event(led_event_t evt) -+{ -+ unsigned long flags; -+ -+ local_irq_save(flags); -+ -+ switch (evt) { -+ case led_start: -+ led_state = LED_STATE_ENABLED; -+ LED_ON(hw_led0_state); -+ LED_ON(hw_led1_state); -+ break; -+ -+ case led_stop: -+ led_state &= ~LED_STATE_ENABLED; -+ break; -+ -+ case led_claim: -+ led_state |= LED_STATE_CLAIMED; -+ LED_ON(hw_led0_state); -+ LED_ON(hw_led1_state); -+ break; -+ -+ case led_release: -+ led_state &= ~LED_STATE_CLAIMED; -+ LED_ON(hw_led0_state); -+ LED_ON(hw_led1_state); -+ break; -+ -+#ifdef CONFIG_LEDS_TIMER -+ case led_timer: -+ if (!(led_state & LED_STATE_CLAIMED)) { -+ LED_FLIP(hw_led0_state); -+ } -+ break; -+#endif -+ -+#ifdef CONFIG_LEDS_CPU -+ case led_idle_start: -+ /* LED off when system is idle */ -+ if (!(led_state & LED_STATE_CLAIMED)) -+ LED_OFF(hw_led1_state); -+ break; -+ -+ case led_idle_end: -+ if (!(led_state & LED_STATE_CLAIMED)) -+ LED_ON(hw_led1_state); -+ break; -+#endif -+ -+ default: -+ break; -+ } -+ -+ -+ if (locomo_dev && led_state & LED_STATE_ENABLED) { -+ locomo_writel(hw_led0_state, locomo_dev->mapbase + LOCOMO_LPT0); -+ locomo_writel(hw_led1_state, locomo_dev->mapbase + LOCOMO_LPT1); -+ } -+ -+ local_irq_restore(flags); -+} -+ -+static int corgiled_probe(struct locomo_dev *dev) { -+ /* set up the initial led states, since due to the init order, -+ * corgi_leds_event(led_start) might have been called before this */ -+ /*if (led_state & LED_STATE_ENABLED) { -+ //LCM_LPT0 = hw_led0_state; -+ locomo_writel(hw_led0_state, dev->mapbase + LOCOMO_LPT0); -+ //LCM_LPT1 = hw_led1_state; -+ locomo_writel(hw_led1_state, dev->mapbase + LOCOMO_LPT1); -+ }*/ -+ locomo_dev = dev; -+ return 0; -+} -+ -+static int corgiled_remove(struct locomo_dev *dev) { -+ locomo_dev = NULL; -+ return 0; -+} -+ -+static struct locomo_driver corgiled_driver = { -+ .drv = { -+ .name = "locomoled" -+ }, -+ .devid = LOCOMO_DEVID_LED, -+ .probe = corgiled_probe, -+ .remove = corgiled_remove, -+}; -+ -+static int __init corgiled_init(void) { -+ return locomo_driver_register(&corgiled_driver); -+} -+ -+device_initcall(corgiled_init); -+ -+MODULE_AUTHOR("John Lenz <jelenz@wisc.edu>"); -+MODULE_DESCRIPTION("LoCoMo Corgi LED driver"); -+MODULE_LICENSE("GPL"); -diff -uNr linux-2.6.5-orig/arch/arm/mach-pxa/leds.c linux-2.6.5/arch/arm/mach-pxa/leds.c ---- linux-2.6.5-orig/arch/arm/mach-pxa/leds.c 2004-06-14 20:31:54.000000000 +0100 -+++ linux-2.6.5/arch/arm/mach-pxa/leds.c 2004-06-14 20:33:06.000000000 +0100 -@@ -24,7 +24,8 @@ - leds_event = idp_leds_event; - if (machine_is_poodle()) - leds_event = poodle_leds_event; -- -+ if (machine_is_corgi()) -+ leds_event = corgi_leds_event; - leds_event(led_start); - return 0; - } -diff -uNr linux-2.6.5-orig/arch/arm/mach-pxa/leds.h linux-2.6.5/arch/arm/mach-pxa/leds.h ---- linux-2.6.5-orig/arch/arm/mach-pxa/leds.h 2004-06-14 20:31:54.000000000 +0100 -+++ linux-2.6.5/arch/arm/mach-pxa/leds.h 2004-06-14 20:33:06.000000000 +0100 -@@ -10,3 +10,4 @@ - extern void lubbock_leds_event(led_event_t evt); - extern void idp_leds_event(led_event_t evt); - extern void poodle_leds_event(led_event_t evt); -+extern void corgi_leds_event(led_event_t evt); -diff -uNr linux-2.6.5-orig/arch/arm/tools/mach-types linux-2.6.5/arch/arm/tools/mach-types ---- linux-2.6.5-orig/arch/arm/tools/mach-types 2004-06-14 20:31:55.000000000 +0100 -+++ linux-2.6.5/arch/arm/tools/mach-types 2004-06-14 20:33:06.000000000 +0100 -@@ -485,3 +485,4 @@ - vr1000 MACH_VR1000 VR1000 475 - deisterpxa MACH_DEISTERPXA DEISTERPXA 476 - bcm1160 MACH_BCM1160 BCM1160 477 -+husky MACH_HUSKY HUSKY 478 -\ No newline at end of file -diff -uNr linux-2.6.5-orig/drivers/serial/8250.c linux-2.6.5/drivers/serial/8250.c ---- linux-2.6.5-orig/drivers/serial/8250.c 2004-06-14 20:31:55.000000000 +0100 -+++ linux-2.6.5/drivers/serial/8250.c 2004-06-14 20:33:06.000000000 +0100 -@@ -169,7 +169,8 @@ - { "ST16654", 64, UART_CLEAR_FIFO | UART_USE_FIFO | UART_STARTECH }, - { "XR16850", 128, UART_CLEAR_FIFO | UART_USE_FIFO | UART_STARTECH }, - { "RSA", 2048, UART_CLEAR_FIFO | UART_USE_FIFO }, -- { "NS16550A", 16, UART_CLEAR_FIFO | UART_USE_FIFO | UART_NATSEMI } -+ { "NS16550A", 16, UART_CLEAR_FIFO | UART_USE_FIFO | UART_NATSEMI }, -+ { "XScale", 32, UART_CLEAR_FIFO | UART_USE_FIFO }, - }; - - static _INLINE_ unsigned int serial_in(struct uart_8250_port *up, int offset) -@@ -1499,6 +1500,8 @@ - up->ier &= ~UART_IER_MSI; - if (UART_ENABLE_MS(&up->port, termios->c_cflag)) - up->ier |= UART_IER_MSI; -+ if (up->port.type == PORT_XSCALE) -+ up->ier |= UART_IER_UUE | UART_IER_RTOIE; - - serial_out(up, UART_IER, up->ier); - -@@ -1930,7 +1933,11 @@ - * First save the UER then disable the interrupts - */ - ier = serial_in(up, UART_IER); -- serial_out(up, UART_IER, 0); -+ -+ if (up->port.type == PORT_XSCALE) -+ serial_out(up, UART_IER, UART_IER_UUE); -+ else -+ serial_out(up, UART_IER, 0); - - /* - * Now, do each character -diff -uNr linux-2.6.5-orig/include/asm-arm/arch-pxa/corgi.h linux-2.6.5/include/asm-arm/arch-pxa/corgi.h ---- linux-2.6.5-orig/include/asm-arm/arch-pxa/corgi.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.5/include/asm-arm/arch-pxa/corgi.h 2004-06-14 20:33:19.000000000 +0100 -@@ -0,0 +1,219 @@ -+/* -+ * linux/include/asm-arm/arch-pxa/corgi.h -+ * -+ * (C) Copyright 2001 Lineo Japan, Inc. -+ * -+ * May be copied or modified under the terms of the GNU General Public -+ * License. See linux/COPYING for more information. -+ * -+ * Based on: -+ * -+ * linux/include/asm-arm/arch-sa1100/collie.h -+ * -+ * This file contains the hardware specific definitions for Collie -+ * -+ * (C) Copyright 2001 Lineo Japan, Inc. -+ * -+ * May be copied or modified under the terms of the GNU General Public -+ * License. See linux/COPYING for more information. -+ * -+ * ChangeLog: -+ * 04-06-2001 Lineo Japan, Inc. -+ * 04-16-2001 SHARP Corporation -+ * -+ * Mar 10, 2004: Updates to 2.6 by John Lenz -+ */ -+#ifndef __ASM_ARCH_CORGI_H -+#define __ASM_ARCH_CORGI_H 1 -+ -+/* -+ * LCDC internal I/O mappings -+ * -+ * We have the following mapping: -+ * phys virt -+ * 08000000 f1000000 -+ */ -+ -+ -+ -+/* -+ * SCOOP internal I/O mappings -+ * -+ * We have the following mapping: -+ * phys virt -+ * 10800000 f2000000 -+ */ -+ -+ -+#define CF_BUF_CTRL_BASE 0xF2000000 -+ -+#define CORGI_SCP_REG(adr) (*(volatile unsigned short*)(CF_BUF_CTRL_BASE+(adr))) -+ -+#define CORGI_SCP_MCR 0x00 -+#define CORGI_SCP_CDR 0x04 -+#define CORGI_SCP_CSR 0x08 -+#define CORGI_SCP_CPR 0x0C -+#define CORGI_SCP_CCR 0x10 -+#define CORGI_SCP_IRR 0x14 -+#define CORGI_SCP_IRM 0x14 -+#define CORGI_SCP_IMR 0x18 -+#define CORGI_SCP_ISR 0x1C -+#define CORGI_SCP_GPCR 0x20 -+#define CORGI_SCP_GPWR 0x24 -+#define CORGI_SCP_GPRR 0x28 -+#define CORGI_SCP_REG_MCR CORGI_SCP_REG(CORGI_SCP_MCR) -+#define CORGI_SCP_REG_CDR CORGI_SCP_REG(CORGI_SCP_CDR) -+#define CORGI_SCP_REG_CSR CORGI_SCP_REG(CORGI_SCP_CSR) -+#define CORGI_SCP_REG_CPR CORGI_SCP_REG(CORGI_SCP_CPR) -+#define CORGI_SCP_REG_CCR CORGI_SCP_REG(CORGI_SCP_CCR) -+#define CORGI_SCP_REG_IRR CORGI_SCP_REG(CORGI_SCP_IRR) -+#define CORGI_SCP_REG_IRM CORGI_SCP_REG(CORGI_SCP_IRM) -+#define CORGI_SCP_REG_IMR CORGI_SCP_REG(CORGI_SCP_IMR) -+#define CORGI_SCP_REG_ISR CORGI_SCP_REG(CORGI_SCP_ISR) -+#define CORGI_SCP_REG_GPCR CORGI_SCP_REG(CORGI_SCP_GPCR) -+#define CORGI_SCP_REG_GPWR CORGI_SCP_REG(CORGI_SCP_GPWR) -+#define CORGI_SCP_REG_GPRR CORGI_SCP_REG(CORGI_SCP_GPRR) -+ -+#define CORGI_SCP_GPCR_PA22 ( 1 << 12 ) -+#define CORGI_SCP_GPCR_PA21 ( 1 << 11 ) -+#define CORGI_SCP_GPCR_PA20 ( 1 << 10 ) -+#define CORGI_SCP_GPCR_PA19 ( 1 << 9 ) -+#define CORGI_SCP_GPCR_PA18 ( 1 << 8 ) -+#define CORGI_SCP_GPCR_PA17 ( 1 << 7 ) -+#define CORGI_SCP_GPCR_PA16 ( 1 << 6 ) -+#define CORGI_SCP_GPCR_PA15 ( 1 << 5 ) -+#define CORGI_SCP_GPCR_PA14 ( 1 << 4 ) -+#define CORGI_SCP_GPCR_PA13 ( 1 << 3 ) -+#define CORGI_SCP_GPCR_PA12 ( 1 << 2 ) -+#define CORGI_SCP_GPCR_PA11 ( 1 << 1 ) -+ -+ -+/* -+ * GPIOs -+ */ -+#define CORGI_SCP_LED_GREEN CORGI_SCP_GPCR_PA11 -+#define CORGI_SCP_SWA CORGI_SCP_GPCR_PA12 -+#define CORGI_SCP_SWB CORGI_SCP_GPCR_PA13 -+#define CORGI_SCP_MUTE_L CORGI_SCP_GPCR_PA14 -+#define CORGI_SCP_MUTE_R CORGI_SCP_GPCR_PA15 -+#define CORGI_SCP_AKIN_PULLUP CORGI_SCP_GPCR_PA16 -+#define CORGI_SCP_APM_ON CORGI_SCP_GPCR_PA17 -+#define CORGI_SCP_BACKLIGHT_CONT CORGI_SCP_GPCR_PA18 -+#define CORGI_SCP_MIC_BIAS CORGI_SCP_GPCR_PA19 -+ -+ -+#define CORGI_SCP_IO_DIR ( CORGI_SCP_LED_GREEN | CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R | \ -+ CORGI_SCP_AKIN_PULLUP | CORGI_SCP_APM_ON | CORGI_SCP_BACKLIGHT_CONT | \ -+ CORGI_SCP_MIC_BIAS ) -+#define CORGI_SCP_IO_OUT ( CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R ) -+#define CORGI_GPIO_CO 16 -+ -+ -+/* -+ * Flash Memory mappings -+ * -+ * We have the following mapping: -+ * phys virt -+ * boot ROM 00000000 ef000000 -+ * NAND Flash 0C000000 f2100000 -+ */ -+#define NAND_FLASH_REG_BASE 0xf2100000 -+#define CORGI_CPLD_REG(ofst) (*(volatile unsigned char*)(NAND_FLASH_REG_BASE+(ofst))) -+ -+/* register offset */ -+#define CORGI_ECCLPLB 0x00 /* line parity 7 - 0 bit */ -+#define CORGI_ECCLPUB 0x04 /* line parity 15 - 8 bit */ -+#define CORGI_ECCCP 0x08 /* column parity 5 - 0 bit */ -+#define CORGI_ECCCNTR 0x0C /* ECC byte counter */ -+#define CORGI_ECCCLRR 0x10 /* cleare ECC */ -+#define CORGI_FLASHIO 0x14 /* Flash I/O */ -+#define CORGI_FLASHCTL 0x18 /* Flash Control */ -+ -+/* Flash control bit */ -+#define CORGI_FLRYBY (1 << 5) -+#define CORGI_FLCE1 (1 << 4) -+#define CORGI_FLWP (1 << 3) -+#define CORGI_FLALE (1 << 2) -+#define CORGI_FLCLE (1 << 1) -+#define CORGI_FLCE0 (1 << 0) -+ -+ -+ -+ -+/* -+CORGI_ * LED -+ */ -+#define CORGI_GPIO_LED_ORANGE (13) -+//#define CORGI_SCP_LED_GREEN CORGI_SCP_GPCR_PA11 -+ -+ -+/* -+ * GPIOs -+ */ -+/* PXA GPIOs */ -+#define CORGI_GPIO_KEY_INT (0) /* key interrupt */ -+#define CORGI_GPIO_AC_IN (1) -+#define CORGI_GPIO_TP_INT (5) /* Touch Panel interrupt */ -+#define CORGI_GPIO_WAKEUP (3) -+#define CORGI_GPIO_IR_ON (22) -+#define CORGI_GPIO_AK_INT (4) // Remote Controller -+#define CORGI_GPIO_HP_IN GPIO_AK_INT -+#define CORGI_GPIO_CF_IRQ (17) -+//#define CORGI_GPIO_CF_PRDY (17) -+#define CORGI_GPIO_LED_ORANGE (13) -+#define CORGI_GPIO_CF_CD (14) -+#define CORGI_GPIO_SD_PWR (33) -+#define CORGI_GPIO_nSD_CLK (6) -+#define CORGI_GPIO_nSD_WP (7) -+#define CORGI_GPIO_nSD_INT (10) -+#define CORGI_GPIO_nSD_DETECT (9) -+#define CORGI_GPIO_MAIN_BAT_LOW (11) -+#define CORGI_GPIO_BAT_COVER (11) -+#define CORGI_GPIO_ADC_TEMP_ON (21) -+#define CORGI_GPIO_CHRG_ON (38) -+#define CORGI_GPIO_CHRG_FULL (16) -+#define CORGI_GPIO_USB_PULLUP (45) -+#define CORGI_GPIO_HSYNC (44) -+ -+/* KeyBoard */ -+#define CORGI_KEY_STROBE_NUM (12) -+#define CORGI_KEY_SENSE_NUM (8) -+#define CORGI_GPIO_ALL_STROBE_BIT (0x00003ffc) -+#define CORGI_GPIO_HIGH_SENSE_BIT (0xfc000000) -+#define CORGI_GPIO_HIGH_SENSE_RSHIFT (26) -+#define CORGI_GPIO_LOW_SENSE_BIT (0x00000003) -+#define CORGI_GPIO_LOW_SENSE_LSHIFT (6) -+#define CORGI_GPIO_STROBE_BIT(a) GPIO_bit(66+(a)) -+#define CORGI_GPIO_SENSE_BIT(a) GPIO_bit(58+(a)) -+#define CORGI_GAFR_ALL_STROBE_BIT (0x0ffffff0) -+#define CORGI_GAFR_HIGH_SENSE_BIT (0xfff00000) -+#define CORGI_GAFR_LOW_SENSE_BIT (0x0000000f) -+#define CORGI_GPIO_KEY_SENSE(a) (58+(a)) -+ -+ -+/* -+ * Interrupts -+ */ -+/* PXA GPIOs */ -+#define CORGI_IRQ_GPIO_KEY_INT IRQ_GPIO(0) -+#define CORGI_IRQ_GPIO_AC_IN IRQ_GPIO(1) -+#define CORGI_IRQ_GPIO_AK_INT IRQ_GPIO(4) -+#define CORGI_IRQ_GPIO_HP_IN IRQ_GPIO_AK_INT -+#define CORGI_IRQ_GPIO_TP_INT IRQ_GPIO(5) -+#define CORGI_IRQ_GPIO_WAKEUP IRQ_GPIO(3) -+#define CORGI_IRQ_GPIO_CO IRQ_GPIO(16) -+#define CORGI_IRQ_GPIO_CF_IRQ IRQ_GPIO(17) -+#define CORGI_IRQ_GPIO_CF_CD IRQ_GPIO(14) -+#define CORGI_IRQ_GPIO_nSD_INT IRQ_GPIO(10) -+#define CORGI_IRQ_GPIO_nSD_DETECT IRQ_GPIO(9) -+#define CORGI_IRQ_GPIO_MAIN_BAT_LOW IRQ_GPIO(11) -+#define CORGI_IRQ_GPIO_KEY_SENSE(a) IRQ_GPIO(58+(a)) -+ -+ -+// CS -+#define CORGI_CS_MAX1111 1 -+#define CORGI_CS_ADS7846 2 -+#define CORGI_CS_LZ9JG18 3 -+ -+#endif /* __ASM_ARCH_CORGI_H */ -+ -diff -uNr linux-2.6.5-orig/include/asm-arm/thread_info.h linux-2.6.5/include/asm-arm/thread_info.h ---- linux-2.6.5-orig/include/asm-arm/thread_info.h 2004-06-14 20:31:55.000000000 +0100 -+++ linux-2.6.5/include/asm-arm/thread_info.h 2004-06-14 20:33:06.000000000 +0100 -@@ -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 - -diff -uNr linux-2.6.5-orig/include/linux/serial_core.h linux-2.6.5/include/linux/serial_core.h ---- linux-2.6.5-orig/include/linux/serial_core.h 2004-06-14 20:31:56.000000000 +0100 -+++ linux-2.6.5/include/linux/serial_core.h 2004-06-14 20:33:06.000000000 +0100 -@@ -38,7 +38,8 @@ - #define PORT_16850 12 - #define PORT_RSA 13 - #define PORT_NS16550A 14 --#define PORT_MAX_8250 14 /* max port ID */ -+#define PORT_XSCALE 15 -+#define PORT_MAX_8250 15 /* max port ID */ - - /* - * ARM specific type numbers. These are not currently guaranteed -diff -uNr linux-2.6.5-orig/include/linux/serial_reg.h linux-2.6.5/include/linux/serial_reg.h ---- linux-2.6.5-orig/include/linux/serial_reg.h 2004-06-14 20:31:56.000000000 +0100 -+++ linux-2.6.5/include/linux/serial_reg.h 2004-06-14 20:33:06.000000000 +0100 -@@ -141,7 +141,7 @@ - #define UART_MSR_ANY_DELTA 0x0F /* Any of the delta bits! */ - - /* -- * The Intel PXA2xx chip defines those bits -+ * The Intel XScale on-chip UARTs define these bits - */ - #define UART_IER_DMAE 0x80 /* DMA Requests Enable */ - #define UART_IER_UUE 0x40 /* UART Unit Enable */ -diff -uNr linux-2.6.5-orig/arch/arm/boot/Makefile linux-2.6.5/arch/arm/boot/Makefile ---- linux-2.6.5-orig/arch/arm/boot/Makefile 2004-04-04 04:36:18.000000000 +0100 -+++ linux-2.6.5/arch/arm/boot/Makefile 2004-06-14 21:36:21.000000000 +0100 -@@ -69,6 +69,8 @@ - ZBSSADDR := ALIGN(4) - endif - -+OBJCOPYFLAGS_zImage := --pad-to `(arm-linux-readelf -l arch/arm/boot/compressed/vmlinux | grep LOAD | awk '{ print $$6 }')` -+ - export ZTEXTADDR ZBSSADDR ZRELADDR INITRD_PHYS PARAMS_PHYS - - targets := Image zImage bootpImage |