From 626d9efa74685720020e816f3a917b7591d3cf7a Mon Sep 17 00:00:00 2001 From: James <> Date: Sat, 26 Sep 2015 12:29:31 +0100 Subject: trunk-47048 --- target/linux/au1000/Makefile | 32 +++++ target/linux/au1000/au1500/config-default | 5 + target/linux/au1000/au1500/profiles/Atheros.mk | 13 ++ target/linux/au1000/au1500/profiles/InternetBox.mk | 18 +++ target/linux/au1000/au1500/profiles/MeshCube.mk | 18 +++ target/linux/au1000/au1500/target.mk | 7 + target/linux/au1000/au1550/config-default | 4 + target/linux/au1000/au1550/profiles/DBAu1550.mk | 13 ++ target/linux/au1000/au1550/target.mk | 8 ++ target/linux/au1000/base-files/etc/diag.sh | 21 +++ .../au1000/base-files/lib/upgrade/platform.sh | 36 ++++++ target/linux/au1000/config-3.18 | 141 +++++++++++++++++++++ target/linux/au1000/image/Makefile | 74 +++++++++++ target/linux/au1000/modules.mk | 17 +++ .../linux/au1000/patches/002-openwrt_rootfs.patch | 11 ++ .../au1000/patches/003-au1000_eth_ioctl.patch | 17 +++ .../au1000/patches/004-watchdog_low_init.patch | 12 ++ target/linux/au1000/patches/006-codec.patch | 26 ++++ 18 files changed, 473 insertions(+) create mode 100644 target/linux/au1000/Makefile create mode 100644 target/linux/au1000/au1500/config-default create mode 100644 target/linux/au1000/au1500/profiles/Atheros.mk create mode 100644 target/linux/au1000/au1500/profiles/InternetBox.mk create mode 100644 target/linux/au1000/au1500/profiles/MeshCube.mk create mode 100644 target/linux/au1000/au1500/target.mk create mode 100644 target/linux/au1000/au1550/config-default create mode 100644 target/linux/au1000/au1550/profiles/DBAu1550.mk create mode 100644 target/linux/au1000/au1550/target.mk create mode 100644 target/linux/au1000/base-files/etc/diag.sh create mode 100644 target/linux/au1000/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/au1000/config-3.18 create mode 100644 target/linux/au1000/image/Makefile create mode 100644 target/linux/au1000/modules.mk create mode 100644 target/linux/au1000/patches/002-openwrt_rootfs.patch create mode 100644 target/linux/au1000/patches/003-au1000_eth_ioctl.patch create mode 100644 target/linux/au1000/patches/004-watchdog_low_init.patch create mode 100644 target/linux/au1000/patches/006-codec.patch (limited to 'target/linux/au1000') 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 + +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, -- cgit v1.2.3