aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/linux/rdc/config-2.6.30321
-rw-r--r--target/linux/rdc/patches-2.6.30/001-rdc3210_flash_map.patch63
-rw-r--r--target/linux/rdc/patches-2.6.30/003-rootfstype.patch11
-rw-r--r--target/linux/rdc/patches-2.6.30/004-yenta_mystery.patch20
-rw-r--r--target/linux/rdc/patches-2.6.30/005-fix_amit_breakage.patch40
-rw-r--r--target/linux/rdc/patches-2.6.30/008-r8610_flash_map.patch29
-rw-r--r--target/linux/rdc/patches-2.6.30/009-rdc321x_select_embedded.patch10
7 files changed, 494 insertions, 0 deletions
diff --git a/target/linux/rdc/config-2.6.30 b/target/linux/rdc/config-2.6.30
new file mode 100644
index 0000000000..47de90b4ae
--- /dev/null
+++ b/target/linux/rdc/config-2.6.30
@@ -0,0 +1,321 @@
+# CONFIG_4KSTACKS is not set
+# CONFIG_60XX_WDT is not set
+# CONFIG_64BIT is not set
+# CONFIG_ACQUIRE_WDT is not set
+# CONFIG_ADVANTECH_WDT is not set
+# CONFIG_AGP is not set
+# CONFIG_ALIM1535_WDT is not set
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_AUDIT_ARCH is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_BASE_SMALL=1
+# CONFIG_BINARY_PRINTF is not set
+CONFIG_BITREVERSE=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BOUNCE=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_CC_STACKPROTECTOR is not set
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_CMDLINE="console=ttyS0,38400"
+CONFIG_CMDLINE_BOOL=y
+# CONFIG_CMDLINE_OVERRIDE is not set
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CPU5_WDT is not set
+# CONFIG_CPU_FREQ is not set
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CS5535_GPIO is not set
+# CONFIG_DCDBAS is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DELL_RBU is not set
+CONFIG_DEVPORT=y
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_DMI=y
+# CONFIG_DMIID is not set
+CONFIG_DOUBLEFAULT=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_EDAC is not set
+# CONFIG_EDD is not set
+# CONFIG_EUROTECH_WDT is not set
+CONFIG_FAST_CMPXCHG_LOCAL=y
+# CONFIG_FIRMWARE_MEMMAP is not set
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_FTRACE_SYSCALLS is not set
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+# CONFIG_GENERIC_CPU is not set
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_ISA_DMA=y
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_HANGCHECK_TIMER is not set
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAVE_AOUT=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_PER_CPU_AREA=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_FTRACE_SYSCALLS=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_HAVE_MLOCK=y
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+# CONFIG_HIGHMEM4G is not set
+# CONFIG_HIGHMEM64G is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+# CONFIG_HPET_TIMER is not set
+# CONFIG_HP_WATCHDOG is not set
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_AMD is not set
+# CONFIG_HW_RANDOM_GEODE is not set
+# CONFIG_HW_RANDOM_INTEL is not set
+# CONFIG_HW_RANDOM_VIA is not set
+CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_I2C is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_I8K is not set
+# CONFIG_IB700_WDT is not set
+# CONFIG_IBMASR is not set
+CONFIG_ICPLUS_PHY=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_IOMMU_API is not set
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_ISA is not set
+CONFIG_ISA_DMA_API=y
+# CONFIG_ISCSI_IBFT_FIND is not set
+# CONFIG_IT8712F_WDT is not set
+# CONFIG_IT87_WDT is not set
+# CONFIG_ITCO_WDT is not set
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_GZIP is not set
+CONFIG_KERNEL_LZMA=y
+CONFIG_KEXEC=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_LBD=y
+# CONFIG_LEDS_ALIX2 is not set
+# CONFIG_M386 is not set
+CONFIG_M486=y
+# CONFIG_M586 is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M686 is not set
+# CONFIG_MACHZ_WDT is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_MCA is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MEMTEST is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MICROCODE is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MMIOTRACE is not set
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPSC is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_CONCAT=y
+# CONFIG_MTD_NETSC520 is not set
+# CONFIG_MTD_R8610 is not set
+CONFIG_MTD_RDC3210=y
+CONFIG_MTD_RDC3210_ALLOW_JFFS2=y
+CONFIG_MTD_RDC3210_BUSWIDTH=2
+# CONFIG_MTD_RDC3210_FACTORY_PRESENT is not set
+CONFIG_MTD_RDC3210_SIZE=0x400000
+# CONFIG_MTD_RDC3210_STATIC_MAP is not set
+# CONFIG_MTD_SC520CDP is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTRR is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NETDEV_1000 is not set
+CONFIG_NOHIGHMEM=y
+CONFIG_NR_CPUS=1
+# CONFIG_NSC_GPIO is not set
+CONFIG_NVRAM=y
+# CONFIG_OLPC is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PARAVIRT_GUEST is not set
+# CONFIG_PC8736x_GPIO is not set
+# CONFIG_PC87413_WDT is not set
+CONFIG_PCI=y
+# CONFIG_PCIEPORTBUS is not set
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_GOANY=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GOOLPC is not set
+# CONFIG_PCI_QUIRKS is not set
+# CONFIG_PCSPKR_PLATFORM is not set
+CONFIG_PHYLIB=y
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_PHYSICAL_START=0x100000
+# CONFIG_POWER_TRACER is not set
+# CONFIG_PRINTK is not set
+# CONFIG_PROCESSOR_SELECT is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+CONFIG_RDC321X_WDT=y
+CONFIG_RD_GZIP=y
+# CONFIG_RD_LZMA is not set
+# CONFIG_RELOCATABLE is not set
+# CONFIG_RTC is not set
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_SBC7240_WDT is not set
+# CONFIG_SBC8360_WDT is not set
+# CONFIG_SBC_EPX_C3_WATCHDOG is not set
+# CONFIG_SC1200_WDT is not set
+# CONFIG_SC520_WDT is not set
+# CONFIG_SCHED_HRTICK is not set
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+# CONFIG_SCSI_DMA is not set
+# CONFIG_SCx200 is not set
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SHMEM is not set
+# CONFIG_SLAB is not set
+CONFIG_SLOB=y
+# CONFIG_SLOW_WORK is not set
+# CONFIG_SMP is not set
+# CONFIG_SMSC37B787_WDT is not set
+# CONFIG_SMSC_SCH311X_WDT is not set
+CONFIG_SPARSEMEM_STATIC=y
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_SYSPROF_TRACER is not set
+# CONFIG_TELCLOCK is not set
+# CONFIG_TOSHIBA is not set
+CONFIG_TRACING_SUPPORT=y
+CONFIG_UID16=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USER_STACKTRACE_SUPPORT=y
+# CONFIG_VM86 is not set
+# CONFIG_VMSPLIT_2G_OPT is not set
+# CONFIG_VMSPLIT_3G_OPT is not set
+# CONFIG_W83697UG_WDT is not set
+# CONFIG_WAFER_WDT is not set
+CONFIG_X86=y
+CONFIG_X86_32=y
+CONFIG_X86_32_LAZY_GS=y
+# CONFIG_X86_64 is not set
+CONFIG_X86_ALIGNMENT_16=y
+CONFIG_X86_BSWAP=y
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_CPU=y
+# CONFIG_X86_CPUID is not set
+# CONFIG_X86_CPU_DEBUG is not set
+# CONFIG_X86_ELAN is not set
+CONFIG_X86_EXTENDED_PLATFORM=y
+CONFIG_X86_F00F_BUG=y
+# CONFIG_X86_GENERIC is not set
+CONFIG_X86_INTERNODE_CACHE_BYTES=64
+CONFIG_X86_INVLPG=y
+CONFIG_X86_L1_CACHE_BYTES=64
+CONFIG_X86_L1_CACHE_SHIFT=4
+# CONFIG_X86_MCE is not set
+CONFIG_X86_MINIMUM_CPU_FAMILY=4
+# CONFIG_X86_MSR is not set
+# CONFIG_X86_PAE is not set
+# CONFIG_X86_PLATFORM_DEVICES is not set
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_PPRO_FENCE=y
+CONFIG_X86_RDC321X=y
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_X86_RESERVE_LOW_64K=y
+# CONFIG_X86_UP_APIC is not set
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_XADD=y
+# CONFIG_ZONE_DMA32 is not set
diff --git a/target/linux/rdc/patches-2.6.30/001-rdc3210_flash_map.patch b/target/linux/rdc/patches-2.6.30/001-rdc3210_flash_map.patch
new file mode 100644
index 0000000000..2c35b841a3
--- /dev/null
+++ b/target/linux/rdc/patches-2.6.30/001-rdc3210_flash_map.patch
@@ -0,0 +1,63 @@
+--- a/drivers/mtd/maps/Kconfig
++++ b/drivers/mtd/maps/Kconfig
+@@ -112,6 +112,50 @@ config MTD_SUN_UFLASH
+ 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
+@@ -27,6 +27,7 @@ obj-$(CONFIG_MTD_PHYSMAP_OF) += physmap_
+ 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.30/003-rootfstype.patch b/target/linux/rdc/patches-2.6.30/003-rootfstype.patch
new file mode 100644
index 0000000000..386e638971
--- /dev/null
+++ b/target/linux/rdc/patches-2.6.30/003-rootfstype.patch
@@ -0,0 +1,11 @@
+--- a/init/do_mounts.c
++++ b/init/do_mounts.c
+@@ -189,6 +189,8 @@ static void __init get_fs_names(char *pa
+ {
+ 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.30/004-yenta_mystery.patch b/target/linux/rdc/patches-2.6.30/004-yenta_mystery.patch
new file mode 100644
index 0000000000..4c2e2face0
--- /dev/null
+++ b/target/linux/rdc/patches-2.6.30/004-yenta_mystery.patch
@@ -0,0 +1,20 @@
+--- a/drivers/pcmcia/yenta_socket.c
++++ b/drivers/pcmcia/yenta_socket.c
+@@ -1174,6 +1174,17 @@ static int __devinit yenta_probe (struct
+
+ /* 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.30/005-fix_amit_breakage.patch b/target/linux/rdc/patches-2.6.30/005-fix_amit_breakage.patch
new file mode 100644
index 0000000000..8103e841d5
--- /dev/null
+++ b/target/linux/rdc/patches-2.6.30/005-fix_amit_breakage.patch
@@ -0,0 +1,40 @@
+--- a/arch/x86/boot/boot.h
++++ b/arch/x86/boot/boot.h
+@@ -62,7 +62,7 @@ static inline void outl(u32 v, u16 port)
+ {
+ 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));
+--- a/arch/x86/boot/pm.c
++++ b/arch/x86/boot/pm.c
+@@ -14,6 +14,9 @@
+
+ #include "boot.h"
+ #include <asm/segment.h>
++#ifdef CONFIG_X86_RDC
++#include <asm/mach-rdc/rdc321x_defs.h>
++#endif
+
+ /*
+ * Invoke the realmode switch hook if present; otherwise
+@@ -156,6 +159,16 @@ void go_to_protected_mode(void)
+ 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.30/008-r8610_flash_map.patch b/target/linux/rdc/patches-2.6.30/008-r8610_flash_map.patch
new file mode 100644
index 0000000000..e0ccb83ccc
--- /dev/null
+++ b/target/linux/rdc/patches-2.6.30/008-r8610_flash_map.patch
@@ -0,0 +1,29 @@
+Index: linux-2.6.29.5/drivers/mtd/maps/Kconfig
+===================================================================
+--- linux-2.6.29.5.orig/drivers/mtd/maps/Kconfig 2009-06-19 11:26:44.000000000 +0200
++++ linux-2.6.29.5/drivers/mtd/maps/Kconfig 2009-06-19 11:26:45.000000000 +0200
+@@ -167,6 +167,12 @@
+ Number of bytes addressed on the RDC-3210 flash device before
+ addressing the same chip again
+
++config MTD_R8610
++ tristate "CFI flash device mapped on R8610"
++ depends on X86 && MTD_CFI && MTD_PARTITIONS
++ help
++ Flash support for the RDC R8610 evaluation board.
++
+ config MTD_SC520CDP
+ tristate "CFI Flash device mapped on AMD SC520 CDP"
+ depends on X86 && MTD_CFI && MTD_CONCAT
+Index: linux-2.6.29.5/drivers/mtd/maps/Makefile
+===================================================================
+--- linux-2.6.29.5.orig/drivers/mtd/maps/Makefile 2009-06-19 11:26:44.000000000 +0200
++++ linux-2.6.29.5/drivers/mtd/maps/Makefile 2009-06-19 11:26:45.000000000 +0200
+@@ -28,6 +28,7 @@
+ obj-$(CONFIG_MTD_PMC_MSP_RAMROOT)+= pmcmsp-ramroot.o
+ obj-$(CONFIG_MTD_PCMCIA) += pcmciamtd.o
+ obj-$(CONFIG_MTD_RDC3210) += rdc3210.o
++obj-$(CONFIG_MTD_R8610) += r8610.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.30/009-rdc321x_select_embedded.patch b/target/linux/rdc/patches-2.6.30/009-rdc321x_select_embedded.patch
new file mode 100644
index 0000000000..84ab6c5c22
--- /dev/null
+++ b/target/linux/rdc/patches-2.6.30/009-rdc321x_select_embedded.patch
@@ -0,0 +1,10 @@
+--- a/arch/x86/Kconfig 2009-06-19 15:06:16.000000000 +0200
++++ b/arch/x86/Kconfig 2009-06-19 15:06:01.000000000 +0200
+@@ -380,6 +380,7 @@
+ depends on X86_EXTENDED_PLATFORM
+ select M486
+ select X86_REBOOTFIXUPS
++ select EMBEDDED
+ ---help---
+ This option is needed for RDC R-321x system-on-chip, also known
+ as R-8610-(G).