aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/au1000
diff options
context:
space:
mode:
authorJames <>2015-09-26 12:29:31 +0100
committerJames <>2015-09-26 12:29:31 +0100
commit626d9efa74685720020e816f3a917b7591d3cf7a (patch)
treed22eef73ae82287b30a1140decb4fc806d39d621 /target/linux/au1000
downloadtrunk-47048-626d9efa74685720020e816f3a917b7591d3cf7a.tar.gz
trunk-47048-626d9efa74685720020e816f3a917b7591d3cf7a.tar.bz2
trunk-47048-626d9efa74685720020e816f3a917b7591d3cf7a.zip
trunk-47048
Diffstat (limited to 'target/linux/au1000')
-rw-r--r--target/linux/au1000/Makefile32
-rw-r--r--target/linux/au1000/au1500/config-default5
-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-default4
-rw-r--r--target/linux/au1000/au1550/profiles/DBAu1550.mk13
-rw-r--r--target/linux/au1000/au1550/target.mk8
-rw-r--r--target/linux/au1000/base-files/etc/diag.sh21
-rw-r--r--target/linux/au1000/base-files/lib/upgrade/platform.sh36
-rw-r--r--target/linux/au1000/config-3.18141
-rw-r--r--target/linux/au1000/image/Makefile74
-rw-r--r--target/linux/au1000/modules.mk17
-rw-r--r--target/linux/au1000/patches/002-openwrt_rootfs.patch11
-rw-r--r--target/linux/au1000/patches/003-au1000_eth_ioctl.patch17
-rw-r--r--target/linux/au1000/patches/004-watchdog_low_init.patch12
-rw-r--r--target/linux/au1000/patches/006-codec.patch26
18 files changed, 473 insertions, 0 deletions
diff --git a/target/linux/au1000/Makefile b/target/linux/au1000/Makefile
new file mode 100644
index 0000000..7438e9b
--- /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:=squashfs usb pci
+SUBTARGETS=au1500 au1550
+MAINTAINER:=Florian Fainelli <florian@openwrt.org>
+
+KERNEL_PATCHVER:=3.18
+
+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-default b/target/linux/au1000/au1500/config-default
new file mode 100644
index 0000000..0289d96
--- /dev/null
+++ b/target/linux/au1000/au1500/config-default
@@ -0,0 +1,5 @@
+CONFIG_DMA_NONCOHERENT=y
+# CONFIG_MIPS_DB1550 is not set
+CONFIG_MIPS_MTX1=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_WDT_MTX1=y
diff --git a/target/linux/au1000/au1500/profiles/Atheros.mk b/target/linux/au1000/au1500/profiles/Atheros.mk
new file mode 100644
index 0000000..75e8e10
--- /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 0000000..a73f0ce
--- /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 0000000..5f0c14f
--- /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-ext4 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 0000000..240914f
--- /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-default b/target/linux/au1000/au1550/config-default
new file mode 100644
index 0000000..2c641b8
--- /dev/null
+++ b/target/linux/au1000/au1550/config-default
@@ -0,0 +1,4 @@
+CONFIG_DMA_COHERENT=y
+CONFIG_MIPS_DB1550=y
+CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y
+# CONFIG_MIPS_MTX1 is not set
diff --git a/target/linux/au1000/au1550/profiles/DBAu1550.mk b/target/linux/au1000/au1550/profiles/DBAu1550.mk
new file mode 100644
index 0000000..3535be6
--- /dev/null
+++ b/target/linux/au1000/au1550/profiles/DBAu1550.mk
@@ -0,0 +1,13 @@
+#
+# Copyright (C) 2009-2015 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-au1000 kmod-usb-ohci kmod-usb2-pci
+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 0000000..1429cb4
--- /dev/null
+++ b/target/linux/au1000/au1550/target.mk
@@ -0,0 +1,8 @@
+BOARDNAME:=Au1550
+FEATURES += pcmcia
+
+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 0000000..65e3011
--- /dev/null
+++ b/target/linux/au1000/base-files/etc/diag.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+# Copyright (C) 2007-2013 OpenWrt.org
+
+. /lib/functions/leds.sh
+
+set_state() {
+ case "$1" in
+ preinit)
+ led_off "mtx1:green"
+ led_on "mtx1:red"
+ ;;
+ failsafe)
+ led_on "mtx1:green"
+ led_on "mtx1:red"
+ ;;
+ done)
+ led_on "mtx1:green"
+ led_off "mtx1:red"
+ ;;
+ 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 0000000..1a9d151
--- /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-root.fs"
+
+platform_check_image() {
+ [ "$#" -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/config-3.18 b/target/linux/au1000/config-3.18
new file mode 100644
index 0000000..cb2eee2
--- /dev/null
+++ b/target/linux/au1000/config-3.18
@@ -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_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_CEVT_R4K=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock0 rootfstype=squashfs,jffs2"
+CONFIG_CMDLINE_BOOL=y
+# CONFIG_CMDLINE_OVERRIDE is not set
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_GENERIC_DUMP_TLB=y
+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_R4K_CACHE_TLB=y
+CONFIG_CPU_R4K_FPU=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_CRC16=y
+CONFIG_CSRC_R4K=y
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_IO=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_HARDWARE_WATCHPOINTS=y
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_HAVE_CC_STACKPROTECTOR=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+CONFIG_HAVE_DEBUG_STACKOVERFLOW=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_IDE=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HW_HAS_PCI=y
+CONFIG_HW_RANDOM=y
+CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+CONFIG_HZ_PERIODIC=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_IRQ_CPU=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_IRQ_WORK=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=y
+# CONFIG_MIPS_DB1XXX is not set
+# CONFIG_MIPS_DB1235 is not set
+# CONFIG_MIPS_GPR is not set
+# CONFIG_MIPS_HUGE_TLB_SUPPORT 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_XXS1500 is not set
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# 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_RCU_STALL_COMMON is not set
+# CONFIG_SCSI_DMA is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# 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_BIG_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_ZBOOT=y
+CONFIG_TICK_CPU_ACCOUNTING=y
+CONFIG_USB_SUPPORT=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/au1000/image/Makefile b/target/linux/au1000/image/Makefile
new file mode 100644
index 0000000..744e5c6
--- /dev/null
+++ b/target/linux/au1000/image/Makefile
@@ -0,0 +1,74 @@
+#
+# Copyright (C) 2006-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+JFFS2_BLOCKSIZE = 128k
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+LOADADDR = 0x81000000 # RAM start + 16M
+KERNEL_ENTRY = 0x80100000
+RAMSIZE = 0x00100000 # 1MB
+
+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) $(KDIR)/vmlinux-initramfs.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs.srec
+endef
+
+define Image/Build
+ $(SCRIPT_DIR)/srecimage.pl $(KDIR)/root.$(1) $(KDIR)/root.$(1).srec $(FLASH_FS)
+ 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
+ $(CP) $(BIN_DIR)/$(IMG_PREFIX)-$(1).fs $(TMP_DIR)/$(IMG_PREFIX)-root.fs
+ tar -C $(BIN_DIR) -cvzf $(BIN_DIR)/$(IMG_PREFIX)-$(1)-sysupgrade.bin \
+ $(IMG_PREFIX)-vmlinux.bin -C $(TMP_DIR) $(IMG_PREFIX)-root.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 0000000..6b11053
--- /dev/null
+++ b/target/linux/au1000/modules.mk
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2010-2015 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 +kmod-pcmcia-rsrc
+ FILES:=$(LINUX_DIR)/drivers/pcmcia/db1xxx_ss.ko
+ KCONFIG:=CONFIG_PCMCIA_ALCHEMY_DEVBOARD
+ AUTOLOAD:=$(call AutoLoad,41,db1xxx_ss)
+endef
+
+$(eval $(call KernelPackage,pcmcia-au1000))
diff --git a/target/linux/au1000/patches/002-openwrt_rootfs.patch b/target/linux/au1000/patches/002-openwrt_rootfs.patch
new file mode 100644
index 0000000..1de8236
--- /dev/null
+++ b/target/linux/au1000/patches/002-openwrt_rootfs.patch
@@ -0,0 +1,11 @@
+--- a/arch/mips/alchemy/board-mtx1.c
++++ b/arch/mips/alchemy/board-mtx1.c
+@@ -169,7 +169,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/003-au1000_eth_ioctl.patch b/target/linux/au1000/patches/003-au1000_eth_ioctl.patch
new file mode 100644
index 0000000..58927f5
--- /dev/null
+++ b/target/linux/au1000/patches/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
+@@ -1113,10 +1113,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/004-watchdog_low_init.patch b/target/linux/au1000/patches/004-watchdog_low_init.patch
new file mode 100644
index 0000000..0911040
--- /dev/null
+++ b/target/linux/au1000/patches/004-watchdog_low_init.patch
@@ -0,0 +1,12 @@
+--- a/arch/mips/alchemy/board-mtx1.c
++++ b/arch/mips/alchemy/board-mtx1.c
+@@ -98,6 +98,9 @@ void __init board_setup(void)
+ alchemy_gpio_direction_output(211, 1); /* green on */
+ alchemy_gpio_direction_output(212, 0); /* red off */
+
++ /* Set watchdog pin low */
++ alchemy_gpio_direction_output(215, 0);
++
+ pm_power_off = mtx1_power_off;
+ _machine_halt = mtx1_power_off;
+ _machine_restart = mtx1_reset;
diff --git a/target/linux/au1000/patches/006-codec.patch b/target/linux/au1000/patches/006-codec.patch
new file mode 100644
index 0000000..d80cf56
--- /dev/null
+++ b/target/linux/au1000/patches/006-codec.patch
@@ -0,0 +1,26 @@
+--- a/arch/mips/alchemy/devboards/db1300.c
++++ b/arch/mips/alchemy/devboards/db1300.c
+@@ -712,6 +712,7 @@ static struct platform_device db1300_lcd
+
+ /**********************************************************************/
+
++#ifdef CONFIG_TOUCHSCREEN_WM97XX
+ static void db1300_wm97xx_irqen(struct wm97xx *wm, int enable)
+ {
+ if (enable)
+@@ -744,6 +745,15 @@ static int db1300_wm97xx_probe(struct pl
+ return wm97xx_register_mach_ops(wm, &db1300_wm97xx_ops);
+ }
+
++#else
++
++static int db1300_wm97xx_probe(struct platform_device *pdev)
++{
++ return -1;
++}
++
++#endif
++
+ static struct platform_driver db1300_wm97xx_driver = {
+ .driver.name = "wm97xx-touch",
+ .driver.owner = THIS_MODULE,