Author: hauke Date: 2014-07-06 19:51:14 +0200 (Sun, 06 Jul 2014) New Revision: 41531
Added: trunk/target/linux/gemini/config-3.10 trunk/target/linux/gemini/patches-3.10/ Removed: trunk/target/linux/gemini/patches-3.10/000-ARM-gemini-get-platform-to-build-again.patch Modified: trunk/target/linux/gemini/patches-3.10/130-usb-ehci-gemini-fot2gxx-support.patch trunk/target/linux/gemini/patches-3.10/140-arm-gemini-add-pci-support.patch Log: gemini: add support for kernel 3.10 This is compile tested only, please run test and report back. Signed-off-by: Hauke Mehrtens <[email protected]> Copied: trunk/target/linux/gemini/config-3.10 (from rev 41530, trunk/target/linux/gemini/config-default) =================================================================== --- trunk/target/linux/gemini/config-3.10 (rev 0) +++ trunk/target/linux/gemini/config-3.10 2014-07-06 17:51:14 UTC (rev 41531) @@ -0,0 +1,169 @@ +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +CONFIG_ARCH_GEMINI=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +CONFIG_ARCH_USES_GETTIMEOFFSET=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARM=y +# CONFIG_ARM_CPU_SUSPEND is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_NR_BANKS=8 +CONFIG_ARM_PATCH_PHYS_VIRT=y +# CONFIG_ARPD is not set +CONFIG_ATA=m +CONFIG_ATAGS=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,19200 mem=32M" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_CPU_32v4=y +CONFIG_CPU_ABRT_EV4=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_FA=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_FA=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +CONFIG_CPU_FA526=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_TLB_FA=y +CONFIG_CPU_USE_DOMAINS=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_USER is not set +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DMADEVICES=y +CONFIG_DNOTIFY=y +# CONFIG_DSCC4 is not set +# CONFIG_FARSYNC is not set +CONFIG_FRAME_POINTER=y +CONFIG_GEMINI_MEM_SWAP=y +CONFIG_GEMINI_NET_ENGINE_GMAC=y +CONFIG_GEMINI_WATCHDOG=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IO=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_GPIO_SYSFS=y +# CONFIG_HAMRADIO is not set +CONFIG_HARDIRQS_SW_RESEND=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_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_HAVE_BPF_JIT=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=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_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UID16=y +CONFIG_HDLC=m +CONFIG_HDLC_CISCO=m +CONFIG_HDLC_FR=m +CONFIG_HDLC_PPP=m +CONFIG_HDLC_RAW=m +CONFIG_HWMON=y +CONFIG_HW_RANDOM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_IRQ_WORK=y +CONFIG_KTIME_SCALAR=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_MACH_NAS4220B is not set +# CONFIG_MACH_RUT100 is not set +CONFIG_MACH_WBD111=y +CONFIG_MACH_WBD222=y +CONFIG_MDIO_BITBANG=y +CONFIG_MDIO_BOARDINFO=y +CONFIG_MDIO_GPIO=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MTD_PHYSMAP=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_KUSER_HELPERS=y +CONFIG_NEED_MACH_GPIO_H=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NLS=m +CONFIG_OLD_SIGACTION=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PCI=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PHYLIB=y +# CONFIG_PREEMPT_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_SCHED_HRTICK is not set +CONFIG_SCSI=m +CONFIG_SCSI_MOD=m +# CONFIG_SCSI_MULTI_LUN is not set +CONFIG_SPLIT_PTLOCK_CPUS=999999 +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_UID16=y +CONFIG_UIDGID_CONVERTED=y +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +CONFIG_USB=m +CONFIG_USB_ARCH_HAS_XHCI=y +CONFIG_USB_COMMON=m +# CONFIG_USB_EHCI_HCD is not set +CONFIG_USB_SUPPORT=y +# CONFIG_USB_UHCI_HCD is not set +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WAN=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZONE_DMA_FLAG=0 Deleted: trunk/target/linux/gemini/patches-3.10/000-ARM-gemini-get-platform-to-build-again.patch =================================================================== --- trunk/target/linux/gemini/patches/000-ARM-gemini-get-platform-to-build-again.patch 2014-07-06 17:21:37 UTC (rev 41530) +++ trunk/target/linux/gemini/patches-3.10/000-ARM-gemini-get-platform-to-build-again.patch 2014-07-06 17:51:14 UTC (rev 41531) @@ -1,348 +0,0 @@ -From patchwork Fri Jan 4 15:30:38 2013 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [RFC,1/3] ARM: gemini: get platform to build again -Date: Fri, 04 Jan 2013 15:30:38 -0000 -From: Arnd Bergmann <[email protected]> -X-Patchwork-Id: 1933501 -Message-Id: <[email protected]> -To: Hans Ulli Kroll <[email protected]> -Cc: Russell King <[email protected]>, Arnd Bergmann <[email protected]>, - Florian Fainelli <[email protected]>, - [email protected] - -There is no defconfig file for gemini, which has lead to a lot -of bitrot. This makes the broken board files, the gpio implementation -and the reset logic work again, and fixes the build warnings -that got introduced with the changes to the readl/writel prototypes. - -Signed-off-by: Arnd Bergmann <[email protected]> - ---- -(retransmitted because the original was rejected by linux-arm-kernel) - - arch/arm/Kconfig | 1 + - arch/arm/mach-gemini/Makefile | 2 +- - arch/arm/mach-gemini/board-nas4220b.c | 1 + - arch/arm/mach-gemini/board-rut1xx.c | 2 ++ - arch/arm/mach-gemini/board-wbd111.c | 1 + - arch/arm/mach-gemini/board-wbd222.c | 1 + - arch/arm/mach-gemini/common.h | 2 ++ - arch/arm/mach-gemini/gpio.c | 19 ++++++++++--------- - arch/arm/mach-gemini/include/mach/hardware.h | 2 +- - arch/arm/mach-gemini/include/mach/system.h | 23 ----------------------- - arch/arm/mach-gemini/irq.c | 4 ++-- - arch/arm/mach-gemini/mm.c | 22 +++++++++++----------- - arch/arm/mach-gemini/reset.c | 23 +++++++++++++++++++++++ - 13 files changed, 56 insertions(+), 47 deletions(-) - delete mode 100644 arch/arm/mach-gemini/include/mach/system.h - create mode 100644 arch/arm/mach-gemini/reset.c - ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -410,6 +410,7 @@ config ARCH_GEMINI - bool "Cortina Systems Gemini" - select ARCH_REQUIRE_GPIOLIB - select ARCH_USES_GETTIMEOFFSET -+ select NEED_MACH_GPIO_H - select CPU_FA526 - help - Support for the Cortina Systems Gemini family SoCs ---- a/arch/arm/mach-gemini/Makefile -+++ b/arch/arm/mach-gemini/Makefile -@@ -4,7 +4,7 @@ - - # Object file lists. - --obj-y := irq.o mm.o time.o devices.o gpio.o idle.o -+obj-y := irq.o mm.o time.o devices.o gpio.o idle.o reset.o - - # Board-specific support - obj-$(CONFIG_MACH_NAS4220B) += board-nas4220b.o ---- a/arch/arm/mach-gemini/board-nas4220b.c -+++ b/arch/arm/mach-gemini/board-nas4220b.c -@@ -103,4 +103,5 @@ MACHINE_START(NAS4220B, "Raidsonic NAS I - .init_irq = gemini_init_irq, - .init_time = gemini_timer_init, - .init_machine = ib4220b_init, -+ .restart = gemini_restart, - MACHINE_END ---- a/arch/arm/mach-gemini/board-rut1xx.c -+++ b/arch/arm/mach-gemini/board-rut1xx.c -@@ -14,6 +14,7 @@ - #include <linux/leds.h> - #include <linux/input.h> - #include <linux/gpio_keys.h> -+#include <linux/sizes.h> - - #include <asm/mach-types.h> - #include <asm/mach/arch.h> -@@ -87,4 +88,5 @@ MACHINE_START(RUT100, "Teltonika RUT100" - .init_irq = gemini_init_irq, - .init_time = gemini_timer_init, - .init_machine = rut1xx_init, -+ .restart = gemini_restart, - MACHINE_END ---- a/arch/arm/mach-gemini/board-wbd111.c -+++ b/arch/arm/mach-gemini/board-wbd111.c -@@ -130,4 +130,5 @@ MACHINE_START(WBD111, "Wiliboard WBD-111 - .init_irq = gemini_init_irq, - .init_time = gemini_timer_init, - .init_machine = wbd111_init, -+ .restart = gemini_restart, - MACHINE_END ---- a/arch/arm/mach-gemini/board-wbd222.c -+++ b/arch/arm/mach-gemini/board-wbd222.c -@@ -130,4 +130,5 @@ MACHINE_START(WBD222, "Wiliboard WBD-222 - .init_irq = gemini_init_irq, - .init_time = gemini_timer_init, - .init_machine = wbd222_init, -+ .restart = gemini_restart, - MACHINE_END ---- a/arch/arm/mach-gemini/common.h -+++ b/arch/arm/mach-gemini/common.h -@@ -26,4 +26,6 @@ extern int platform_register_pflash(unsi - struct mtd_partition *parts, - unsigned int nr_parts); - -+extern void gemini_restart(char mode, const char *cmd); -+ - #endif /* __GEMINI_COMMON_H__ */ ---- a/arch/arm/mach-gemini/gpio.c -+++ b/arch/arm/mach-gemini/gpio.c -@@ -21,6 +21,7 @@ - - #include <mach/hardware.h> - #include <mach/irqs.h> -+#include <mach/gpio.h> - - #define GPIO_BASE(x) IO_ADDRESS(GEMINI_GPIO_BASE(x)) - -@@ -44,7 +45,7 @@ - - #define GPIO_PORT_NUM 3 - --static void _set_gpio_irqenable(unsigned int base, unsigned int index, -+static void _set_gpio_irqenable(void __iomem *base, unsigned int index, - int enable) - { - unsigned int reg; -@@ -57,7 +58,7 @@ static void _set_gpio_irqenable(unsigned - static void gpio_ack_irq(struct irq_data *d) - { - unsigned int gpio = irq_to_gpio(d->irq); -- unsigned int base = GPIO_BASE(gpio / 32); -+ void __iomem *base = GPIO_BASE(gpio / 32); - - __raw_writel(1 << (gpio % 32), base + GPIO_INT_CLR); - } -@@ -65,7 +66,7 @@ static void gpio_ack_irq(struct irq_data - static void gpio_mask_irq(struct irq_data *d) - { - unsigned int gpio = irq_to_gpio(d->irq); -- unsigned int base = GPIO_BASE(gpio / 32); -+ void __iomem *base = GPIO_BASE(gpio / 32); - - _set_gpio_irqenable(base, gpio % 32, 0); - } -@@ -73,7 +74,7 @@ static void gpio_mask_irq(struct irq_dat - static void gpio_unmask_irq(struct irq_data *d) - { - unsigned int gpio = irq_to_gpio(d->irq); -- unsigned int base = GPIO_BASE(gpio / 32); -+ void __iomem *base = GPIO_BASE(gpio / 32); - - _set_gpio_irqenable(base, gpio % 32, 1); - } -@@ -82,7 +83,7 @@ static int gpio_set_irq_type(struct irq_ - { - unsigned int gpio = irq_to_gpio(d->irq); - unsigned int gpio_mask = 1 << (gpio % 32); -- unsigned int base = GPIO_BASE(gpio / 32); -+ void __iomem *base = GPIO_BASE(gpio / 32); - unsigned int reg_both, reg_level, reg_type; - - reg_type = __raw_readl(base + GPIO_INT_TYPE); -@@ -120,7 +121,7 @@ static int gpio_set_irq_type(struct irq_ - __raw_writel(reg_level, base + GPIO_INT_LEVEL); - __raw_writel(reg_both, base + GPIO_INT_BOTH_EDGE); - -- gpio_ack_irq(d->irq); -+ gpio_ack_irq(d); - - return 0; - } -@@ -153,7 +154,7 @@ static struct irq_chip gpio_irq_chip = { - static void _set_gpio_direction(struct gpio_chip *chip, unsigned offset, - int dir) - { -- unsigned int base = GPIO_BASE(offset / 32); -+ void __iomem *base = GPIO_BASE(offset / 32); - unsigned int reg; - - reg = __raw_readl(base + GPIO_DIR); -@@ -166,7 +167,7 @@ static void _set_gpio_direction(struct g - - static void gemini_gpio_set(struct gpio_chip *chip, unsigned offset, int value) - { -- unsigned int base = GPIO_BASE(offset / 32); -+ void __iomem *base = GPIO_BASE(offset / 32); - - if (value) - __raw_writel(1 << (offset % 32), base + GPIO_DATA_SET); -@@ -176,7 +177,7 @@ static void gemini_gpio_set(struct gpio_ - - static int gemini_gpio_get(struct gpio_chip *chip, unsigned offset) - { -- unsigned int base = GPIO_BASE(offset / 32); -+ void __iomem *base = GPIO_BASE(offset / 32); - - return (__raw_readl(base + GPIO_DATA_IN) >> (offset % 32)) & 1; - } ---- a/arch/arm/mach-gemini/include/mach/hardware.h -+++ b/arch/arm/mach-gemini/include/mach/hardware.h -@@ -69,6 +69,6 @@ - /* - * macro to get at IO space when running virtually - */ --#define IO_ADDRESS(x) ((((x) & 0xFFF00000) >> 4) | ((x) & 0x000FFFFF) | 0xF0000000) -+#define IO_ADDRESS(x) IOMEM((((x) & 0xFFF00000) >> 4) | ((x) & 0x000FFFFF) | 0xF0000000) - - #endif ---- a/arch/arm/mach-gemini/include/mach/system.h -+++ /dev/null -@@ -1,23 +0,0 @@ --/* -- * Copyright (C) 2001-2006 Storlink, Corp. -- * Copyright (C) 2008-2009 Paulius Zaleckas <[email protected]> -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 2 of the License, or -- * (at your option) any later version. -- */ --#ifndef __MACH_SYSTEM_H --#define __MACH_SYSTEM_H -- --#include <linux/io.h> --#include <mach/hardware.h> --#include <mach/global_reg.h> -- --static inline void arch_reset(char mode, const char *cmd) --{ -- __raw_writel(RESET_GLOBAL | RESET_CPU1, -- IO_ADDRESS(GEMINI_GLOBAL_BASE) + GLOBAL_RESET); --} -- --#endif /* __MACH_SYSTEM_H */ ---- a/arch/arm/mach-gemini/irq.c -+++ b/arch/arm/mach-gemini/irq.c -@@ -65,8 +65,8 @@ static struct irq_chip gemini_irq_chip = - - static struct resource irq_resource = { - .name = "irq_handler", -- .start = IO_ADDRESS(GEMINI_INTERRUPT_BASE), -- .end = IO_ADDRESS(FIQ_STATUS(GEMINI_INTERRUPT_BASE)) + 4, -+ .start = GEMINI_INTERRUPT_BASE, -+ .end = FIQ_STATUS(GEMINI_INTERRUPT_BASE) + 4, - }; - - void __init gemini_init_irq(void) ---- a/arch/arm/mach-gemini/mm.c -+++ b/arch/arm/mach-gemini/mm.c -@@ -19,57 +19,57 @@ - /* Page table mapping for I/O region */ - static struct map_desc gemini_io_desc[] __initdata = { - { -- .virtual = IO_ADDRESS(GEMINI_GLOBAL_BASE), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_GLOBAL_BASE), - .pfn =__phys_to_pfn(GEMINI_GLOBAL_BASE), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_UART_BASE), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_UART_BASE), - .pfn = __phys_to_pfn(GEMINI_UART_BASE), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_TIMER_BASE), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_TIMER_BASE), - .pfn = __phys_to_pfn(GEMINI_TIMER_BASE), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_INTERRUPT_BASE), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_INTERRUPT_BASE), - .pfn = __phys_to_pfn(GEMINI_INTERRUPT_BASE), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_POWER_CTRL_BASE), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_POWER_CTRL_BASE), - .pfn = __phys_to_pfn(GEMINI_POWER_CTRL_BASE), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_GPIO_BASE(0)), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_GPIO_BASE(0)), - .pfn = __phys_to_pfn(GEMINI_GPIO_BASE(0)), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_GPIO_BASE(1)), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_GPIO_BASE(1)), - .pfn = __phys_to_pfn(GEMINI_GPIO_BASE(1)), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_GPIO_BASE(2)), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_GPIO_BASE(2)), - .pfn = __phys_to_pfn(GEMINI_GPIO_BASE(2)), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_FLASH_CTRL_BASE), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_FLASH_CTRL_BASE), - .pfn = __phys_to_pfn(GEMINI_FLASH_CTRL_BASE), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_DRAM_CTRL_BASE), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_DRAM_CTRL_BASE), - .pfn = __phys_to_pfn(GEMINI_DRAM_CTRL_BASE), - .length = SZ_512K, - .type = MT_DEVICE, - }, { -- .virtual = IO_ADDRESS(GEMINI_GENERAL_DMA_BASE), -+ .virtual = (unsigned long)IO_ADDRESS(GEMINI_GENERAL_DMA_BASE), - .pfn = __phys_to_pfn(GEMINI_GENERAL_DMA_BASE), - .length = SZ_512K, - .type = MT_DEVICE, ---- /dev/null -+++ b/arch/arm/mach-gemini/reset.c -@@ -0,0 +1,23 @@ -+/* -+ * Copyright (C) 2001-2006 Storlink, Corp. -+ * Copyright (C) 2008-2009 Paulius Zaleckas <[email protected]> -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ */ -+#ifndef __MACH_SYSTEM_H -+#define __MACH_SYSTEM_H -+ -+#include <linux/io.h> -+#include <mach/hardware.h> -+#include <mach/global_reg.h> -+ -+void gemini_restart(char mode, const char *cmd) -+{ -+ __raw_writel(RESET_GLOBAL | RESET_CPU1, -+ IO_ADDRESS(GEMINI_GLOBAL_BASE) + GLOBAL_RESET); -+} -+ -+#endif /* __MACH_SYSTEM_H */ Modified: trunk/target/linux/gemini/patches-3.10/130-usb-ehci-gemini-fot2gxx-support.patch =================================================================== --- trunk/target/linux/gemini/patches/130-usb-ehci-gemini-fot2gxx-support.patch 2014-07-06 17:21:37 UTC (rev 41530) +++ trunk/target/linux/gemini/patches-3.10/130-usb-ehci-gemini-fot2gxx-support.patch 2014-07-06 17:51:14 UTC (rev 41531) @@ -462,7 +462,7 @@ +}; --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h -@@ -600,7 +600,12 @@ static inline unsigned int +@@ -603,7 +603,12 @@ static inline unsigned int ehci_port_speed(struct ehci_hcd *ehci, unsigned int portsc) { if (ehci_is_TDI(ehci)) { @@ -523,7 +523,7 @@ spin_unlock_irq(&ehci->lock); } -@@ -600,7 +609,9 @@ static int ehci_run (struct usb_hcd *hcd +@@ -603,7 +612,9 @@ static int ehci_run (struct usb_hcd *hcd // Philips, Intel, and maybe others need CMD_RUN before the // root hub will detect new devices (why?); NEC doesn't ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET); @@ -533,7 +533,7 @@ ehci_writel(ehci, ehci->command, &ehci->regs->command); dbg_cmd (ehci, "init", ehci->command); -@@ -620,9 +631,11 @@ static int ehci_run (struct usb_hcd *hcd +@@ -623,9 +634,11 @@ static int ehci_run (struct usb_hcd *hcd */ down_write(&ehci_cf_port_reset_rwsem); ehci->rh_state = EHCI_RH_RUNNING; @@ -545,7 +545,7 @@ up_write(&ehci_cf_port_reset_rwsem); ehci->last_periodic_enable = ktime_get_real(); -@@ -1238,6 +1251,11 @@ MODULE_DESCRIPTION(DRIVER_DESC); +@@ -1228,6 +1241,11 @@ MODULE_DESCRIPTION(DRIVER_DESC); MODULE_AUTHOR (DRIVER_AUTHOR); MODULE_LICENSE ("GPL"); @@ -559,7 +559,7 @@ #define PLATFORM_DRIVER ehci_fsl_driver --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c -@@ -912,6 +912,12 @@ static int ehci_hub_control ( +@@ -914,6 +914,12 @@ static int ehci_hub_control ( /* see what we found out */ temp = check_reset_complete (ehci, wIndex, status_reg, ehci_readl(ehci, status_reg)); Modified: trunk/target/linux/gemini/patches-3.10/140-arm-gemini-add-pci-support.patch =================================================================== --- trunk/target/linux/gemini/patches/140-arm-gemini-add-pci-support.patch 2014-07-06 17:21:37 UTC (rev 41530) +++ trunk/target/linux/gemini/patches-3.10/140-arm-gemini-add-pci-support.patch 2014-07-06 17:51:14 UTC (rev 41531) @@ -1,6 +1,6 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -412,6 +412,7 @@ config ARCH_GEMINI +@@ -381,6 +381,7 @@ config ARCH_GEMINI select ARCH_USES_GETTIMEOFFSET select NEED_MACH_GPIO_H select CPU_FA526 _______________________________________________ openwrt-commits mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits
