From 157cf7e582ccb91c8b72bd6bdc9993a2f0c850a1 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 6 Jul 2014 18:20:59 +0000 Subject: [PATCH] au1000: add support for kernel 3.10 This is compile tested only, please run test and report back. Signed-off-by: Hauke Mehrtens SVN-Revision: 41534 --- target/linux/au1000/au1500/config-3.10 | 5 + target/linux/au1000/au1550/config-3.10 | 4 + target/linux/au1000/config-3.10 | 148 ++++++++++++++++++ .../patches-3.10/002-openwrt_rootfs.patch | 11 ++ .../patches-3.10/003-au1000_eth_ioctl.patch | 17 ++ .../patches-3.10/004-watchdog_low_init.patch | 12 ++ 6 files changed, 197 insertions(+) create mode 100644 target/linux/au1000/au1500/config-3.10 create mode 100644 target/linux/au1000/au1550/config-3.10 create mode 100644 target/linux/au1000/config-3.10 create mode 100644 target/linux/au1000/patches-3.10/002-openwrt_rootfs.patch create mode 100644 target/linux/au1000/patches-3.10/003-au1000_eth_ioctl.patch create mode 100644 target/linux/au1000/patches-3.10/004-watchdog_low_init.patch diff --git a/target/linux/au1000/au1500/config-3.10 b/target/linux/au1000/au1500/config-3.10 new file mode 100644 index 0000000000..f26be6629d --- /dev/null +++ b/target/linux/au1000/au1500/config-3.10 @@ -0,0 +1,5 @@ +CONFIG_DMA_NONCOHERENT=y +# CONFIG_MIPS_DB1235 is not set +CONFIG_MIPS_MTX1=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_WDT_MTX1=y diff --git a/target/linux/au1000/au1550/config-3.10 b/target/linux/au1000/au1550/config-3.10 new file mode 100644 index 0000000000..7d25d60c22 --- /dev/null +++ b/target/linux/au1000/au1550/config-3.10 @@ -0,0 +1,4 @@ +CONFIG_DMA_COHERENT=y +CONFIG_MIPS_DB1235=y +CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y +# CONFIG_MIPS_MTX1 is not set diff --git a/target/linux/au1000/config-3.10 b/target/linux/au1000/config-3.10 new file mode 100644 index 0000000000..c5c79f2b1e --- /dev/null +++ b/target/linux/au1000/config-3.10 @@ -0,0 +1,148 @@ +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_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_CRAMFS=m +CONFIG_CRC16=y +CONFIG_CSRC_R4K=y +CONFIG_DMA_NONCOHERENT=y +CONFIG_DUMMY=m +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_HAMRADIO is not set +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_BOOTMEM_INFO_NODE is not set +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=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_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_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_NET_DSA=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_HZ_PERIODIC=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_IRQ_WORK=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=y +# 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_PCI=m +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +CONFIG_SOFT_WATCHDOG=m +# 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_UIDGID_CONVERTED=y +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_SUPPORT=y +CONFIG_WATCHDOG_CORE=y +CONFIG_ZLIB_INFLATE=m +CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/au1000/patches-3.10/002-openwrt_rootfs.patch b/target/linux/au1000/patches-3.10/002-openwrt_rootfs.patch new file mode 100644 index 0000000000..4fd7654dcc --- /dev/null +++ b/target/linux/au1000/patches-3.10/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.10/003-au1000_eth_ioctl.patch b/target/linux/au1000/patches-3.10/003-au1000_eth_ioctl.patch new file mode 100644 index 0000000000..062157b0f0 --- /dev/null +++ b/target/linux/au1000/patches-3.10/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 +@@ -990,10 +990,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.10/004-watchdog_low_init.patch b/target/linux/au1000/patches-3.10/004-watchdog_low_init.patch new file mode 100644 index 0000000000..d42470ef1d --- /dev/null +++ b/target/linux/au1000/patches-3.10/004-watchdog_low_init.patch @@ -0,0 +1,12 @@ +--- a/arch/mips/alchemy/board-mtx1.c ++++ b/arch/mips/alchemy/board-mtx1.c +@@ -100,6 +100,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;