au1000: add support for kernel 3.10
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 6 Jul 2014 18:20:59 +0000 (18:20 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 6 Jul 2014 18:20:59 +0000 (18:20 +0000)
This is compile tested only, please run test and report back.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41534

target/linux/au1000/au1500/config-3.10 [new file with mode: 0644]
target/linux/au1000/au1550/config-3.10 [new file with mode: 0644]
target/linux/au1000/config-3.10 [new file with mode: 0644]
target/linux/au1000/patches-3.10/002-openwrt_rootfs.patch [new file with mode: 0644]
target/linux/au1000/patches-3.10/003-au1000_eth_ioctl.patch [new file with mode: 0644]
target/linux/au1000/patches-3.10/004-watchdog_low_init.patch [new file with mode: 0644]

diff --git a/target/linux/au1000/au1500/config-3.10 b/target/linux/au1000/au1500/config-3.10
new file mode 100644 (file)
index 0000000..f26be66
--- /dev/null
@@ -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 (file)
index 0000000..7d25d60
--- /dev/null
@@ -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 (file)
index 0000000..c5c79f2
--- /dev/null
@@ -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 (file)
index 0000000..4fd7654
--- /dev/null
@@ -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 (file)
index 0000000..062157b
--- /dev/null
@@ -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 (file)
index 0000000..d42470e
--- /dev/null
@@ -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;