aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/au1000
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/au1000')
-rw-r--r--target/linux/au1000/Makefile32
-rw-r--r--target/linux/au1000/au1500/config-3.3141
-rw-r--r--target/linux/au1000/au1500/profiles/Atheros.mk13
-rw-r--r--target/linux/au1000/au1500/profiles/InternetBox.mk18
-rw-r--r--target/linux/au1000/au1500/profiles/MeshCube.mk18
-rw-r--r--target/linux/au1000/au1500/target.mk7
-rw-r--r--target/linux/au1000/au1550/config-3.3140
-rw-r--r--target/linux/au1000/au1550/profiles/DBAu1550.mk13
-rw-r--r--target/linux/au1000/au1550/target.mk7
-rw-r--r--target/linux/au1000/base-files/etc/diag.sh25
-rw-r--r--target/linux/au1000/base-files/lib/upgrade/platform.sh36
-rw-r--r--target/linux/au1000/image/Makefile71
-rw-r--r--target/linux/au1000/modules.mk16
-rw-r--r--target/linux/au1000/patches-3.3/002-openwrt_rootfs.patch11
-rw-r--r--target/linux/au1000/patches-3.3/003-au1000_eth_ioctl.patch17
-rw-r--r--target/linux/au1000/patches-3.3/004-pci-idsel-cb.patch12
16 files changed, 577 insertions, 0 deletions
diff --git a/target/linux/au1000/Makefile b/target/linux/au1000/Makefile
new file mode 100644
index 000000000..2405ece4e
--- /dev/null
+++ b/target/linux/au1000/Makefile
@@ -0,0 +1,32 @@
+#
+# Copyright (C) 2006-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+ARCH:=mipsel
+BOARD:=au1000
+BOARDNAME:=RMI/AMD AU1x00
+FEATURES:=jffs2 usb pci
+SUBTARGETS=au1500 au1550
+MAINTAINER:=Florian Fainelli <florian@openwrt.org>
+
+LINUX_VERSION:=3.3.8
+
+include $(INCLUDE_DIR)/target.mk
+DEFAULT_PACKAGES += wpad-mini yamonenv
+
+define Target/Description
+ Build firmware for RMI/AMD Alchemy 1500,1550 boards
+ (e.g. 4G-Systems Mesh/Access Cube, DBAu1550 ...)
+endef
+
+define Kernel/BuildImage
+ $(call Kernel/BuildImage/Default)
+ $(CP) $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.flash.srec $(LINUX_DIR)/zImage.flash.srec
+ $(CP) $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.srec $(LINUX_DIR)/zImage.srec
+endef
+
+$(eval $(call BuildTarget))
diff --git a/target/linux/au1000/au1500/config-3.3 b/target/linux/au1000/au1500/config-3.3
new file mode 100644
index 000000000..4c59d8840
--- /dev/null
+++ b/target/linux/au1000/au1500/config-3.3
@@ -0,0 +1,141 @@
+CONFIG_64BIT_PHYS_ADDR=y
+CONFIG_ALCHEMY_GPIOINT_AU1000=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BLK_DEV_IDE_AU1XXX is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_CEVT_R4K_LIB=y
+CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock0 rootfstype=squashfs,jffs2"
+CONFIG_CMDLINE_BOOL=y
+# CONFIG_CMDLINE_OVERRIDE is not set
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_CPU_MIPS32=y
+CONFIG_CPU_MIPS32_R1=y
+CONFIG_CPU_MIPSR1=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_CRAMFS=m
+CONFIG_CRC16=y
+CONFIG_CSRC_R4K_LIB=y
+# CONFIG_DEBUG_ZBOOT is not set
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_DUMMY=m
+CONFIG_EARLY_PRINTK=y
+CONFIG_ELF_CORE=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GPIOLIB=y
+# CONFIG_HAMRADIO is not set
+CONFIG_HARDWARE_WATCHPOINTS=y
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=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_GENERIC_HARDIRQS=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HW_HAS_PCI=y
+CONFIG_HW_RANDOM=y
+CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+CONFIG_I2C=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_ALGOPCF=m
+# CONFIG_I2C_AU1550 is not set
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_IRQ_CPU=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_KERNEL_GZIP=y
+CONFIG_KEXEC=y
+CONFIG_LEDS_GPIO=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MDIO_BOARDINFO=y
+CONFIG_MIPS=y
+CONFIG_MIPS_ALCHEMY=y
+CONFIG_MIPS_AU1X00_ENET=y
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1300 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_GPR is not set
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
+CONFIG_MIPS_MTX1=y
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MMC_AU1X is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PERF_USE_VMALLOC=y
+CONFIG_PHYLIB=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+# CONFIG_SCSI_DMA is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_PCI=m
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SND_SOC_AU1XPSC is not set
+# CONFIG_SND_SOC_AU1XAUDIO is not set
+CONFIG_SOFT_WATCHDOG=m
+# CONFIG_SPI_AU1550 is not set
+# CONFIG_STANDALONE is not set
+CONFIG_SYS_HAS_CPU_MIPS32_R1=y
+CONFIG_SYS_HAS_EARLY_PRINTK=y
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_ZBOOT=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_WDT_MTX1=y
+CONFIG_XZ_DEC=y
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/au1000/au1500/profiles/Atheros.mk b/target/linux/au1000/au1500/profiles/Atheros.mk
new file mode 100644
index 000000000..75e8e108f
--- /dev/null
+++ b/target/linux/au1000/au1500/profiles/Atheros.mk
@@ -0,0 +1,13 @@
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Atheros
+ NAME:=Atheros WiFi (default)
+ PACKAGES:=kmod-ath5k
+endef
+$(eval $(call Profile,Atheros))
+
diff --git a/target/linux/au1000/au1500/profiles/InternetBox.mk b/target/linux/au1000/au1500/profiles/InternetBox.mk
new file mode 100644
index 000000000..a73f0ce9a
--- /dev/null
+++ b/target/linux/au1000/au1500/profiles/InternetBox.mk
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2007-2008 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/InternetBox
+ NAME:=T-Mobile "InternetBox"
+ PACKAGES:=kmod-ath5k kmod-usb-core kmod-usb-ohci kmod-usb-serial kmod-usb-serial-option \
+ comgt
+endef
+
+define Profile/InternetBox/Description
+ Package set for the T-Mobile "InternetBox" (TMD SB1-S)
+endef
+
+$(eval $(call Profile,InternetBox))
diff --git a/target/linux/au1000/au1500/profiles/MeshCube.mk b/target/linux/au1000/au1500/profiles/MeshCube.mk
new file mode 100644
index 000000000..3dff376bf
--- /dev/null
+++ b/target/linux/au1000/au1500/profiles/MeshCube.mk
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2007-2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/MeshCube
+ NAME:=MeshCube MTX-1
+ PACKAGES:=kmod-ath5k kmod-hostap kmod-hostap-pci kmod-net-prism54 \
+ kmod-usb-core kmod-usb-ohci kmod-usb-storage kmod-fs-ext3 kmod-fs-vfat
+endef
+
+define Profile/MeshCube/Description
+ Package set for the 4G MeshCube (MTX-1)
+endef
+
+$(eval $(call Profile,MeshCube))
diff --git a/target/linux/au1000/au1500/target.mk b/target/linux/au1000/au1500/target.mk
new file mode 100644
index 000000000..240914ff7
--- /dev/null
+++ b/target/linux/au1000/au1500/target.mk
@@ -0,0 +1,7 @@
+BOARDNAME:=Au1500
+
+DEFAULT_PACKAGES+= wpad-mini
+
+define Target/Description
+ Build firmware images for Au1500 based boards
+endef
diff --git a/target/linux/au1000/au1550/config-3.3 b/target/linux/au1000/au1550/config-3.3
new file mode 100644
index 000000000..34a821f77
--- /dev/null
+++ b/target/linux/au1000/au1550/config-3.3
@@ -0,0 +1,140 @@
+CONFIG_64BIT_PHYS_ADDR=y
+CONFIG_ALCHEMY_GPIOINT_AU1000=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BLK_DEV_IDE_AU1XXX is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_CEVT_R4K_LIB=y
+CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock0 rootfstype=squashfs,jffs2"
+CONFIG_CMDLINE_BOOL=y
+# CONFIG_CMDLINE_OVERRIDE is not set
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_CPU_MIPS32=y
+CONFIG_CPU_MIPS32_R1=y
+CONFIG_CPU_MIPSR1=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_CRAMFS=m
+CONFIG_CRC16=y
+CONFIG_CSRC_R4K_LIB=y
+# CONFIG_DEBUG_ZBOOT is not set
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DMA_COHERENT=y
+CONFIG_DUMMY=m
+CONFIG_EARLY_PRINTK=y
+CONFIG_ELF_CORE=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GPIOLIB=y
+# CONFIG_HAMRADIO is not set
+CONFIG_HARDWARE_WATCHPOINTS=y
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=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_GENERIC_HARDIRQS=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HW_HAS_PCI=y
+CONFIG_HW_RANDOM=y
+CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+CONFIG_I2C=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_ALGOPCF=m
+# CONFIG_I2C_AU1550 is not set
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_IRQ_CPU=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_KERNEL_GZIP=y
+CONFIG_KEXEC=y
+CONFIG_LEDS_GPIO=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MDIO_BOARDINFO=y
+CONFIG_MIPS=y
+CONFIG_MIPS_ALCHEMY=y
+CONFIG_MIPS_AU1X00_ENET=y
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1300 is not set
+CONFIG_MIPS_DB1550=y
+CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y
+# CONFIG_MIPS_GPR is not set
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+# CONFIG_MIPS_MACHINE is not set
+# CONFIG_MIPS_MTX1 is not set
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MMC_AU1X is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PERF_USE_VMALLOC=y
+CONFIG_PHYLIB=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+# CONFIG_SCSI_DMA is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_PCI=m
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SND_SOC_AU1XPSC is not set
+# CONFIG_SND_SOC_AU1XAUDIO is not set
+CONFIG_SOFT_WATCHDOG=m
+# CONFIG_SPI_AU1550 is not set
+# CONFIG_STANDALONE is not set
+CONFIG_SYS_HAS_CPU_MIPS32_R1=y
+CONFIG_SYS_HAS_EARLY_PRINTK=y
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_ZBOOT=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_XZ_DEC=y
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/au1000/au1550/profiles/DBAu1550.mk b/target/linux/au1000/au1550/profiles/DBAu1550.mk
new file mode 100644
index 000000000..485e6eb04
--- /dev/null
+++ b/target/linux/au1000/au1550/profiles/DBAu1550.mk
@@ -0,0 +1,13 @@
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/DBAu1550
+ NAME:=AMD DBAu1550 Development Kit
+ PACKAGES:=kmod-pcmcia kmod-pcmcia-au1000 kmod-usb-ohci kmod-usb-ehci
+endef
+
+$(eval $(call Profile,DBAu1550))
diff --git a/target/linux/au1000/au1550/target.mk b/target/linux/au1000/au1550/target.mk
new file mode 100644
index 000000000..0d097bdf2
--- /dev/null
+++ b/target/linux/au1000/au1550/target.mk
@@ -0,0 +1,7 @@
+BOARDNAME:=Au1550
+
+DEFAULT_PACKAGES+= wpad-mini
+
+define Target/Description
+ Build firmware images for Au1550 based boards
+endef
diff --git a/target/linux/au1000/base-files/etc/diag.sh b/target/linux/au1000/base-files/etc/diag.sh
new file mode 100644
index 000000000..d97461532
--- /dev/null
+++ b/target/linux/au1000/base-files/etc/diag.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+# Copyright (C) 2007 OpenWrt.org
+
+set_led() {
+ local led="$1"
+ local state="$2"
+ [ -d "/sys/class/leds/mtx1:$led" ] && echo "$state" > "/sys/class/leds/mtx1:$led/brightness"
+}
+
+set_state() {
+ case "$1" in
+ preinit)
+ set_led green 0
+ set_led red 1
+ ;;
+ failsafe)
+ set_led green 1
+ set_led red 1
+ ;;
+ done)
+ set_led green 1
+ set_led red 0
+ ;;
+ esac
+}
diff --git a/target/linux/au1000/base-files/lib/upgrade/platform.sh b/target/linux/au1000/base-files/lib/upgrade/platform.sh
new file mode 100644
index 000000000..85ab21334
--- /dev/null
+++ b/target/linux/au1000/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,36 @@
+KERNEL_IMG="openwrt-au1000-au1500-vmlinux.bin"
+ROOTFS_IMG="openwrt-au1000-au1500-jffs2-128k.fs"
+
+platform_check_image() {
+ [ "$ARGC" -gt 1 ] && return 1
+ case "$(get_magic_word "$1")" in
+ 6f70)
+ ( get_image "$1" | tar -tf - $KERNEL_IMG >/dev/null && \
+ get_image "$1" | tar -tf - $ROOTFS_IMG >/dev/null) || {
+ echo "Invalid image contents"
+ return 1
+ }
+ return 0;;
+ *)
+ echo "Invalid image type"
+ return 1;;
+ esac
+}
+
+platform_do_upgrade() {
+ sync
+ local conf=""
+ [ -f "$CONF_TAR" -a "$SAVE_CONFIG" -eq 1 ] && conf="-j $CONF_TAR"
+ get_image "$1" | tar -Oxvf - $KERNEL_IMG | mtd write - "kernel"
+ get_image "$1" | tar -Oxvf - $ROOTFS_IMG | mtd $conf write - "rootfs"
+}
+
+disable_watchdog() {
+ killall watchdog
+ ( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
+ echo 'Could not disable watchdog'
+ return 1
+ }
+}
+
+append sysupgrade_pre_upgrade disable_watchdog
diff --git a/target/linux/au1000/image/Makefile b/target/linux/au1000/image/Makefile
new file mode 100644
index 000000000..a2f2056d4
--- /dev/null
+++ b/target/linux/au1000/image/Makefile
@@ -0,0 +1,71 @@
+#
+# Copyright (C) 2006-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+LOADADDR = 0x81000000 # RAM start + 16M
+KERNEL_ENTRY = 0x80100000
+RAMSIZE = 0x00100000 # 1MB
+
+JFFS2_BLOCKSIZE = 128k
+
+FLASH_KERNEL := 0xBFD00000
+FLASH_FS := 0xBE000000
+
+LOADER_MAKEOPTS= \
+ KDIR=$(KDIR) \
+ LOADADDR=$(LOADADDR) \
+ KERNEL_ENTRY=$(KERNEL_ENTRY) \
+ RAMSIZE=$(RAMSIZE)
+
+define Build/Clean
+ $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader $(LOADER_MAKEOPTS) clean
+endef
+
+DROP_SECTIONS := .reginfo .mdebug .comment .note .pdr .options .MIPS.options
+OBJCOPY_SREC := $(TARGET_CROSS)objcopy -S -O srec $(addprefix --remove-section=,$(DROP_SECTIONS))
+OBJCOPY_BIN := $(TARGET_CROSS)objcopy -S -O binary $(addprefix --remove-section=,$(DROP_SECTIONS))
+
+define Image/Prepare
+ cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma
+
+ # Build RAM image
+ $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader \
+ $(LOADER_MAKEOPTS) \
+ clean compile
+ $(OBJCOPY_SREC) $(KDIR)/loader.elf $(KDIR)/kernel.ram.srec
+
+ # Build Flash image
+ $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader \
+ $(LOADER_MAKEOPTS) \
+ IMAGE_COPY=1 \
+ LOADER_ENTRY=$(FLASH_KERNEL) \
+ LOADER_TYPE=_flash \
+ clean compile
+ $(OBJCOPY_SREC) $(KDIR)/loader_flash.elf $(KDIR)/kernel.flash.srec
+ $(OBJCOPY_BIN) $(KDIR)/loader_flash.elf $(KDIR)/kernel.flash.bin
+endef
+
+define Image/Build/Initramfs
+ $(OBJCOPY_SREC) $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.srec
+endef
+
+define Image/Build
+ $(TARGET_CROSS)objcopy -O srec -I binary --adjust-vma $(FLASH_FS) $(KDIR)/root.$(1) $(KDIR)/root.$(1).srec
+ grep -v S7 $(KDIR)/root.$(1).srec > $(BIN_DIR)/$(IMG_PREFIX)-$(1).srec
+ grep -v S0 $(KDIR)/kernel.flash.srec >> $(BIN_DIR)/$(IMG_PREFIX)-$(1).srec
+ $(INSTALL_BIN) $(KDIR)/kernel.flash.bin $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.bin
+ $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).fs
+ $(CP) $(KDIR)/kernel.flash.srec $(BIN_DIR)/$(IMG_PREFIX)-vmlinux-flash.srec
+ $(CP) $(KDIR)/kernel.ram.srec $(BIN_DIR)/$(IMG_PREFIX)-vmlinux-ram.srec
+ tar -C $(BIN_DIR) -cvzf $(BIN_DIR)/$(IMG_PREFIX)-sysupgrade.bin $(IMG_PREFIX)-vmlinux.bin $(IMG_PREFIX)-$(1).fs
+ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
+ $(call Image/Build/Initramfs)
+endif
+endef
+
+$(eval $(call BuildImage))
diff --git a/target/linux/au1000/modules.mk b/target/linux/au1000/modules.mk
new file mode 100644
index 000000000..e001db428
--- /dev/null
+++ b/target/linux/au1000/modules.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define KernelPackage/pcmcia-au1000
+ SUBMENU:=$(PCMCIA_MENU)
+ TITLE:=RMI/AMD Au1000 PCMCIA support
+ DEPENDS:=@TARGET_au1000 kmod-pcmcia-core
+ FILES:=$(LINUX_DIR)/drivers/pcmcia/au1x00_ss.ko
+ AUTOLOAD:=$(call AutoLoad,41,au1x00_ss)
+endef
+
+$(eval $(call KernelPackage,pcmcia-au1000))
diff --git a/target/linux/au1000/patches-3.3/002-openwrt_rootfs.patch b/target/linux/au1000/patches-3.3/002-openwrt_rootfs.patch
new file mode 100644
index 000000000..3adf3b44e
--- /dev/null
+++ b/target/linux/au1000/patches-3.3/002-openwrt_rootfs.patch
@@ -0,0 +1,11 @@
+--- a/arch/mips/alchemy/board-mtx1.c
++++ b/arch/mips/alchemy/board-mtx1.c
+@@ -171,7 +171,7 @@ static struct platform_device mtx1_gpio_
+
+ static struct mtd_partition mtx1_mtd_partitions[] = {
+ {
+- .name = "filesystem",
++ .name = "rootfs",
+ .size = 0x01C00000,
+ .offset = 0,
+ },
diff --git a/target/linux/au1000/patches-3.3/003-au1000_eth_ioctl.patch b/target/linux/au1000/patches-3.3/003-au1000_eth_ioctl.patch
new file mode 100644
index 000000000..b97a439a4
--- /dev/null
+++ b/target/linux/au1000/patches-3.3/003-au1000_eth_ioctl.patch
@@ -0,0 +1,17 @@
+--- a/drivers/net/ethernet/amd/au1000_eth.c
++++ b/drivers/net/ethernet/amd/au1000_eth.c
+@@ -991,10 +991,14 @@ static void au1000_multicast_list(struct
+ writel(reg, &aup->mac->control);
+ }
+
++#define AU1000_KNOWN_PHY_IOCTLS (SIOCGMIIPHY & 0xfff0)
+ static int au1000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+ {
+ struct au1000_private *aup = netdev_priv(dev);
+
++ if((cmd & AU1000_KNOWN_PHY_IOCTLS) != AU1000_KNOWN_PHY_IOCTLS)
++ return -EINVAL;
++
+ if (!netif_running(dev))
+ return -EINVAL;
+
diff --git a/target/linux/au1000/patches-3.3/004-pci-idsel-cb.patch b/target/linux/au1000/patches-3.3/004-pci-idsel-cb.patch
new file mode 100644
index 000000000..6b3603220
--- /dev/null
+++ b/target/linux/au1000/patches-3.3/004-pci-idsel-cb.patch
@@ -0,0 +1,12 @@
+--- a/arch/mips/alchemy/board-mtx1.c 2012-06-11 22:02:34.686604093 +0100
++++ b/arch/mips/alchemy/board-mtx1.c 2012-06-11 22:04:23.375143044 +0100
+@@ -228,6 +228,9 @@
+ * adapter on the mtx-1 "singleboard" variant. It triggers a custom
+ * logic chip connected to EXT_IO3 (GPIO1) to suppress IDSEL signals.
+ */
++
++ udelay(1);
++
+ if (assert && devsel != 0)
+ /* Suppress signal to Cardbus */
+ alchemy_gpio_set_value(1, 0); /* set EXT_IO3 OFF */