summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/Config.in72
-rw-r--r--target/alix1c/Makefile4
-rw-r--r--target/linux/patches/2.6.29.1/cygwin-compat.patch (renamed from target/linux/patches/2.6.29/cygwin-compat.patch)0
-rw-r--r--target/linux/patches/2.6.29.1/freebsd-compat.patch (renamed from target/linux/patches/2.6.29/freebsd-compat.patch)0
-rw-r--r--target/linux/patches/2.6.29.1/mips-gcc-44.patch (renamed from target/linux/patches/2.6.29/mips-gcc-44.patch)0
-rw-r--r--target/linux/patches/2.6.29.1/ocf.patch (renamed from target/linux/patches/2.6.29/ocf.patch)0
-rw-r--r--target/linux/patches/2.6.29.1/swconfig.patch (renamed from target/linux/patches/2.6.29/swconfig.patch)0
-rw-r--r--target/linux/patches/2.6.29.1/yaffs2.patch (renamed from target/linux/patches/2.6.29/yaffs2.patch)0
-rw-r--r--target/linux/patches/2.6.30/cygwin-compat.patch (renamed from target/linux/patches/cygwin-compat.patch)0
-rw-r--r--target/linux/patches/2.6.30/freebsd-compat.patch (renamed from target/linux/patches/freebsd-compat.patch)0
-rw-r--r--target/linux/patches/2.6.30/mips-delay-fix.patch11
-rw-r--r--target/linux/patches/2.6.30/mtd-root.patch62
-rw-r--r--target/linux/patches/2.6.30/ocf.patch (renamed from target/linux/patches/ocf.patch)0
-rw-r--r--target/linux/patches/2.6.30/swconfig.patch (renamed from target/linux/patches/swconfig.patch)0
-rw-r--r--target/linux/patches/2.6.30/yaffs2.patch (renamed from target/linux/patches/yaffs2.patch)0
-rw-r--r--target/wag54g/Makefile10
-rw-r--r--target/wag54g/kernel.config82
-rw-r--r--target/wag54g/patches/ar7.patch1676
18 files changed, 371 insertions, 1546 deletions
diff --git a/target/Config.in b/target/Config.in
index 227d3eb5a..b9703121f 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -132,6 +132,11 @@ config ADK_LINUX_MIPS64_LEMOTE
help
Lemote Subnotebook
+config ADK_LINUX_MIKROTIK
+ bool "Mikrotik Routerboards"
+ help
+ Support for Mikrotik Routerboards
+
config ADK_LINUX_MIPS_WAG54G
bool "Linksys WAG54G"
select ADK_KERNEL_NETDEVICES
@@ -143,38 +148,10 @@ config ADK_LINUX_MIPS_WAG54G
Linksys WAG54G DSL router with Wireless
TI AR7 platform
-config ADK_LINUX_MIPS_RB411
- bool "Mikrotik Routerboard 411"
- select ADK_rb411
- select ADK_KERNEL_NETDEVICES
- select ADK_KERNEL_NET_PCI
- select ADK_KERNEL_NETDEV_1000
- select ADK_KERNEL_NET_ETHERNET
- help
- Support for Mikrotik RB411.
-
-config ADK_LINUX_MIPS_RB433
- bool "Mikrotik Routerboard 433"
- select ADK_rb433
- select ADK_KERNEL_NETDEVICES
- select ADK_KERNEL_NET_PCI
- select ADK_KERNEL_NETDEV_1000
- select ADK_KERNEL_NET_ETHERNET
- help
- Support for Mikrotik RB433.
-
-config ADK_LINUX_MIPS_RB532
- bool "Mikrotik Routerboard 532"
- select ADK_rb532
- select ADK_KERNEL_NETDEVICES
- select ADK_KERNEL_NET_PCI
- select ADK_KERNEL_NET_ETHERNET
- select ADK_KERNEL_MII
- help
- Support for Mikrotik RB532.
config ADK_LINUX_XSCALE_ZAURUS
bool "Zaurus SL-C3200"
+ depends on ADK_BROKEN
select ADK_zaurus
select ADK_DEVICE_NO_FPU
help
@@ -230,6 +207,7 @@ config ADK_LINUX_X86_QEMU
bool "x86"
select ADK_qemu_x86
select ADK_KPACKAGE_KMOD_NE2K_PCI
+ select ADK_KERNEL_INPUT_KEYBOARD
help
Qemu support for x86 architecture.
@@ -268,6 +246,42 @@ config ADK_LINUX_CRIS_QEMU
endchoice
choice
+prompt "Routerboard model"
+default ADK_LINUX_MIPS_RB433
+depends on ADK_LINUX_MIKROTIK
+
+config ADK_LINUX_MIPS_RB411
+ bool "Mikrotik Routerboard 411"
+ select ADK_rb411
+ select ADK_KERNEL_NETDEVICES
+ select ADK_KERNEL_NET_PCI
+ select ADK_KERNEL_NETDEV_1000
+ select ADK_KERNEL_NET_ETHERNET
+ help
+ Support for Mikrotik RB411.
+
+config ADK_LINUX_MIPS_RB433
+ bool "Mikrotik Routerboard 433"
+ select ADK_rb433
+ select ADK_KERNEL_NETDEVICES
+ select ADK_KERNEL_NET_PCI
+ select ADK_KERNEL_NETDEV_1000
+ select ADK_KERNEL_NET_ETHERNET
+ help
+ Support for Mikrotik RB433.
+
+config ADK_LINUX_MIPS_RB532
+ bool "Mikrotik Routerboard 532"
+ select ADK_rb532
+ select ADK_KERNEL_NETDEVICES
+ select ADK_KERNEL_NET_PCI
+ select ADK_KERNEL_NET_ETHERNET
+ select ADK_KERNEL_MII
+ help
+ Support for Mikrotik RB532.
+endchoice
+
+choice
prompt "Device model"
default ADK_LINUX_CRIS_FOXBOARD_CLASSIC
depends on ADK_LINUX_CRIS_FOXBOARD
diff --git a/target/alix1c/Makefile b/target/alix1c/Makefile
index f71ab293d..4df5b14a6 100644
--- a/target/alix1c/Makefile
+++ b/target/alix1c/Makefile
@@ -14,11 +14,11 @@ ifeq ($(FS),ext2-cf)
imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
@echo
@echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL),"
- @echo "To install everything to CompactFlash use scripts/install.sh."
+ @echo "To install everything to CompactFlash use scripts/install.sh"
endif
ifeq ($(FS),nfsroot)
imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
@echo
@echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL),"
- @echo "To install everything to CompactFlash use scripts/install.sh."
+ @echo 'The nfs root tarball is: ${BIN_DIR}/${ROOTFSTARBALL}'
endif
diff --git a/target/linux/patches/2.6.29/cygwin-compat.patch b/target/linux/patches/2.6.29.1/cygwin-compat.patch
index 453748618..453748618 100644
--- a/target/linux/patches/2.6.29/cygwin-compat.patch
+++ b/target/linux/patches/2.6.29.1/cygwin-compat.patch
diff --git a/target/linux/patches/2.6.29/freebsd-compat.patch b/target/linux/patches/2.6.29.1/freebsd-compat.patch
index fb09008f6..fb09008f6 100644
--- a/target/linux/patches/2.6.29/freebsd-compat.patch
+++ b/target/linux/patches/2.6.29.1/freebsd-compat.patch
diff --git a/target/linux/patches/2.6.29/mips-gcc-44.patch b/target/linux/patches/2.6.29.1/mips-gcc-44.patch
index ccee68b9b..ccee68b9b 100644
--- a/target/linux/patches/2.6.29/mips-gcc-44.patch
+++ b/target/linux/patches/2.6.29.1/mips-gcc-44.patch
diff --git a/target/linux/patches/2.6.29/ocf.patch b/target/linux/patches/2.6.29.1/ocf.patch
index 69cffc1da..69cffc1da 100644
--- a/target/linux/patches/2.6.29/ocf.patch
+++ b/target/linux/patches/2.6.29.1/ocf.patch
diff --git a/target/linux/patches/2.6.29/swconfig.patch b/target/linux/patches/2.6.29.1/swconfig.patch
index 4e34e5ff5..4e34e5ff5 100644
--- a/target/linux/patches/2.6.29/swconfig.patch
+++ b/target/linux/patches/2.6.29.1/swconfig.patch
diff --git a/target/linux/patches/2.6.29/yaffs2.patch b/target/linux/patches/2.6.29.1/yaffs2.patch
index 6c384b74c..6c384b74c 100644
--- a/target/linux/patches/2.6.29/yaffs2.patch
+++ b/target/linux/patches/2.6.29.1/yaffs2.patch
diff --git a/target/linux/patches/cygwin-compat.patch b/target/linux/patches/2.6.30/cygwin-compat.patch
index 8d087dddf..8d087dddf 100644
--- a/target/linux/patches/cygwin-compat.patch
+++ b/target/linux/patches/2.6.30/cygwin-compat.patch
diff --git a/target/linux/patches/freebsd-compat.patch b/target/linux/patches/2.6.30/freebsd-compat.patch
index 051fdc63e..051fdc63e 100644
--- a/target/linux/patches/freebsd-compat.patch
+++ b/target/linux/patches/2.6.30/freebsd-compat.patch
diff --git a/target/linux/patches/2.6.30/mips-delay-fix.patch b/target/linux/patches/2.6.30/mips-delay-fix.patch
new file mode 100644
index 000000000..bb99f1df6
--- /dev/null
+++ b/target/linux/patches/2.6.30/mips-delay-fix.patch
@@ -0,0 +1,11 @@
+diff -Nur linux-2.6.30.orig/arch/mips/lib/delay.c linux-2.6.30/arch/mips/lib/delay.c
+--- linux-2.6.30.orig/arch/mips/lib/delay.c 2009-06-10 05:05:27.000000000 +0200
++++ linux-2.6.30/arch/mips/lib/delay.c 2009-06-12 19:11:07.000000000 +0200
+@@ -51,6 +51,6 @@
+ {
+ unsigned int lpj = current_cpu_data.udelay_val;
+
+- __delay((us * 0x00000005 * HZ * lpj) >> 32);
++ __delay((ns * 0x00000005 * HZ * lpj) >> 32);
+ }
+ EXPORT_SYMBOL(__ndelay);
diff --git a/target/linux/patches/2.6.30/mtd-root.patch b/target/linux/patches/2.6.30/mtd-root.patch
new file mode 100644
index 000000000..3576848be
--- /dev/null
+++ b/target/linux/patches/2.6.30/mtd-root.patch
@@ -0,0 +1,62 @@
+diff -Nur linux-2.6.29.1.orig/drivers/mtd/Kconfig linux-2.6.29.1/drivers/mtd/Kconfig
+--- linux-2.6.29.1.orig/drivers/mtd/Kconfig 2009-04-02 22:55:27.000000000 +0200
++++ linux-2.6.29.1/drivers/mtd/Kconfig 2009-05-02 19:24:14.444062164 +0200
+@@ -53,6 +53,11 @@
+ should normally be compiled as kernel modules. The modules perform
+ various checks and verifications when loaded.
+
++config MTD_ROOTFS_ROOT_DEV
++ bool "Automatically set 'rootfs' partition to be root filesystem"
++ depends on MTD_PARTITIONS
++ default y
++
+ config MTD_REDBOOT_PARTS
+ tristate "RedBoot partition table parsing"
+ depends on MTD_PARTITIONS
+diff -Nur linux-2.6.29.1.orig/drivers/mtd/mtdpart.c linux-2.6.29.1/drivers/mtd/mtdpart.c
+--- linux-2.6.29.1.orig/drivers/mtd/mtdpart.c 2009-04-02 22:55:27.000000000 +0200
++++ linux-2.6.29.1/drivers/mtd/mtdpart.c 2009-05-02 19:26:39.038093851 +0200
+@@ -18,6 +18,7 @@
+ #include <linux/mtd/mtd.h>
+ #include <linux/mtd/partitions.h>
+ #include <linux/mtd/compatmac.h>
++#include <linux/root_dev.h>
+
+ /* Our partition linked list */
+ static LIST_HEAD(mtd_partitions);
+@@ -37,7 +38,7 @@
+ * the pointer to that structure with this macro.
+ */
+ #define PART(x) ((struct mtd_part *)(x))
+-
++#define IS_PART(mtd) (mtd->read == part_read)
+
+ /*
+ * MTD methods which simply translate the effective address and pass through
+@@ -502,14 +503,23 @@
+ {
+ struct mtd_part *slave;
+ uint64_t cur_offset = 0;
+- int i;
++ int i, j, ret;
+
+ printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name);
+
+- for (i = 0; i < nbparts; i++) {
+- slave = add_one_partition(master, parts + i, i, cur_offset);
++ for (i = 0, j = 0; i < nbparts; i++) {
++ slave = add_one_partition(master, parts + i, j++, cur_offset);
+ if (!slave)
+ return -ENOMEM;
++ if (!strcmp(parts[i].name, "rootfs") && slave->registered) {
++#ifdef CONFIG_MTD_ROOTFS_ROOT_DEV
++ if (ROOT_DEV == 0) {
++ printk(KERN_NOTICE "mtd: partition \"rootfs\" "
++ "set to be root filesystem\n");
++ ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, slave->mtd.index);
++ }
++#endif
++ }
+ cur_offset = slave->offset + slave->mtd.size;
+ }
+
diff --git a/target/linux/patches/ocf.patch b/target/linux/patches/2.6.30/ocf.patch
index 64c5eeb0f..64c5eeb0f 100644
--- a/target/linux/patches/ocf.patch
+++ b/target/linux/patches/2.6.30/ocf.patch
diff --git a/target/linux/patches/swconfig.patch b/target/linux/patches/2.6.30/swconfig.patch
index 3297bb116..3297bb116 100644
--- a/target/linux/patches/swconfig.patch
+++ b/target/linux/patches/2.6.30/swconfig.patch
diff --git a/target/linux/patches/yaffs2.patch b/target/linux/patches/2.6.30/yaffs2.patch
index a19ab9c84..a19ab9c84 100644
--- a/target/linux/patches/yaffs2.patch
+++ b/target/linux/patches/2.6.30/yaffs2.patch
diff --git a/target/wag54g/Makefile b/target/wag54g/Makefile
index 2c7f1581b..65a6f5475 100644
--- a/target/wag54g/Makefile
+++ b/target/wag54g/Makefile
@@ -30,14 +30,14 @@ kernel-install: tools-compile
-o $(BIN_DIR)/${DEVICE}-${ARCH}-kernel
ifeq ($(FS),squashfs)
-imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
+imageinstall: $(BIN_DIR)/$(ROOTFSSQUASHFS)
+ ${CP} ${BUILD_DIR}/${ROOTFSSQUASHFS} $(BIN_DIR)/$(ROOTFSSQUASHFS)
@echo
- @echo 'The kernel file is: ${BIN_DIR}/${DEVICE}-${ARCH}-kernel'
- @echo 'The nfs root tarball is: ${BIN_DIR}/${ROOTFSTARBALL}'
- @echo 'You can flash the kernel via tftp:'
+ @echo The image file is $(ROOTFSSQUASHFS)
+ @echo 'You can flash the image via tftp:'
@echo 'tftp 192.168.1.1'
@echo 'tftp> binary'
- @echo 'tftp> put wag54g-mips-kernel upgrade_code.bin'
+ @echo "tftp> put $(ROOTFSSQUASHFS) upgrade_code.bin"
endif
diff --git a/target/wag54g/kernel.config b/target/wag54g/kernel.config
index 684c2065b..525dba591 100644
--- a/target/wag54g/kernel.config
+++ b/target/wag54g/kernel.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29.1
-# Mon Jun 1 20:30:47 2009
+# Thu Jun 11 14:39:35 2009
#
CONFIG_MIPS=y
@@ -142,9 +142,10 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
+# CONFIG_UNEVICTABLE_LRU is not set
+CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_HZ_48 is not set
CONFIG_HZ_100=y
@@ -172,9 +173,10 @@ CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SWAP=y
-# CONFIG_SYSVIPC is not set
-# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
@@ -208,14 +210,14 @@ CONFIG_BUG=y
# CONFIG_ELF_CORE is not set
# CONFIG_PCSPKR_PLATFORM is not set
CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
+# CONFIG_FUTEX is not set
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_AIO is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
@@ -224,7 +226,6 @@ CONFIG_SLAB=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
@@ -279,7 +280,7 @@ CONFIG_NET=y
#
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
+CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
@@ -391,8 +392,10 @@ CONFIG_MTD_BLOCK=y
#
# RAM/ROM/Flash chip drivers
#
-# CONFIG_MTD_CFI is not set
+CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
@@ -403,6 +406,10 @@ CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
@@ -410,7 +417,9 @@ CONFIG_MTD_CFI_I2=y
#
# Mapping drivers for chip access
#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -487,7 +496,7 @@ CONFIG_PHYLIB=y
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
-# CONFIG_FIXED_PHY is not set
+CONFIG_FIXED_PHY=y
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
@@ -529,46 +538,18 @@ CONFIG_CPMAC=y
#
# Input device support
#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
+# CONFIG_INPUT is not set
#
# Hardware I/O ports
#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_VT is not set
# CONFIG_DEVKMEM is not set
# CONFIG_SERIAL_NONSTANDARD is not set
@@ -654,17 +635,7 @@ CONFIG_SSB_POSSIBLE=y
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
-CONFIG_DUMMY_CONSOLE=y
# CONFIG_SOUND is not set
-CONFIG_HID_SUPPORT=y
-# CONFIG_HID is not set
-# CONFIG_HID_PID is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
@@ -898,7 +869,6 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC32 is not set
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
-CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
diff --git a/target/wag54g/patches/ar7.patch b/target/wag54g/patches/ar7.patch
index 1398c5e71..adf7c5abd 100644
--- a/target/wag54g/patches/ar7.patch
+++ b/target/wag54g/patches/ar7.patch
@@ -1,6 +1,65 @@
+diff -Nur linux-2.6.29.1.orig/arch/mips/Kconfig linux-2.6.29.1/arch/mips/Kconfig
+--- linux-2.6.29.1.orig/arch/mips/Kconfig 2009-04-02 22:55:27.000000000 +0200
++++ linux-2.6.29.1/arch/mips/Kconfig 2009-06-05 23:38:22.964942366 +0200
+@@ -19,6 +19,24 @@
+ prompt "System type"
+ default SGI_IP22
+
++config AR7
++ bool "Texas Instruments AR7"
++ select BOOT_ELF32
++ select DMA_NONCOHERENT
++ select CEVT_R4K
++ select CSRC_R4K
++ select IRQ_CPU
++ select NO_EXCEPT_FILL
++ select SWAP_IO_SPACE
++ select SYS_HAS_CPU_MIPS32_R1
++ select SYS_HAS_EARLY_PRINTK
++ select SYS_SUPPORTS_32BIT_KERNEL
++ select SYS_SUPPORTS_KGDB
++ select SYS_SUPPORTS_LITTLE_ENDIAN
++ select SYS_SUPPORTS_BIG_ENDIAN
++ select GENERIC_GPIO
++ select GENERIC_HARDIRQS_NO__DO_IRQ
++
+ config MACH_ALCHEMY
+ bool "Alchemy processor based machines"
+
+diff -Nur linux-2.6.29.1.orig/arch/mips/Makefile linux-2.6.29.1/arch/mips/Makefile
+--- linux-2.6.29.1.orig/arch/mips/Makefile 2009-04-02 22:55:27.000000000 +0200
++++ linux-2.6.29.1/arch/mips/Makefile 2009-06-05 23:38:22.972943665 +0200
+@@ -173,6 +173,13 @@
+ #
+
+ #
++# Texas Instruments AR7
++#
++core-$(CONFIG_AR7) += arch/mips/ar7/
++cflags-$(CONFIG_AR7) += -I$(srctree)/arch/mips/include/asm/mach-ar7
++load-$(CONFIG_AR7) += 0xffffffff94100000
++
++#
+ # Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
+ #
+ core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/
+diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/Makefile linux-2.6.29.1/arch/mips/ar7/Makefile
+--- linux-2.6.29.1.orig/arch/mips/ar7/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.29.1/arch/mips/ar7/Makefile 2009-06-05 23:38:22.900939237 +0200
+@@ -0,0 +1,10 @@
++
++obj-y := \
++ prom.o \
++ setup.o \
++ memory.o \
++ irq.o \
++ time.o \
++ platform.o \
++ gpio.o \
++ clock.o
diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/clock.c linux-2.6.29.1/arch/mips/ar7/clock.c
--- linux-2.6.29.1.orig/arch/mips/ar7/clock.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/clock.c 2009-05-31 20:19:17.000000000 +0200
++++ linux-2.6.29.1/arch/mips/ar7/clock.c 2009-06-05 23:38:22.890200159 +0200
@@ -0,0 +1,483 @@
+/*
+ * Copyright (C) 2007 Felix Fietkau <nbd@openwrt.org>
@@ -487,7 +546,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/clock.c linux-2.6.29.1/arch/mips/ar7
+}
diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/gpio.c linux-2.6.29.1/arch/mips/ar7/gpio.c
--- linux-2.6.29.1.orig/arch/mips/ar7/gpio.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/gpio.c 2009-05-31 20:19:27.000000000 +0200
++++ linux-2.6.29.1/arch/mips/ar7/gpio.c 2009-06-05 23:38:22.896939006 +0200
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2007 Felix Fietkau <nbd@openwrt.org>
@@ -540,7 +599,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/gpio.c linux-2.6.29.1/arch/mips/ar7/
+EXPORT_SYMBOL(gpio_free);
diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/irq.c linux-2.6.29.1/arch/mips/ar7/irq.c
--- linux-2.6.29.1.orig/arch/mips/ar7/irq.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/irq.c 2009-05-31 20:19:35.000000000 +0200
++++ linux-2.6.29.1/arch/mips/ar7/irq.c 2009-06-05 23:38:22.896939006 +0200
@@ -0,0 +1,183 @@
+/*
+ * Copyright (C) 2006,2007 Felix Fietkau <nbd@openwrt.org>
@@ -725,23 +784,9 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/irq.c linux-2.6.29.1/arch/mips/ar7/i
+ else
+ spurious_interrupt();
+}
-diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/Makefile linux-2.6.29.1/arch/mips/ar7/Makefile
---- linux-2.6.29.1.orig/arch/mips/ar7/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/Makefile 2009-05-31 19:50:05.000000000 +0200
-@@ -0,0 +1,10 @@
-+
-+obj-y := \
-+ prom.o \
-+ setup.o \
-+ memory.o \
-+ irq.o \
-+ time.o \
-+ platform.o \
-+ gpio.o \
-+ clock.o
diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/memory.c linux-2.6.29.1/arch/mips/ar7/memory.c
--- linux-2.6.29.1.orig/arch/mips/ar7/memory.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/memory.c 2009-05-31 19:50:05.000000000 +0200
++++ linux-2.6.29.1/arch/mips/ar7/memory.c 2009-06-05 23:38:22.900939237 +0200
@@ -0,0 +1,74 @@
+/*
+ * Based on arch/mips/mm/init.c
@@ -819,8 +864,8 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/memory.c linux-2.6.29.1/arch/mips/ar
+}
diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/platform.c linux-2.6.29.1/arch/mips/ar7/platform.c
--- linux-2.6.29.1.orig/arch/mips/ar7/platform.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/platform.c 2009-06-01 13:34:18.000000000 +0200
-@@ -0,0 +1,535 @@
++++ linux-2.6.29.1/arch/mips/ar7/platform.c 2009-06-11 11:03:47.318484670 +0200
+@@ -0,0 +1,554 @@
+/*
+ * Copyright (C) 2006,2007 Felix Fietkau <nbd@openwrt.org>
+ * Copyright (C) 2006,2007 Eugene Konev <ejka@openwrt.org>
@@ -856,6 +901,9 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/platform.c linux-2.6.29.1/arch/mips/
+#include <linux/vlynq.h>
+#include <linux/leds.h>
+#include <linux/string.h>
++#include <linux/phy.h>
++#include <linux/phy_fixed.h>
++
+
+#include <asm/addrspace.h>
+#include <asm/mach-ar7/ar7.h>
@@ -1028,6 +1076,13 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/platform.c linux-2.6.29.1/arch/mips/
+ .width = 2,
+};
+
++/* lets assume this is suitable for both high and low cpmacs links */
++static struct fixed_phy_status fixed_phy_status __initdata = {
++ .link = 1,
++ .speed = 100,
++ .duplex = 1,
++};
++
+static struct plat_cpmac_data cpmac_low_data = {
+ .reset_bit = 17,
+ .power_bit = 20,
@@ -1331,6 +1386,10 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/platform.c linux-2.6.29.1/arch/mips/
+ }
+
+ if (ar7_has_high_cpmac()) {
++ res = fixed_phy_add(PHY_POLL, cpmac_high.id, &fixed_phy_status);
++ if (res && res != -ENODEV) {
++ return res;
++ }
+ cpmac_get_mac(1, cpmac_high_data.dev_addr);
+ res = platform_device_register(&cpmac_high);
+ if (res)
@@ -1339,6 +1398,11 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/platform.c linux-2.6.29.1/arch/mips/
+ cpmac_low_data.phy_mask = 0xffffffff;
+ }
+
++ res = fixed_phy_add(PHY_POLL, cpmac_low.id, &fixed_phy_status);
++ if (res && res != -ENODEV) {
++ return res;
++ }
++
+ cpmac_get_mac(0, cpmac_low_data.dev_addr);
+ res = platform_device_register(&cpmac_low);
+ if (res)
@@ -1358,7 +1422,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/platform.c linux-2.6.29.1/arch/mips/
+arch_initcall(ar7_register_devices);
diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/prom.c linux-2.6.29.1/arch/mips/ar7/prom.c
--- linux-2.6.29.1.orig/arch/mips/ar7/prom.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/prom.c 2009-05-31 20:18:44.000000000 +0200
++++ linux-2.6.29.1/arch/mips/ar7/prom.c 2009-06-05 23:38:22.904938908 +0200
@@ -0,0 +1,321 @@
+/*
+ * Carsten Langgaard, carstenl@mips.com
@@ -1683,7 +1747,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/prom.c linux-2.6.29.1/arch/mips/ar7/
+#endif
diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/setup.c linux-2.6.29.1/arch/mips/ar7/setup.c
--- linux-2.6.29.1.orig/arch/mips/ar7/setup.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/setup.c 2009-06-01 12:36:33.000000000 +0200
++++ linux-2.6.29.1/arch/mips/ar7/setup.c 2009-06-05 23:38:22.908939139 +0200
@@ -0,0 +1,105 @@
+/*
+ * Carsten Langgaard, carstenl@mips.com
@@ -1792,7 +1856,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/setup.c linux-2.6.29.1/arch/mips/ar7
+console_initcall(ar7_init_console);
diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/time.c linux-2.6.29.1/arch/mips/ar7/time.c
--- linux-2.6.29.1.orig/arch/mips/ar7/time.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/ar7/time.c 2009-06-01 12:37:00.000000000 +0200
++++ linux-2.6.29.1/arch/mips/ar7/time.c 2009-06-05 23:38:22.908939139 +0200
@@ -0,0 +1,28 @@
+/*
+ * Carsten Langgaard, carstenl@mips.com
@@ -1824,7 +1888,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/ar7/time.c linux-2.6.29.1/arch/mips/ar7/
+}
diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/ar7.h linux-2.6.29.1/arch/mips/include/asm/mach-ar7/ar7.h
--- linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/ar7.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/ar7.h 2009-05-31 19:50:04.000000000 +0200
++++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/ar7.h 2009-06-05 23:38:22.912938811 +0200
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2006,2007 Felix Fietkau <nbd@openwrt.org>
@@ -1998,7 +2062,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/ar7.h linux-2.6.29.
+#endif /* __AR7_H__ */
diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/gpio.h linux-2.6.29.1/arch/mips/include/asm/mach-ar7/gpio.h
--- linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/gpio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/gpio.h 2009-05-31 20:26:23.000000000 +0200
++++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/gpio.h 2009-06-05 23:38:22.920939272 +0200
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2007 Florian Fainelli <florian@openwrt.org>
@@ -2111,7 +2175,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/gpio.h linux-2.6.29
+#endif
diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/irq.h linux-2.6.29.1/arch/mips/include/asm/mach-ar7/irq.h
--- linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/irq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/irq.h 2009-05-31 19:50:04.000000000 +0200
++++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/irq.h 2009-06-05 23:38:22.957186350 +0200
@@ -0,0 +1,16 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -2131,7 +2195,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/irq.h linux-2.6.29.
+#endif /* __ASM_AR7_IRQ_H */
diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/prom.h linux-2.6.29.1/arch/mips/include/asm/mach-ar7/prom.h
--- linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/prom.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/prom.h 2009-05-31 19:50:04.000000000 +0200
++++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/prom.h 2009-06-05 23:38:22.957186350 +0200
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2006, 2007 Florian Fainelli <florian@openwrt.org>
@@ -2161,7 +2225,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/prom.h linux-2.6.29
+#endif /* __PROM_H__ */
diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/spaces.h linux-2.6.29.1/arch/mips/include/asm/mach-ar7/spaces.h
--- linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/spaces.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/spaces.h 2009-05-31 19:50:04.000000000 +0200
++++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/spaces.h 2009-06-05 23:38:22.957186350 +0200
@@ -0,0 +1,32 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -2197,7 +2261,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/spaces.h linux-2.6.
+#endif /* __ASM_AR7_SPACES_H */
diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/war.h linux-2.6.29.1/arch/mips/include/asm/mach-ar7/war.h
--- linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/war.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/war.h 2009-05-31 19:50:04.000000000 +0200
++++ linux-2.6.29.1/arch/mips/include/asm/mach-ar7/war.h 2009-06-05 23:38:22.957186350 +0200
@@ -0,0 +1,25 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -2226,7 +2290,7 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/mach-ar7/war.h linux-2.6.29.
+#endif /* __ASM_MIPS_MACH_BCM947XX_WAR_H */
diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/page.h linux-2.6.29.1/arch/mips/include/asm/page.h
--- linux-2.6.29.1.orig/arch/mips/include/asm/page.h 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/mips/include/asm/page.h 2009-05-31 19:57:06.000000000 +0200
++++ linux-2.6.29.1/arch/mips/include/asm/page.h 2009-06-05 23:38:22.964942366 +0200
@@ -182,8 +182,11 @@
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
@@ -2241,37 +2305,9 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/include/asm/page.h linux-2.6.29.1/arch/m
#include <asm-generic/memory_model.h>
#include <asm-generic/page.h>
-diff -Nur linux-2.6.29.1.orig/arch/mips/Kconfig linux-2.6.29.1/arch/mips/Kconfig
---- linux-2.6.29.1.orig/arch/mips/Kconfig 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/mips/Kconfig 2009-05-31 19:55:40.000000000 +0200
-@@ -19,6 +19,24 @@
- prompt "System type"
- default SGI_IP22
-
-+config AR7
-+ bool "Texas Instruments AR7"
-+ select BOOT_ELF32
-+ select DMA_NONCOHERENT
-+ select CEVT_R4K
-+ select CSRC_R4K
-+ select IRQ_CPU
-+ select NO_EXCEPT_FILL
-+ select SWAP_IO_SPACE
-+ select SYS_HAS_CPU_MIPS32_R1
-+ select SYS_HAS_EARLY_PRINTK
-+ select SYS_SUPPORTS_32BIT_KERNEL
-+ select SYS_SUPPORTS_KGDB
-+ select SYS_SUPPORTS_LITTLE_ENDIAN
-+ select SYS_SUPPORTS_BIG_ENDIAN
-+ select GENERIC_GPIO
-+ select GENERIC_HARDIRQS_NO__DO_IRQ
-+
- config MACH_ALCHEMY
- bool "Alchemy processor based machines"
-
diff -Nur linux-2.6.29.1.orig/arch/mips/kernel/traps.c linux-2.6.29.1/arch/mips/kernel/traps.c
--- linux-2.6.29.1.orig/arch/mips/kernel/traps.c 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/mips/kernel/traps.c 2009-05-31 23:46:49.000000000 +0200
++++ linux-2.6.29.1/arch/mips/kernel/traps.c 2009-06-05 23:38:22.972943665 +0200
@@ -1256,9 +1256,22 @@
exception_handlers[n] = handler;
@@ -2298,26 +2334,62 @@ diff -Nur linux-2.6.29.1.orig/arch/mips/kernel/traps.c linux-2.6.29.1/arch/mips/
}
return (void *)old_handler;
}
-diff -Nur linux-2.6.29.1.orig/arch/mips/Makefile linux-2.6.29.1/arch/mips/Makefile
---- linux-2.6.29.1.orig/arch/mips/Makefile 2009-04-02 22:55:27.000000000 +0200
-+++ linux-2.6.29.1/arch/mips/Makefile 2009-05-31 20:01:45.000000000 +0200
-@@ -173,6 +173,13 @@
- #
+diff -Nur linux-2.6.29.1.orig/drivers/Kconfig linux-2.6.29.1/drivers/Kconfig
+--- linux-2.6.29.1.orig/drivers/Kconfig 2009-04-02 22:55:27.000000000 +0200
++++ linux-2.6.29.1/drivers/Kconfig 2009-06-05 23:38:22.988945146 +0200
+@@ -104,6 +104,8 @@
- #
-+# Texas Instruments AR7
-+#
-+core-$(CONFIG_AR7) += arch/mips/ar7/
-+cflags-$(CONFIG_AR7) += -I$(srctree)/arch/mips/include/asm/mach-ar7
-+load-$(CONFIG_AR7) += 0xffffffff94100000
+ source "drivers/uio/Kconfig"
+
++source "drivers/vlynq/Kconfig"
+
-+#
- # Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
- #
- core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/
+ source "drivers/xen/Kconfig"
+
+ source "drivers/staging/Kconfig"
+diff -Nur linux-2.6.29.1.orig/drivers/Makefile linux-2.6.29.1/drivers/Makefile
+--- linux-2.6.29.1.orig/drivers/Makefile 2009-04-02 22:55:27.000000000 +0200
++++ linux-2.6.29.1/drivers/Makefile 2009-06-05 23:38:22.988945146 +0200
+@@ -102,6 +102,7 @@
+ obj-$(CONFIG_HID) += hid/
+ obj-$(CONFIG_PPC_PS3) += ps3/
+ obj-$(CONFIG_OF) += of/
++obj-$(CONFIG_VLYNQ) += vlynq/
+ obj-$(CONFIG_SSB) += ssb/
+ obj-$(CONFIG_VIRTIO) += virtio/
+ obj-$(CONFIG_STAGING) += staging/
+diff -Nur linux-2.6.29.1.orig/drivers/char/Kconfig linux-2.6.29.1/drivers/char/Kconfig
+--- linux-2.6.29.1.orig/drivers/char/Kconfig 2009-04-02 22:55:27.000000000 +0200
++++ linux-2.6.29.1/drivers/char/Kconfig 2009-06-05 23:38:22.984944077 +0200
+@@ -974,6 +974,15 @@
+ To compile this driver as a module, choose M here: the
+ module will be called mwave.
+
++config AR7_GPIO
++ tristate "TI AR7 GPIO Support"
++ depends on AR7
++ help
++ Give userspace access to the GPIO pins on the Texas Instruments AR7
++ processors.
++
++ If compiled as a module, it will be called ar7_gpio.
++