From 5c105d9f3fd086aff195d3849dcf847d6b0bd927 Mon Sep 17 00:00:00 2001 From: blogic Date: Fri, 5 Oct 2012 10:12:53 +0000 Subject: branch Attitude Adjustment git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/au1000/Makefile | 32 +++++ target/linux/au1000/au1500/config-3.3 | 141 +++++++++++++++++++++ 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-3.3 | 140 ++++++++++++++++++++ target/linux/au1000/au1550/profiles/DBAu1550.mk | 13 ++ target/linux/au1000/au1550/target.mk | 7 + target/linux/au1000/base-files/etc/diag.sh | 25 ++++ .../au1000/base-files/lib/upgrade/platform.sh | 36 ++++++ target/linux/au1000/image/Makefile | 71 +++++++++++ target/linux/au1000/modules.mk | 16 +++ .../au1000/patches-3.3/002-openwrt_rootfs.patch | 11 ++ .../au1000/patches-3.3/003-au1000_eth_ioctl.patch | 17 +++ .../au1000/patches-3.3/004-pci-idsel-cb.patch | 12 ++ 16 files changed, 577 insertions(+) create mode 100644 target/linux/au1000/Makefile create mode 100644 target/linux/au1000/au1500/config-3.3 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-3.3 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/image/Makefile create mode 100644 target/linux/au1000/modules.mk create mode 100644 target/linux/au1000/patches-3.3/002-openwrt_rootfs.patch create mode 100644 target/linux/au1000/patches-3.3/003-au1000_eth_ioctl.patch create mode 100644 target/linux/au1000/patches-3.3/004-pci-idsel-cb.patch (limited to 'target/linux/au1000') 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 + +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 */ -- cgit v1.2.3