From 6388bbbfbac320a089d9044f5e8a9be5a7d57408 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 27 Nov 2008 20:43:14 +0000 Subject: [rdc] Add 2.6.27 patches and configuration git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13380 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../rdc/patches-2.6.27/001-rdc3210_flash_map.patch | 63 ++++++++++++++++++++++ .../linux/rdc/patches-2.6.27/003-rootfstype.patch | 11 ++++ .../rdc/patches-2.6.27/004-yenta_mystery.patch | 20 +++++++ .../rdc/patches-2.6.27/005-fix_amit_breakage.patch | 42 +++++++++++++++ target/linux/rdc/patches-2.6.27/600-x86_lzma.patch | 63 ++++++++++++++++++++++ 5 files changed, 199 insertions(+) create mode 100644 target/linux/rdc/patches-2.6.27/001-rdc3210_flash_map.patch create mode 100644 target/linux/rdc/patches-2.6.27/003-rootfstype.patch create mode 100644 target/linux/rdc/patches-2.6.27/004-yenta_mystery.patch create mode 100644 target/linux/rdc/patches-2.6.27/005-fix_amit_breakage.patch create mode 100644 target/linux/rdc/patches-2.6.27/600-x86_lzma.patch (limited to 'target/linux/rdc/patches-2.6.27') diff --git a/target/linux/rdc/patches-2.6.27/001-rdc3210_flash_map.patch b/target/linux/rdc/patches-2.6.27/001-rdc3210_flash_map.patch new file mode 100644 index 000000000..4c12471ec --- /dev/null +++ b/target/linux/rdc/patches-2.6.27/001-rdc3210_flash_map.patch @@ -0,0 +1,63 @@ +--- a/drivers/mtd/maps/Kconfig ++++ b/drivers/mtd/maps/Kconfig +@@ -110,6 +110,50 @@ + Sun Microsystems boardsets. This driver will require CFI support + in the kernel, so if you did not enable CFI previously, do that now. + ++config MTD_RDC3210 ++ tristate "CFI Flash device mapped on RDC3210" ++ depends on X86 && MTD_CFI && MTD_PARTITIONS ++ help ++ RDC-3210 is the flash device we find on Ralink reference board. ++ ++config MTD_RDC3210_STATIC_MAP ++ bool "Partitions on RDC3210 mapped statically" if MTD_RDC3210 ++ select MTD_RDC3210_FACTORY_PRESENT ++ help ++ The mapping driver will use the static partition map for the ++ RDC-3210 flash device. ++ ++config MTD_RDC3210_FACTORY_PRESENT ++ bool "Reserve a partition on RDC3210 for factory presets" ++ depends on MTD_RDC3210 ++ default y ++ help ++ The mapping driver will reserve a partition on the RDC-3210 flash ++ device for resetting flash contents to factory defaults. ++ ++config MTD_RDC3210_ALLOW_JFFS2 ++ bool "JFFS2 filesystem usable in a partition on RDC3210" ++ depends on MTD_RDC3210 && !MTD_RDC3210_STATIC_MAP ++ help ++ The mapping driver will align a partition on the RDC-3210 flash ++ device to an erase-block boundary so that a JFFS2 filesystem may ++ reside on it. ++ ++config MTD_RDC3210_SIZE ++ hex "Amount of flash memory on RDC3210" ++ depends on MTD_RDC3210 ++ default "0x400000" ++ help ++ Total size in bytes of the RDC-3210 flash device ++ ++config MTD_RDC3210_BUSWIDTH ++ int "Width of CFI Flash device mapped on RDC3210" ++ depends on MTD_RDC3210 ++ default "2" ++ help ++ Number of bytes addressed on the RDC-3210 flash device before ++ addressing the same chip again ++ + config MTD_SC520CDP + tristate "CFI Flash device mapped on AMD SC520 CDP" + depends on X86 && MTD_CFI && MTD_CONCAT +--- a/drivers/mtd/maps/Makefile ++++ b/drivers/mtd/maps/Makefile +@@ -29,6 +29,7 @@ + obj-$(CONFIG_MTD_PMC_MSP_EVM) += pmcmsp-flash.o + obj-$(CONFIG_MTD_PMC_MSP_RAMROOT)+= pmcmsp-ramroot.o + obj-$(CONFIG_MTD_PCMCIA) += pcmciamtd.o ++obj-$(CONFIG_MTD_RDC3210) += rdc3210.o + obj-$(CONFIG_MTD_RPXLITE) += rpxlite.o + obj-$(CONFIG_MTD_TQM8XXL) += tqm8xxl.o + obj-$(CONFIG_MTD_SA1100) += sa1100-flash.o diff --git a/target/linux/rdc/patches-2.6.27/003-rootfstype.patch b/target/linux/rdc/patches-2.6.27/003-rootfstype.patch new file mode 100644 index 000000000..55a4cd49f --- /dev/null +++ b/target/linux/rdc/patches-2.6.27/003-rootfstype.patch @@ -0,0 +1,11 @@ +--- a/init/do_mounts.c ++++ b/init/do_mounts.c +@@ -163,6 +163,8 @@ + { + char *s = page; + ++ if (!root_fs_names) ++ root_fs_names = "squashfs,jffs2"; + if (root_fs_names) { + strcpy(page, root_fs_names); + while (*s++) { diff --git a/target/linux/rdc/patches-2.6.27/004-yenta_mystery.patch b/target/linux/rdc/patches-2.6.27/004-yenta_mystery.patch new file mode 100644 index 000000000..7faabdf7a --- /dev/null +++ b/target/linux/rdc/patches-2.6.27/004-yenta_mystery.patch @@ -0,0 +1,20 @@ +--- linux-2.6.24.7.orig/drivers/pcmcia/yenta_socket.c 2008-10-26 08:30:07.000000000 -0700 ++++ linux-2.6.24.7/drivers/pcmcia/yenta_socket.c 2008-10-26 08:54:27.000000000 -0700 +@@ -1171,6 +1171,17 @@ + + /* We must finish initialization here */ + ++#ifdef CONFIG_X86_RDC ++/* #define YO_TI1510_DATASHEET_GUY_EXPLAIN_THIS_JUNK 0x0044f044 */ ++#define YO_TI1510_DATASHEET_GUY_EXPLAIN_THIS_JUNK 0x0844b060 ++/* #define YO_TI1510_DATASHEET_GUY_EXPLAIN_THIS_JUNK 0x0044d044 */ ++ ++ config_writel(socket, 32*4, YO_TI1510_DATASHEET_GUY_EXPLAIN_THIS_JUNK); ++ config_writel(socket, 35*4, 0x00000022); ++ config_writel(socket, 36*4, 0x60200000); ++ config_writel(socket, 40*4, 0x7e020000); ++#endif ++ + if (!socket->cb_irq || request_irq(socket->cb_irq, yenta_interrupt, IRQF_SHARED, "yenta", socket)) { + /* No IRQ or request_irq failed. Poll */ + socket->cb_irq = 0; /* But zero is a valid IRQ number. */ diff --git a/target/linux/rdc/patches-2.6.27/005-fix_amit_breakage.patch b/target/linux/rdc/patches-2.6.27/005-fix_amit_breakage.patch new file mode 100644 index 000000000..eabfd04ed --- /dev/null +++ b/target/linux/rdc/patches-2.6.27/005-fix_amit_breakage.patch @@ -0,0 +1,42 @@ +diff -ru linux-2.6.24.7.orig/arch/x86/boot/boot.h linux-2.6.24.7/arch/x86/boot/boot.h +--- linux-2.6.24.7.orig/arch/x86/boot/boot.h 2008-10-26 20:18:14.000000000 -0700 ++++ linux-2.6.24.7/arch/x86/boot/boot.h 2008-10-26 20:18:36.000000000 -0700 +@@ -60,7 +60,7 @@ + { + asm volatile("outl %0,%1" : : "a" (v), "dN" (port)); + } +-static inline u32 inl(u32 port) ++static inline u32 inl(u16 port) + { + u32 v; + asm volatile("inl %1,%0" : "=a" (v) : "dN" (port)); +diff -ru linux-2.6.24.7.orig/arch/x86/boot/pm.c linux-2.6.24.7/arch/x86/boot/pm.c +--- linux-2.6.24.7.orig/arch/x86/boot/pm.c 2008-10-26 19:55:50.000000000 -0700 ++++ linux-2.6.24.7/arch/x86/boot/pm.c 2008-10-26 21:38:12.000000000 -0700 +@@ -16,6 +16,9 @@ + + #include "boot.h" + #include ++#ifdef CONFIG_X86_RDC ++#include ++#endif + + /* + * Invoke the realmode switch hook if present; otherwise +@@ -160,6 +163,16 @@ + die(); + } + ++#ifdef CONFIG_X86_RDC ++ { ++ u32 bootctl; ++ ++ outl(0x80003840, RDC3210_CFGREG_ADDR); ++ bootctl = inl(RDC3210_CFGREG_DATA) | 0x07ff0000; ++ outl(bootctl, RDC3210_CFGREG_DATA); ++ } ++#endif ++ + /* Reset coprocessor (IGNNE#) */ + reset_coprocessor(); + diff --git a/target/linux/rdc/patches-2.6.27/600-x86_lzma.patch b/target/linux/rdc/patches-2.6.27/600-x86_lzma.patch new file mode 100644 index 000000000..5e0c8d7fd --- /dev/null +++ b/target/linux/rdc/patches-2.6.27/600-x86_lzma.patch @@ -0,0 +1,63 @@ +--- a/scripts/Makefile.lib ++++ b/scripts/Makefile.lib +@@ -172,4 +172,9 @@ + quiet_cmd_gzip = GZIP $@ + cmd_gzip = gzip -f -9 < $< > $@ + +- ++# LZMA ++# ++quiet_cmd_lzma = LZMA $@ ++cmd_lzma = bash -e scripts/lzma_kern $< $@ -lc7 -lp0 -pb0 ++# to use lzmacomp, ++# cmd_lzma = lzmacomp $< 700 > $@ +--- /dev/null ++++ b/scripts/lzma_kern +@@ -0,0 +1,4 @@ ++get-size() { echo "$5" ;} ++printf -v len '%.8x' "$(get-size $(ls -l "$1"))" ++lzma e "$@" ++echo -ne "\x$(echo $len | cut -c 7,8)\x$(echo $len | cut -c 5,6)\x$(echo $len | cut -c 3,4)\x$(echo $len | cut -c 1,2)" >> "$2" +--- a/arch/x86/boot/compressed/Makefile ++++ b/arch/x86/boot/compressed/Makefile +@@ -4,7 +4,7 @@ + # create a compressed vmlinux image from the original vmlinux + # + +-targets := vmlinux vmlinux.bin vmlinux.bin.gz head_$(BITS).o misc.o piggy.o ++targets := vmlinux vmlinux.bin vmlinux.bin.lzma head_$(BITS).o lzma_misc.o piggy.o + + KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 + KBUILD_CFLAGS += -fno-strict-aliasing -fPIC +@@ -18,7 +18,7 @@ + LDFLAGS := -m elf_$(UTS_MACHINE) + LDFLAGS_vmlinux := -T + +-$(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/piggy.o FORCE ++$(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/lzma_misc.o $(obj)/piggy.o FORCE + $(call if_changed,ld) + @: + +@@ -44,11 +44,11 @@ + $(call if_changed,relocbin) + + ifdef CONFIG_RELOCATABLE +-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin.all FORCE +- $(call if_changed,gzip) ++$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE ++ $(call if_changed,lzma) + else +-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE +- $(call if_changed,gzip) ++$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE ++ $(call if_changed,lzma) + endif + LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T + +@@ -60,5 +60,5 @@ + endif + + +-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE ++$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.lzma FORCE + $(call if_changed,ld) -- cgit v1.2.3