diff options
Diffstat (limited to 'target/linux/cns21xx')
-rw-r--r-- | target/linux/cns21xx/Makefile | 4 | ||||
-rwxr-xr-x | target/linux/cns21xx/base-files/etc/diag.sh | 32 | ||||
-rwxr-xr-x | target/linux/cns21xx/base-files/etc/uci-defaults/01_leds (renamed from target/linux/cns21xx/base-files/etc/uci-defaults/leds) | 0 | ||||
-rw-r--r-- | target/linux/cns21xx/config-3.8 (renamed from target/linux/cns21xx/config-3.3) | 37 | ||||
-rw-r--r-- | target/linux/cns21xx/image/Makefile | 8 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.3/002-arm-debugll-printk.patch | 24 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/002-arm-debugll-printk.patch | 24 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/003-arm-introduce-fa-platform.patch (renamed from target/linux/cns21xx/patches-3.3/003-arm-introduce-fa-platform.patch) | 24 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/004-arm-add-fa-time.patch (renamed from target/linux/cns21xx/patches-3.3/004-arm-add-fa-time.patch) | 0 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/005-arm-add-fa-gpio-driver.patch (renamed from target/linux/cns21xx/patches-3.3/005-arm-add-fa-gpio-driver.patch) | 0 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/006-arm-add-fa-watchdog-driver.patch (renamed from target/linux/cns21xx/patches-3.3/006-arm-add-fa-watchdog-driver.patch) | 10 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/100-cns21xx-core.patch (renamed from target/linux/cns21xx/patches-3.3/100-cns21xx-core.patch) | 34 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/101-cns21xx-serial-support.patch (renamed from target/linux/cns21xx/patches-3.3/101-cns21xx-serial-support.patch) | 0 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/102-cns21xx-gpiolib-support.patch (renamed from target/linux/cns21xx/patches-3.3/102-cns21xx-gpiolib-support.patch) | 2 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/103-cns21xx-usb-ohci-support.patch (renamed from target/linux/cns21xx/patches-3.3/103-cns21xx-usb-ohci-support.patch) | 39 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/104-cns21xx-usb-ehci-support.patch (renamed from target/linux/cns21xx/patches-3.3/104-cns21xx-usb-ehci-support.patch) | 39 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/105-cns21xx-spi-driver.patch (renamed from target/linux/cns21xx/patches-3.3/105-cns21xx-spi-driver.patch) | 14 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/106-cns21xx-gec-driver.patch (renamed from target/linux/cns21xx/patches-3.3/106-cns21xx-gec-driver.patch) | 4 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/201-cns21xx-add-usb-devices.patch (renamed from target/linux/cns21xx/patches-3.3/201-cns21xx-add-usb-devices.patch) | 0 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/202-cns21xx-add-watchdog-device.patch (renamed from target/linux/cns21xx/patches-3.3/202-cns21xx-add-watchdog-device.patch) | 2 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/203-cns21xx-add-spi-master-device.patch (renamed from target/linux/cns21xx/patches-3.3/203-cns21xx-add-spi-master-device.patch) | 0 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/204-cns21xx-add-gec-device.patch (renamed from target/linux/cns21xx/patches-3.3/204-cns21xx-add-gec-device.patch) | 0 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/301-cns21xx-mach-ns-k330.patch (renamed from target/linux/cns21xx/patches-3.3/301-cns21xx-mach-ns-k330.patch) | 0 | ||||
-rw-r--r-- | target/linux/cns21xx/patches-3.8/302-cns21xx-mach-nsb3ast.patch (renamed from target/linux/cns21xx/patches-3.3/302-cns21xx-mach-nsb3ast.patch) | 0 |
24 files changed, 148 insertions, 149 deletions
diff --git a/target/linux/cns21xx/Makefile b/target/linux/cns21xx/Makefile index cbead08d7..7e2f7646c 100644 --- a/target/linux/cns21xx/Makefile +++ b/target/linux/cns21xx/Makefile @@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk ARCH:=arm BOARD:=cns21xx BOARDNAME:=Cavium Networks Econa CNS21xx -FEATURES:=squashfs broken +FEATURES:=squashfs CFLAGS:=-Os -pipe -march=armv4 -mtune=fa526 -fno-caller-saves -LINUX_VERSION:=3.3.8 +LINUX_VERSION:=3.8.12 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/cns21xx/base-files/etc/diag.sh b/target/linux/cns21xx/base-files/etc/diag.sh index 3fb835262..e5b7ad5e3 100755 --- a/target/linux/cns21xx/base-files/etc/diag.sh +++ b/target/linux/cns21xx/base-files/etc/diag.sh @@ -1,33 +1,9 @@ #!/bin/sh -# -# Copyright (C) 2010 OpenWrt.org -# -# +# Copyright (C) 2010-2013 OpenWrt.org +. /lib/functions/leds.sh . /lib/cns21xx.sh -status_led="" - -led_set_attr() { - [ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2" -} - -status_led_set_timer() { - led_set_attr $status_led "trigger" "timer" - led_set_attr $status_led "delay_on" "$1" - led_set_attr $status_led "delay_off" "$2" -} - -status_led_on() { - led_set_attr $status_led "trigger" "none" - led_set_attr $status_led "brightness" 255 -} - -status_led_off() { - led_set_attr $status_led "trigger" "none" - led_set_attr $status_led "brightness" 0 -} - get_status_led() { case $(get_board_name) in ns-k330) @@ -42,10 +18,10 @@ set_state() { case "$1" in preinit) insmod leds-gpio - status_led_set_timer 200 200 + status_led_blink_preinit ;; failsafe) - status_led_set_timer 50 50 + status_led_blink_failsafe ;; done) status_led_on diff --git a/target/linux/cns21xx/base-files/etc/uci-defaults/leds b/target/linux/cns21xx/base-files/etc/uci-defaults/01_leds index bdebb6c1c..bdebb6c1c 100755 --- a/target/linux/cns21xx/base-files/etc/uci-defaults/leds +++ b/target/linux/cns21xx/base-files/etc/uci-defaults/01_leds diff --git a/target/linux/cns21xx/config-3.3 b/target/linux/cns21xx/config-3.8 index 5e3986020..7b7d7cb36 100644 --- a/target/linux/cns21xx/config-3.3 +++ b/target/linux/cns21xx/config-3.8 @@ -1,18 +1,26 @@ CONFIG_ALIGNMENT_TRAP=y +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y CONFIG_ARCH_CNS21XX=y -CONFIG_ARCH_HAS_CPU_IDLE_WAIT=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 is not set +# CONFIG_ARCH_VT8500_SINGLE is not set +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_ARM=y # CONFIG_ARM_CPU_SUSPEND is not set CONFIG_ARM_L1_CACHE_SHIFT=4 CONFIG_ARM_L1_CACHE_SHIFT_4=y +CONFIG_ARM_NR_BANKS=8 # CONFIG_ARPD is not set CONFIG_ATA=m -CONFIG_BCMA_POSSIBLE=y +CONFIG_ATAGS=y +# CONFIG_CACHE_L2X0 is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CLONE_BACKWARDS=y CONFIG_CMDLINE="console=ttyS0,38400 rootfstype=squashfs,jffs2 noinitrd" CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNS21XX_DEV_GEC=y @@ -33,6 +41,7 @@ CONFIG_CPU_FA526=y 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_DECOMPRESS_LZMA=y CONFIG_DLCI=m @@ -40,13 +49,17 @@ CONFIG_DLCI_MAX=8 CONFIG_DMADEVICES=y CONFIG_DNOTIFY=y CONFIG_EEPROM_AT25=y -CONFIG_ELF_CORE=y CONFIG_FA_WATCHDOG=y CONFIG_FRAME_POINTER=y CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_GPIO=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_SYSFS=y # CONFIG_HAMRADIO is not set @@ -55,10 +68,17 @@ CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAVE_AOUT=y +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_BPF_JIT=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 @@ -72,11 +92,13 @@ 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_SPARSE_IRQ=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UID16=y CONFIG_HDLC=m CONFIG_HDLC_CISCO=m CONFIG_HDLC_FR=m @@ -95,6 +117,7 @@ CONFIG_M25PXX_USE_FAST_READ=y CONFIG_MACH_NSB3AST=y CONFIG_MACH_NS_K330=y CONFIG_MDIO_BOARDINFO=y +CONFIG_MODULES_USE_ELF_REL=y # CONFIG_MTD_CFI is not set CONFIG_MTD_M25P80=y CONFIG_NEED_DMA_MAP_STATE=y @@ -103,6 +126,7 @@ CONFIG_NLS=m CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGE_OFFSET=0xC0000000 # CONFIG_PCI_SYSCALL is not set +CONFIG_PERCPU_RWSEM=y CONFIG_PERF_USE_VMALLOC=y CONFIG_PHYLIB=y CONFIG_PHYS_OFFSET=0x00000000 @@ -123,13 +147,14 @@ CONFIG_SPI_DEBUG=y CONFIG_SPI_MASTER=y CONFIG_SPLIT_PTLOCK_CPUS=999999 CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_UID16=y +CONFIG_UIDGID_CONVERTED=y # CONFIG_USB_ARCH_HAS_XHCI is not set CONFIG_USB_SUPPORT=y CONFIG_VECTORS_BASE=0xffff0000 CONFIG_VM_EVENT_COUNTERS=y CONFIG_WAN=y -CONFIG_XZ_DEC=y CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/cns21xx/image/Makefile b/target/linux/cns21xx/image/Makefile index 711a85e8f..dd2d5d0c1 100644 --- a/target/linux/cns21xx/image/Makefile +++ b/target/linux/cns21xx/image/Makefile @@ -66,9 +66,9 @@ endef define Image/Build/Generic if [ `stat -c%s "$(KDIR)/$(call zimage_name,$(2))"` -gt 1048576 ]; then \ - echo "Warning: $(KDIR)/$(call zimage_name,$(2)) is too big"; \ + echo "Warning: $(KDIR)/$(call zimage_name,$(2)) is too big" >&2; \ else if [ `stat -c%s $(KDIR)/root.$(1)` -gt $(3) ]; then \ - echo "Warning: of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) is too big"; \ + echo "Warning: of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) is too big" >&2; \ else \ cat $(KDIR)/root.$(1) > $(call rootfsname,$(1),$(2)); \ ( \ @@ -80,9 +80,9 @@ endef define Image/Build/uImage if [ `stat -c%s "$(KDIR)/$(call uimage_name,$(2))"` -gt 1048576 ]; then \ - echo "Warning: $(KDIR)/$(call uimage_name,$(2)) is too big"; \ + echo "Warning: $(KDIR)/$(call uimage_name,$(2)) is too big" >&2; \ else if [ `stat -c%s $(KDIR)/root.$(1)` -gt $(3) ]; then \ - echo "Warning: of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) is too big"; \ + echo "Warning: of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) is too big" >&2; \ else \ cat $(KDIR)/root.$(1) > $(call rootfsname,$(1),$(2)); \ ( \ diff --git a/target/linux/cns21xx/patches-3.3/002-arm-debugll-printk.patch b/target/linux/cns21xx/patches-3.3/002-arm-debugll-printk.patch deleted file mode 100644 index f1bf48dd5..000000000 --- a/target/linux/cns21xx/patches-3.3/002-arm-debugll-printk.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/kernel/printk.c -+++ b/kernel/printk.c -@@ -44,6 +44,10 @@ - - #include <asm/uaccess.h> - -+#ifdef CONFIG_DEBUG_LL -+extern void printascii(char *); -+#endif /* CONFIG_DEBUG_LL */ -+ - /* - * Architectures can override it: - */ -@@ -900,6 +904,10 @@ asmlinkage int vprintk(const char *fmt, - } - } - -+#ifdef CONFIG_DEBUG_LL -+ printascii(printk_buf); -+#endif -+ - /* - * Copy the output into log_buf. If the caller didn't provide - * the appropriate log prefix, we insert them here diff --git a/target/linux/cns21xx/patches-3.8/002-arm-debugll-printk.patch b/target/linux/cns21xx/patches-3.8/002-arm-debugll-printk.patch new file mode 100644 index 000000000..e14509ef3 --- /dev/null +++ b/target/linux/cns21xx/patches-3.8/002-arm-debugll-printk.patch @@ -0,0 +1,24 @@ +--- a/kernel/printk.c ++++ b/kernel/printk.c +@@ -48,6 +48,10 @@ + #define CREATE_TRACE_POINTS + #include <trace/events/printk.h> + ++#ifdef CONFIG_DEBUG_LL ++extern void printascii(char *); ++#endif /* CONFIG_DEBUG_LL */ ++ + /* + * Architectures can override it: + */ +@@ -473,6 +477,10 @@ static ssize_t devkmsg_read(struct file + ts_usec = msg->ts_nsec; + do_div(ts_usec, 1000); + ++#ifdef CONFIG_DEBUG_LL ++ printascii(printk_buf); ++#endif ++ + /* + * If we couldn't merge continuation line fragments during the print, + * export the stored flags to allow an optional external merge of the diff --git a/target/linux/cns21xx/patches-3.3/003-arm-introduce-fa-platform.patch b/target/linux/cns21xx/patches-3.8/003-arm-introduce-fa-platform.patch index 354f43968..771a1b825 100644 --- a/target/linux/cns21xx/patches-3.3/003-arm-introduce-fa-platform.patch +++ b/target/linux/cns21xx/patches-3.8/003-arm-introduce-fa-platform.patch @@ -1,8 +1,8 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1104,10 +1104,15 @@ source "arch/arm/mach-vt8500/Kconfig" +@@ -1133,10 +1133,15 @@ source "arch/arm/mach-w90x900/Kconfig" - source "arch/arm/mach-w90x900/Kconfig" + source "arch/arm/mach-zynq/Kconfig" +source "arch/arm/plat-fa/Kconfig" + @@ -18,22 +18,22 @@ select GENERIC_CLOCKEVENTS --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -203,6 +203,7 @@ plat-$(CONFIG_ARCH_MXC) := mxc - plat-$(CONFIG_ARCH_OMAP) := omap - plat-$(CONFIG_ARCH_S3C64XX) := samsung - plat-$(CONFIG_ARCH_ZYNQ) := versatile -+plat-$(CONFIG_PLAT_FA) := fa - plat-$(CONFIG_PLAT_IOP) := iop - plat-$(CONFIG_PLAT_NOMADIK) := nomadik - plat-$(CONFIG_PLAT_ORION) := orion -@@ -301,7 +302,7 @@ define archhelp +@@ -207,6 +207,7 @@ machine-$(CONFIG_ARCH_SUNXI) += sunxi + plat-$(CONFIG_ARCH_OMAP) += omap + plat-$(CONFIG_ARCH_S3C64XX) += samsung + plat-$(CONFIG_PLAT_IOP) += iop ++plat-$(CONFIG_PLAT_FA) += fa + plat-$(CONFIG_PLAT_ORION) += orion + plat-$(CONFIG_PLAT_PXA) += pxa + plat-$(CONFIG_PLAT_S3C24XX) += s3c24xx samsung +@@ -316,7 +317,7 @@ define archhelp echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' echo '* xipImage - XIP kernel image, if configured (arch/$(ARCH)/boot/xipImage)' echo ' uImage - U-Boot wrapped zImage' - echo ' bootpImage - Combined zImage and initial RAM disk' + echo ' bootpImage - Combined zImage and initial RAM disk' echo ' (supply initrd image via make variable INITRD=<path>)' - echo ' dtbs - Build device tree blobs for enabled boards' + echo '* dtbs - Build device tree blobs for enabled boards' echo ' install - Install uncompressed kernel' --- /dev/null +++ b/arch/arm/plat-fa/Makefile diff --git a/target/linux/cns21xx/patches-3.3/004-arm-add-fa-time.patch b/target/linux/cns21xx/patches-3.8/004-arm-add-fa-time.patch index 460e7cb69..460e7cb69 100644 --- a/target/linux/cns21xx/patches-3.3/004-arm-add-fa-time.patch +++ b/target/linux/cns21xx/patches-3.8/004-arm-add-fa-time.patch diff --git a/target/linux/cns21xx/patches-3.3/005-arm-add-fa-gpio-driver.patch b/target/linux/cns21xx/patches-3.8/005-arm-add-fa-gpio-driver.patch index d7e8e88cc..d7e8e88cc 100644 --- a/target/linux/cns21xx/patches-3.3/005-arm-add-fa-gpio-driver.patch +++ b/target/linux/cns21xx/patches-3.8/005-arm-add-fa-gpio-driver.patch diff --git a/target/linux/cns21xx/patches-3.3/006-arm-add-fa-watchdog-driver.patch b/target/linux/cns21xx/patches-3.8/006-arm-add-fa-watchdog-driver.patch index 34e374228..2c67b167a 100644 --- a/target/linux/cns21xx/patches-3.3/006-arm-add-fa-watchdog-driver.patch +++ b/target/linux/cns21xx/patches-3.8/006-arm-add-fa-watchdog-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig -@@ -343,6 +343,13 @@ config IMX2_WDT +@@ -365,6 +365,13 @@ config IMX2_WDT To compile this driver as a module, choose M here: the module will be called imx2_wdt. @@ -16,7 +16,7 @@ config AT32AP700X_WDT --- a/drivers/watchdog/Makefile +++ b/drivers/watchdog/Makefile -@@ -53,6 +53,7 @@ obj-$(CONFIG_STMP3XXX_WATCHDOG) += stmp3 +@@ -52,6 +52,7 @@ obj-$(CONFIG_STMP3XXX_WATCHDOG) += stmp3 obj-$(CONFIG_NUC900_WATCHDOG) += nuc900_wdt.o obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o @@ -268,7 +268,7 @@ + fa_wdt_stop(fa_wdt); +} + -+static int __devinit fa_wdt_probe(struct platform_device *pdev) ++static int fa_wdt_probe(struct platform_device *pdev) +{ + int ret; + int res_size; @@ -356,7 +356,7 @@ + return ret; +} + -+static int __devexit fa_wdt_remove(struct platform_device *pdev) ++static int fa_wdt_remove(struct platform_device *pdev) +{ + struct fa_wdt_struct *fa_wdt = platform_get_drvdata(pdev); + @@ -405,7 +405,7 @@ + +static struct platform_driver fa_wdt_driver = { + .probe = fa_wdt_probe, -+ .remove = __devexit_p(fa_wdt_remove), ++ .remove = fa_wdt_remove, + .shutdown = fa_wdt_shutdown, + .suspend = fa_wdt_suspend, + .resume = fa_wdt_resume, diff --git a/target/linux/cns21xx/patches-3.3/100-cns21xx-core.patch b/target/linux/cns21xx/patches-3.8/100-cns21xx-core.patch index 6fa40c66a..4cfe5ba22 100644 --- a/target/linux/cns21xx/patches-3.3/100-cns21xx-core.patch +++ b/target/linux/cns21xx/patches-3.8/100-cns21xx-core.patch @@ -1,6 +1,6 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -190,6 +190,11 @@ config FIQ +@@ -184,6 +184,11 @@ config NEED_RET_TO_USER config ARCH_MTD_XIP bool @@ -12,9 +12,9 @@ config VECTORS_BASE hex default 0xffff0000 if MMU || CPU_HIGH_VECTOR -@@ -355,6 +360,15 @@ config ARCH_HIGHBANK +@@ -368,6 +373,15 @@ config ARCH_CNS3XXX help - Support for the Calxeda Highbank SoC based boards. + Support for Cavium Networks CNS3XXX platform. +config ARCH_CNS21XX + bool "Cavium Networks CNS21xx family" @@ -26,9 +26,9 @@ + Support for Cavium Networks CNS21xx family. + config ARCH_CLPS711X - bool "Cirrus Logic CLPS711x/EP721x-based" - select CPU_ARM720T -@@ -1003,6 +1017,8 @@ source "arch/arm/mach-davinci/Kconfig" + bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" + select ARCH_REQUIRE_GPIOLIB +@@ -1030,6 +1044,8 @@ source "arch/arm/mach-davinci/Kconfig" source "arch/arm/mach-dove/Kconfig" @@ -67,14 +67,14 @@ +initrd_phys-y := 0x00C00000 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -136,6 +136,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020 - # by CONFIG_* macro name. - machine-$(CONFIG_ARCH_AT91) := at91 - machine-$(CONFIG_ARCH_BCMRING) := bcmring -+machine-$(CONFIG_ARCH_CNS21XX) := cns21xx - machine-$(CONFIG_ARCH_CLPS711X) := clps711x - machine-$(CONFIG_ARCH_CNS3XXX) := cns3xxx - machine-$(CONFIG_ARCH_DAVINCI) := davinci +@@ -146,6 +146,7 @@ machine-$(CONFIG_ARCH_AT91) += at91 + machine-$(CONFIG_ARCH_BCM) += bcm + machine-$(CONFIG_ARCH_BCM2835) += bcm2835 + machine-$(CONFIG_ARCH_CLPS711X) += clps711x ++machine-$(CONFIG_ARCH_CNS21XX) += cns21xx + machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx + machine-$(CONFIG_ARCH_DAVINCI) += davinci + machine-$(CONFIG_ARCH_DOVE) += dove --- /dev/null +++ b/arch/arm/mach-cns21xx/common.h @@ -0,0 +1,19 @@ @@ -536,7 +536,7 @@ +#endif /* _CNS21XX_SYSTEM_H */ --- /dev/null +++ b/arch/arm/mach-cns21xx/irq.c -@@ -0,0 +1,174 @@ +@@ -0,0 +1,176 @@ +/* + * Copyright (c) 2008 Cavium Networks + * Copyright (c) 2010-2012 Gabor Juhos <juhosg@openwrt.org> @@ -552,6 +552,8 @@ +#include <linux/io.h> +#include <linux/ioport.h> + ++#include <asm/system_misc.h> ++ +#include <mach/cns21xx.h> + +#define INTC_INTERRUPT_RAW_STATUS_REG 0x000 @@ -1517,7 +1519,7 @@ +} --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig -@@ -890,6 +890,7 @@ config ARM_L1_CACHE_SHIFT_6 +@@ -867,6 +867,7 @@ config ARM_L1_CACHE_SHIFT_6 config ARM_L1_CACHE_SHIFT int default 6 if ARM_L1_CACHE_SHIFT_6 diff --git a/target/linux/cns21xx/patches-3.3/101-cns21xx-serial-support.patch b/target/linux/cns21xx/patches-3.8/101-cns21xx-serial-support.patch index 05ad3e468..05ad3e468 100644 --- a/target/linux/cns21xx/patches-3.3/101-cns21xx-serial-support.patch +++ b/target/linux/cns21xx/patches-3.8/101-cns21xx-serial-support.patch diff --git a/target/linux/cns21xx/patches-3.3/102-cns21xx-gpiolib-support.patch b/target/linux/cns21xx/patches-3.8/102-cns21xx-gpiolib-support.patch index 0d2aead2e..7330b1fb7 100644 --- a/target/linux/cns21xx/patches-3.3/102-cns21xx-gpiolib-support.patch +++ b/target/linux/cns21xx/patches-3.8/102-cns21xx-gpiolib-support.patch @@ -1,6 +1,6 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -365,6 +365,8 @@ config ARCH_CNS21XX +@@ -378,6 +378,8 @@ config ARCH_CNS21XX select CPU_FA526 select PLAT_FA select PLAT_FA_TIME diff --git a/target/linux/cns21xx/patches-3.3/103-cns21xx-usb-ohci-support.patch b/target/linux/cns21xx/patches-3.8/103-cns21xx-usb-ohci-support.patch index e165d1926..ea2a2aab9 100644 --- a/target/linux/cns21xx/patches-3.3/103-cns21xx-usb-ohci-support.patch +++ b/target/linux/cns21xx/patches-3.8/103-cns21xx-usb-ohci-support.patch @@ -1,14 +1,6 @@ --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c -@@ -580,7 +580,6 @@ static int ohci_run (struct ohci_hcd *oh - - /* boot firmware should have set this up (5.1.1.3.1) */ - if (first) { -- - val = ohci_readl (ohci, &ohci->regs->fminterval); - ohci->fminterval = val & 0x3fff; - if (ohci->fminterval != FI) -@@ -664,6 +663,9 @@ retry: +@@ -691,6 +691,9 @@ retry: periodic_reinit (ohci); @@ -18,8 +10,8 @@ /* some OHCI implementations are finicky about how they init. * bogus values here mean not even enumeration could work. */ -@@ -1106,6 +1108,11 @@ MODULE_LICENSE ("GPL"); - #define PLATFORM_DRIVER ohci_octeon_driver +@@ -1186,6 +1189,11 @@ MODULE_LICENSE ("GPL"); + #define PLATFORM_DRIVER ohci_hcd_tilegx_driver #endif +#ifdef CONFIG_ARCH_CNS21XX @@ -27,12 +19,12 @@ +#define PLATFORM_DRIVER ohci_cns21xx_driver +#endif + - #ifdef CONFIG_USB_CNS3XXX_OHCI - #include "ohci-cns3xxx.c" - #define PLATFORM_DRIVER ohci_hcd_cns3xxx_driver + #ifdef CONFIG_USB_OHCI_HCD_PLATFORM + #include "ohci-platform.c" + #define OHCI_PLATFORM_DRIVER ohci_platform_driver --- /dev/null +++ b/drivers/usb/host/ohci-cns21xx.c -@@ -0,0 +1,175 @@ +@@ -0,0 +1,178 @@ +/* + * Copyright (c) 2008 Cavium Networks + * Copyright (c) 2010-2012 Gabor Juhos <juhosg@openwrt.org> @@ -48,7 +40,7 @@ + +#define DRIVER_NAME "cns21xx-ohci" + -+static int __devinit cns21xx_ohci_start(struct usb_hcd *hcd) ++static int cns21xx_ohci_start(struct usb_hcd *hcd) +{ + struct ohci_hcd *ohci = hcd_to_ohci(hcd); + int ret; @@ -59,7 +51,8 @@ + + ret = ohci_run(ohci); + if (ret) { -+ err("can't start %s", ohci_to_hcd(ohci)->self.bus_name); ++ ohci_err(ohci, "can't start %s", ++ ohci_to_hcd(ohci)->self.bus_name); + goto err; + } + @@ -110,8 +103,10 @@ + +static void cns21xx_ohci_init_hc(void) +{ -+ __raw_writel(0x146, CNS21XX_OHCI_CONFIG_BASE_VIRT + 0x04); -+ __raw_writel(0x200, CNS21XX_OHCI_CONFIG_BASE_VIRT + 0x44); ++ void __iomem *base = (void __iomem *) CNS21XX_OHCI_CONFIG_BASE_VIRT; ++ ++ __raw_writel(0x146, base + 0x04); ++ __raw_writel(0x200, base + 0x44); + msleep(100); +} + @@ -210,17 +205,17 @@ +MODULE_ALIAS("platform:" DRIVER_NAME); --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h -@@ -410,6 +410,7 @@ struct ohci_hcd { +@@ -405,6 +405,7 @@ struct ohci_hcd { #define OHCI_QUIRK_HUB_POWER 0x100 /* distrust firmware power/oc setup */ #define OHCI_QUIRK_AMD_PLL 0x200 /* AMD PLL quirk*/ #define OHCI_QUIRK_AMD_PREFETCH 0x400 /* pre-fetch for ISO transfer */ -+#define OHCI_QUIRK_INIT_FMINTERVAL 0x1000 /* fminterval must be initialized */ ++#define OHCI_QUIRK_INIT_FMINTERVAL 0x1000 /* fminterval must be initialized */ // there are also chip quirks/bugs in init logic struct work_struct nec_work; /* Worker for NEC quirk */ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -368,6 +368,7 @@ config ARCH_CNS21XX +@@ -381,6 +381,7 @@ config ARCH_CNS21XX select PLAT_FA_GPIO select ARCH_REQUIRE_GPIOLIB select ARM_L1_CACHE_SHIFT_4 diff --git a/target/linux/cns21xx/patches-3.3/104-cns21xx-usb-ehci-support.patch b/target/linux/cns21xx/patches-3.8/104-cns21xx-usb-ehci-support.patch index bf1463a0b..e68974c87 100644 --- a/target/linux/cns21xx/patches-3.3/104-cns21xx-usb-ehci-support.patch +++ b/target/linux/cns21xx/patches-3.8/104-cns21xx-usb-ehci-support.patch @@ -1,6 +1,20 @@ +--- a/drivers/usb/host/ehci-hcd.c ++++ b/drivers/usb/host/ehci-hcd.c +@@ -1338,6 +1338,11 @@ MODULE_LICENSE ("GPL"); + #define PLATFORM_DRIVER ehci_hcd_sead3_driver + #endif + ++#ifdef CONFIG_ARCH_CNS21XX ++#include "ehci-cns21xx.c" ++#define PLATFORM_DRIVER ehci_cns21xx_driver ++#endif ++ + #if !IS_ENABLED(CONFIG_USB_EHCI_PCI) && \ + !IS_ENABLED(CONFIG_USB_EHCI_HCD_PLATFORM) && \ + !IS_ENABLED(CONFIG_USB_CHIPIDEA_HOST) && \ --- /dev/null +++ b/drivers/usb/host/ehci-cns21xx.c -@@ -0,0 +1,186 @@ +@@ -0,0 +1,187 @@ +/* + * Copyright (c) 2008 Cavium Networks + * Copyright (c) 2010-2012 Gabor Juhos <juhosg@openwrt.org> @@ -31,7 +45,6 @@ + return ret; + + ehci_reset(ehci); -+ ehci_port_power(ehci, 0); + + return 0; +} @@ -81,8 +94,10 @@ + +static void cns21xx_ehci_init_hc(void) +{ -+ __raw_writel(0x106, CNS21XX_EHCI_CONFIG_BASE_VIRT + 0x04); -+ __raw_writel((3 << 5) | 0x2000, CNS21XX_EHCI_CONFIG_BASE_VIRT + 0x40); ++ void __iomem *base = (void __iomem *) CNS21XX_EHCI_CONFIG_BASE_VIRT; ++ ++ __raw_writel(0x106, base + 0x04); ++ __raw_writel((3 << 5) | 0x2000, base + 0x40); + msleep(100); +} + @@ -187,23 +202,9 @@ +}; + +MODULE_ALIAS("platform:" DRIVER_NAME); ---- a/drivers/usb/host/ehci-hcd.c -+++ b/drivers/usb/host/ehci-hcd.c -@@ -1376,6 +1376,11 @@ MODULE_LICENSE ("GPL"); - #define PLATFORM_DRIVER ehci_mv_driver - #endif - -+#ifdef CONFIG_ARCH_CNS21XX -+#include "ehci-cns21xx.c" -+#define PLATFORM_DRIVER ehci_cns21xx_driver -+#endif -+ - #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \ - !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) && \ - !defined(XILINX_OF_PLATFORM_DRIVER) --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -369,6 +369,7 @@ config ARCH_CNS21XX +@@ -382,6 +382,7 @@ config ARCH_CNS21XX select ARCH_REQUIRE_GPIOLIB select ARM_L1_CACHE_SHIFT_4 select USB_ARCH_HAS_OHCI diff --git a/target/linux/cns21xx/patches-3.3/105-cns21xx-spi-driver.patch b/target/linux/cns21xx/patches-3.8/105-cns21xx-spi-driver.patch index 575cc7fd2..83c036150 100644 --- a/target/linux/cns21xx/patches-3.3/105-cns21xx-spi-driver.patch +++ b/target/linux/cns21xx/patches-3.8/105-cns21xx-spi-driver.patch @@ -1,6 +1,6 @@ --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h -@@ -456,6 +456,8 @@ struct spi_transfer { +@@ -510,6 +510,8 @@ struct spi_transfer { u16 delay_usecs; u32 speed_hz; @@ -11,7 +11,7 @@ --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -163,6 +163,14 @@ config SPI_GPIO_OLD +@@ -186,6 +186,14 @@ config SPI_GPIO_OLD If unsure, say N. @@ -28,17 +28,17 @@ depends on ARCH_MXC --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -18,6 +18,7 @@ obj-$(CONFIG_SPI_BFIN) += spi-bfin5xx. - obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o +@@ -20,6 +20,7 @@ obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfi obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o obj-$(CONFIG_SPI_BUTTERFLY) += spi-butterfly.o + obj-$(CONFIG_SPI_CLPS711X) += spi-clps711x.o +obj-$(CONFIG_SPI_CNS21XX) += spi-cns21xx.o obj-$(CONFIG_SPI_COLDFIRE_QSPI) += spi-coldfire-qspi.o obj-$(CONFIG_SPI_DAVINCI) += spi-davinci.o obj-$(CONFIG_SPI_DESIGNWARE) += spi-dw.o --- a/drivers/spi/spi-bitbang.c +++ b/drivers/spi/spi-bitbang.c -@@ -330,6 +330,13 @@ static void bitbang_work(struct work_str +@@ -328,6 +328,13 @@ static void bitbang_work(struct work_str */ if (!m->is_dma_mapped) t->rx_dma = t->tx_dma = 0; @@ -536,7 +536,7 @@ + return err; +} + -+static int __devexit cns21xx_spi_remove(struct platform_device *pdev) ++static int cns21xx_spi_remove(struct platform_device *pdev) +{ + struct cns21xx_spi *hw = platform_get_drvdata(pdev); + @@ -551,7 +551,7 @@ +} + +static struct platform_driver cns21xx_spi_driver = { -+ .remove = __devexit_p(cns21xx_spi_remove), ++ .remove = cns21xx_spi_remove, + .driver = { + .name = DRIVER_NAME, + .owner = THIS_MODULE, diff --git a/target/linux/cns21xx/patches-3.3/106-cns21xx-gec-driver.patch b/target/linux/cns21xx/patches-3.8/106-cns21xx-gec-driver.patch index 7688aa75b..a48ba591b 100644 --- a/target/linux/cns21xx/patches-3.3/106-cns21xx-gec-driver.patch +++ b/target/linux/cns21xx/patches-3.8/106-cns21xx-gec-driver.patch @@ -1879,7 +1879,7 @@ + return err; +} + -+static int __devexit cns21xx_gec_remove(struct platform_device *pdev) ++static int cns21xx_gec_remove(struct platform_device *pdev) +{ + struct net_device *netdev = platform_get_drvdata(pdev); + struct cns21xx_gec *gec = netdev_priv(netdev); @@ -1894,7 +1894,7 @@ +} + +static struct platform_driver cns21xx_gec_driver = { -+ .remove = __devexit_p(cns21xx_gec_remove), ++ .remove = cns21xx_gec_remove, + .driver = { + .name = "cns21xx-gec", + .owner = THIS_MODULE, diff --git a/target/linux/cns21xx/patches-3.3/201-cns21xx-add-usb-devices.patch b/target/linux/cns21xx/patches-3.8/201-cns21xx-add-usb-devices.patch index c9299b6af..c9299b6af 100644 --- a/target/linux/cns21xx/patches-3.3/201-cns21xx-add-usb-devices.patch +++ b/target/linux/cns21xx/patches-3.8/201-cns21xx-add-usb-devices.patch diff --git a/target/linux/cns21xx/patches-3.3/202-cns21xx-add-watchdog-device.patch b/target/linux/cns21xx/patches-3.8/202-cns21xx-add-watchdog-device.patch index f269136c3..858fa73d4 100644 --- a/target/linux/cns21xx/patches-3.3/202-cns21xx-add-watchdog-device.patch +++ b/target/linux/cns21xx/patches-3.8/202-cns21xx-add-watchdog-device.patch @@ -52,7 +52,7 @@ +} --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig -@@ -345,7 +345,7 @@ config IMX2_WDT +@@ -367,7 +367,7 @@ config IMX2_WDT config FA_WATCHDOG tristate "Faraday watchdog" diff --git a/target/linux/cns21xx/patches-3.3/203-cns21xx-add-spi-master-device.patch b/target/linux/cns21xx/patches-3.8/203-cns21xx-add-spi-master-device.patch index 31d210b4f..31d210b4f 100644 --- a/target/linux/cns21xx/patches-3.3/203-cns21xx-add-spi-master-device.patch +++ b/target/linux/cns21xx/patches-3.8/203-cns21xx-add-spi-master-device.patch diff --git a/target/linux/cns21xx/patches-3.3/204-cns21xx-add-gec-device.patch b/target/linux/cns21xx/patches-3.8/204-cns21xx-add-gec-device.patch index 910913bcc..910913bcc 100644 --- a/target/linux/cns21xx/patches-3.3/204-cns21xx-add-gec-device.patch +++ b/target/linux/cns21xx/patches-3.8/204-cns21xx-add-gec-device.patch diff --git a/target/linux/cns21xx/patches-3.3/301-cns21xx-mach-ns-k330.patch b/target/linux/cns21xx/patches-3.8/301-cns21xx-mach-ns-k330.patch index ca649cace..ca649cace 100644 --- a/target/linux/cns21xx/patches-3.3/301-cns21xx-mach-ns-k330.patch +++ b/target/linux/cns21xx/patches-3.8/301-cns21xx-mach-ns-k330.patch diff --git a/target/linux/cns21xx/patches-3.3/302-cns21xx-mach-nsb3ast.patch b/target/linux/cns21xx/patches-3.8/302-cns21xx-mach-nsb3ast.patch index 503df1107..503df1107 100644 --- a/target/linux/cns21xx/patches-3.3/302-cns21xx-mach-nsb3ast.patch +++ b/target/linux/cns21xx/patches-3.8/302-cns21xx-mach-nsb3ast.patch |