From: John Crispin Date: Mon, 16 Mar 2015 07:40:59 +0000 (+0000) Subject: octeon: drop 3.14 support X-Git-Tag: reboot~3915 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cc8b6c6d5b134140301d9a1edcbe5f660f95150a;p=oweals%2Fopenwrt.git octeon: drop 3.14 support Signed-off-by: John Crispin SVN-Revision: 44820 --- diff --git a/target/linux/octeon/config-3.14 b/target/linux/octeon/config-3.14 deleted file mode 100644 index 9e42a60151..0000000000 --- a/target/linux/octeon/config-3.14 +++ /dev/null @@ -1,237 +0,0 @@ -CONFIG_64BIT=y -CONFIG_64BIT_PHYS_ADDR=y -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y -CONFIG_BINFMT_ELF32=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLOCK_COMPAT=y -# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 -# CONFIG_CAVIUM_CN63XXP1 is not set -# CONFIG_CAVIUM_OCTEON_2ND_KERNEL is not set -CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE=2 -CONFIG_CAVIUM_OCTEON_LOCK_L2=y -CONFIG_CAVIUM_OCTEON_LOCK_L2_EXCEPTION=y -CONFIG_CAVIUM_OCTEON_LOCK_L2_INTERRUPT=y -CONFIG_CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT=y -CONFIG_CAVIUM_OCTEON_LOCK_L2_MEMCPY=y -CONFIG_CAVIUM_OCTEON_LOCK_L2_TLB=y -CONFIG_CAVIUM_OCTEON_SOC=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_CEVT_R4K=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_COMPAT=y -CONFIG_COMPAT_BRK=y -CONFIG_COMPAT_NETLINK_MESSAGES=y -CONFIG_CPU_BIG_ENDIAN=y -CONFIG_CPU_CAVIUM_OCTEON=y -CONFIG_CPU_GENERIC_DUMP_TLB=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_RMAP=y -CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CPU_SUPPORTS_HUGEPAGES=y -CONFIG_CRAMFS=y -CONFIG_CRC16=y -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -CONFIG_DETECT_HUNG_TASK=y -CONFIG_DEVKMEM=y -CONFIG_DMA_COHERENT=y -CONFIG_DNOTIFY=y -CONFIG_DTC=y -CONFIG_EARLY_PRINTK=y -CONFIG_EDAC_SUPPORT=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_EXT4_FS=y -CONFIG_FAT_FS=y -CONFIG_FRAME_WARN=2048 -CONFIG_FS_MBCACHE=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_GPIO_OCTEON=y -CONFIG_GPIO_SYSFS=y -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_HAVE_CC_STACKPROTECTOR=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DEBUG_KMEMLEAK=y -CONFIG_HAVE_DEBUG_STACKOVERFLOW=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_IDE=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_MEMORY_PRESENT=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_HAVE_NET_DSA=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -# CONFIG_HIGH_RES_TIMERS is not set -CONFIG_HOLES_IN_ZONE=y -# CONFIG_HUGETLBFS is not set -CONFIG_HW_HAS_PCI=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_OCTEON=y -CONFIG_HZ=250 -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -CONFIG_HZ_PERIODIC=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IOMMU_HELPER=y -CONFIG_IRQCHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -CONFIG_JBD2=y -CONFIG_KALLSYMS=y -CONFIG_KEXEC=y -CONFIG_LIBFDT=y -CONFIG_MDIO_BOARDINFO=y -CONFIG_MDIO_OCTEON=y -CONFIG_MIPS=y -CONFIG_MIPS32_COMPAT=y -CONFIG_MIPS32_N32=y -CONFIG_MIPS32_O32=y -# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=7 -CONFIG_MIPS_L1_CACHE_SHIFT_7=y -# CONFIG_MIPS_MACHINE is not set -CONFIG_MIPS_MT_DISABLED=y -CONFIG_MIPS_PGD_C0_CONTEXT=y -CONFIG_MODULES_USE_ELF_REL=y -CONFIG_MODULES_USE_ELF_RELA=y -# CONFIG_MTD_CFI_INTELEXT is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_PHYSMAP=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NET_FLOW_LIMIT=y -CONFIG_NLS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y -CONFIG_NR_CPUS=16 -CONFIG_NR_CPUS_DEFAULT_16=y -CONFIG_OCTEON_ETHERNET=y -# CONFIG_OCTEON_ILM is not set -CONFIG_OCTEON_MGMT_ETHERNET=y -CONFIG_OCTEON_USB=y -CONFIG_OCTEON_WDT=y -CONFIG_OF=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_FLATTREE=y -CONFIG_OF_GPIO=y -CONFIG_OF_IRQ=y -CONFIG_OF_MDIO=y -CONFIG_OF_MTD=y -CONFIG_OF_NET=y -CONFIG_OF_PCI=y -CONFIG_OF_PCI_IRQ=y -CONFIG_PAGEFLAGS_EXTENDED=y -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_PCI=y -CONFIG_PCI_DOMAINS=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PHYLIB=y -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_POSIX_MQUEUE=y -CONFIG_POSIX_MQUEUE_SYSCTL=y -# CONFIG_PREEMPT_RCU is not set -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_RCU_STALL_COMMON=y -CONFIG_RELAY=y -CONFIG_RFS_ACCEL=y -CONFIG_RPS=y -CONFIG_SCHED_DEBUG=y -CONFIG_SCSI=y -CONFIG_SECCOMP=y -CONFIG_SERIAL_8250_DW=y -CONFIG_SMP=y -CONFIG_SPARSEMEM=y -CONFIG_SPARSEMEM_STATIC=y -CONFIG_STOP_MACHINE=y -CONFIG_SWAP_IO_SPACE=y -CONFIG_SWIOTLB=y -CONFIG_SYSFS_DEPRECATED=y -CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_SYSVIPC_COMPAT=y -CONFIG_SYS_HAS_CPU_CAVIUM_OCTEON=y -CONFIG_SYS_HAS_DMA_OPS=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y -CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y -CONFIG_SYS_SUPPORTS_HUGETLBFS=y -CONFIG_SYS_SUPPORTS_SMP=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TREE_RCU=y -CONFIG_UNINLINE_SPIN_UNLOCK=y -CONFIG_USB=y -CONFIG_USB_COMMON=y -CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -CONFIG_USB_EHCI_PCI=y -CONFIG_USB_OCTEON2_COMMON=y -CONFIG_USB_OCTEON_EHCI=y -CONFIG_USB_OCTEON_OHCI=y -CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y -CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OHCI_HCD_PLATFORM is not set -CONFIG_USB_STORAGE=y -CONFIG_USB_SUPPORT=y -# CONFIG_USB_UHCI_HCD is not set -CONFIG_USE_OF=y -CONFIG_VFAT_FS=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_WEAK_ORDERING=y -CONFIG_XPS=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZONE_DMA32=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/octeon/patches-3.14/0010-MIPS-octeon-Add-interface-mode-detection-for-Octeon-.patch b/target/linux/octeon/patches-3.14/0010-MIPS-octeon-Add-interface-mode-detection-for-Octeon-.patch deleted file mode 100644 index 0678df29e7..0000000000 --- a/target/linux/octeon/patches-3.14/0010-MIPS-octeon-Add-interface-mode-detection-for-Octeon-.patch +++ /dev/null @@ -1,202 +0,0 @@ -From d8ce75934b888df0bd73dfd9c030a2b034a04977 Mon Sep 17 00:00:00 2001 -From: Alex Smith -Date: Thu, 29 May 2014 11:10:01 +0100 -Subject: [PATCH] MIPS: octeon: Add interface mode detection for Octeon II - -Add interface mode detection for Octeon II. This is necessary to detect -the interface modes correctly on the UBNT E200 board. Code is taken -from the UBNT GPL source release, with some alterations: SRIO, ILK and -RXAUI interface modes are removed and instead return disabled as these -modes are not currently supported. - -Signed-off-by: Alex Smith -Tested-by: David Daney -Cc: linux-mips@linux-mips.org -Patchwork: https://patchwork.linux-mips.org/patch/7039/ -Signed-off-by: Ralf Baechle ---- - arch/mips/cavium-octeon/executive/cvmx-helper.c | 166 ++++++++++++++++++++++++ - 1 file changed, 166 insertions(+) - ---- a/arch/mips/cavium-octeon/executive/cvmx-helper.c -+++ b/arch/mips/cavium-octeon/executive/cvmx-helper.c -@@ -106,6 +106,158 @@ int cvmx_helper_ports_on_interface(int i - EXPORT_SYMBOL_GPL(cvmx_helper_ports_on_interface); - - /** -+ * @INTERNAL -+ * Return interface mode for CN68xx. -+ */ -+static cvmx_helper_interface_mode_t __cvmx_get_mode_cn68xx(int interface) -+{ -+ union cvmx_mio_qlmx_cfg qlm_cfg; -+ switch (interface) { -+ case 0: -+ qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(0)); -+ /* QLM is disabled when QLM SPD is 15. */ -+ if (qlm_cfg.s.qlm_spd == 15) -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ -+ if (qlm_cfg.s.qlm_cfg == 2) -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ else if (qlm_cfg.s.qlm_cfg == 3) -+ return CVMX_HELPER_INTERFACE_MODE_XAUI; -+ else -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ case 2: -+ case 3: -+ case 4: -+ qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(interface)); -+ /* QLM is disabled when QLM SPD is 15. */ -+ if (qlm_cfg.s.qlm_spd == 15) -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ -+ if (qlm_cfg.s.qlm_cfg == 2) -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ else if (qlm_cfg.s.qlm_cfg == 3) -+ return CVMX_HELPER_INTERFACE_MODE_XAUI; -+ else -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ case 7: -+ qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(3)); -+ /* QLM is disabled when QLM SPD is 15. */ -+ if (qlm_cfg.s.qlm_spd == 15) { -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } else if (qlm_cfg.s.qlm_cfg != 0) { -+ qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(1)); -+ if (qlm_cfg.s.qlm_cfg != 0) -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } -+ return CVMX_HELPER_INTERFACE_MODE_NPI; -+ case 8: -+ return CVMX_HELPER_INTERFACE_MODE_LOOP; -+ default: -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } -+} -+ -+/** -+ * @INTERNAL -+ * Return interface mode for an Octeon II -+ */ -+static cvmx_helper_interface_mode_t __cvmx_get_mode_octeon2(int interface) -+{ -+ union cvmx_gmxx_inf_mode mode; -+ -+ if (OCTEON_IS_MODEL(OCTEON_CN68XX)) -+ return __cvmx_get_mode_cn68xx(interface); -+ -+ if (interface == 2) -+ return CVMX_HELPER_INTERFACE_MODE_NPI; -+ -+ if (interface == 3) -+ return CVMX_HELPER_INTERFACE_MODE_LOOP; -+ -+ /* Only present in CN63XX & CN66XX Octeon model */ -+ if ((OCTEON_IS_MODEL(OCTEON_CN63XX) && -+ (interface == 4 || interface == 5)) || -+ (OCTEON_IS_MODEL(OCTEON_CN66XX) && -+ interface >= 4 && interface <= 7)) { -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } -+ -+ if (OCTEON_IS_MODEL(OCTEON_CN66XX)) { -+ union cvmx_mio_qlmx_cfg mio_qlm_cfg; -+ -+ /* QLM2 is SGMII0 and QLM1 is SGMII1 */ -+ if (interface == 0) -+ mio_qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(2)); -+ else if (interface == 1) -+ mio_qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(1)); -+ else -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ -+ if (mio_qlm_cfg.s.qlm_spd == 15) -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ -+ if (mio_qlm_cfg.s.qlm_cfg == 9) -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ else if (mio_qlm_cfg.s.qlm_cfg == 11) -+ return CVMX_HELPER_INTERFACE_MODE_XAUI; -+ else -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } else if (OCTEON_IS_MODEL(OCTEON_CN61XX)) { -+ union cvmx_mio_qlmx_cfg qlm_cfg; -+ -+ if (interface == 0) { -+ qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(2)); -+ if (qlm_cfg.s.qlm_cfg == 2) -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ else if (qlm_cfg.s.qlm_cfg == 3) -+ return CVMX_HELPER_INTERFACE_MODE_XAUI; -+ else -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } else if (interface == 1) { -+ qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(0)); -+ if (qlm_cfg.s.qlm_cfg == 2) -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ else if (qlm_cfg.s.qlm_cfg == 3) -+ return CVMX_HELPER_INTERFACE_MODE_XAUI; -+ else -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } -+ } else if (OCTEON_IS_MODEL(OCTEON_CNF71XX)) { -+ if (interface == 0) { -+ union cvmx_mio_qlmx_cfg qlm_cfg; -+ qlm_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(0)); -+ if (qlm_cfg.s.qlm_cfg == 2) -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ } -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } -+ -+ if (interface == 1 && OCTEON_IS_MODEL(OCTEON_CN63XX)) -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ -+ mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface)); -+ -+ if (OCTEON_IS_MODEL(OCTEON_CN63XX)) { -+ switch (mode.cn63xx.mode) { -+ case 0: -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ case 1: -+ return CVMX_HELPER_INTERFACE_MODE_XAUI; -+ default: -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } -+ } else { -+ if (!mode.s.en) -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ -+ if (mode.s.type) -+ return CVMX_HELPER_INTERFACE_MODE_GMII; -+ else -+ return CVMX_HELPER_INTERFACE_MODE_RGMII; -+ } -+} -+ -+/** - * Get the operating mode of an interface. Depending on the Octeon - * chip and configuration, this function returns an enumeration - * of the type of packet I/O supported by an interface. -@@ -118,6 +270,20 @@ EXPORT_SYMBOL_GPL(cvmx_helper_ports_on_i - cvmx_helper_interface_mode_t cvmx_helper_interface_get_mode(int interface) - { - union cvmx_gmxx_inf_mode mode; -+ -+ if (interface < 0 || -+ interface >= cvmx_helper_get_number_of_interfaces()) -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ -+ /* -+ * Octeon II models -+ */ -+ if (OCTEON_IS_MODEL(OCTEON_CN6XXX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)) -+ return __cvmx_get_mode_octeon2(interface); -+ -+ /* -+ * Octeon and Octeon Plus models -+ */ - if (interface == 2) - return CVMX_HELPER_INTERFACE_MODE_NPI; - diff --git a/target/linux/octeon/patches-3.14/0011-MIPS-Octeon-Add-twsi-interrupt-initialization-for-OC.patch b/target/linux/octeon/patches-3.14/0011-MIPS-Octeon-Add-twsi-interrupt-initialization-for-OC.patch deleted file mode 100644 index 382410f239..0000000000 --- a/target/linux/octeon/patches-3.14/0011-MIPS-Octeon-Add-twsi-interrupt-initialization-for-OC.patch +++ /dev/null @@ -1,47 +0,0 @@ -From a53825ef4e9b2f42a21ad2b903f4d0ce691a5d63 Mon Sep 17 00:00:00 2001 -From: Eunbong Song -Date: Tue, 22 Apr 2014 06:16:15 +0000 -Subject: [PATCH] MIPS: Octeon: Add twsi interrupt initialization for OCTEON - 3XXX, 5XXX, 63XX - -In octeon_3xxx.dts file, there is a definiton for twsi/twsi2 interrupts. -But there is no code for initialization of this interrupts. This patch adds -code for initialization of twsi interrupts. - -Signed-off-by: Eunbong Song -Cc: linux-kernel@vger.kernel.org -Cc: linux-mips@linux-mips.org -Patchwork: https://patchwork.linux-mips.org/patch/6816/ -Signed-off-by: Ralf Baechle ---- - arch/mips/cavium-octeon/octeon-irq.c | 2 ++ - arch/mips/include/asm/mach-cavium-octeon/irq.h | 2 ++ - 2 files changed, 4 insertions(+) - ---- a/arch/mips/cavium-octeon/octeon-irq.c -+++ b/arch/mips/cavium-octeon/octeon-irq.c -@@ -1260,11 +1260,13 @@ static void __init octeon_irq_init_ciu(v - for (i = 0; i < 4; i++) - octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_PCI_MSI0, 0, i + 40); - -+ octeon_irq_force_ciu_mapping(ciu_domain, OCTEON_IRQ_TWSI, 0, 45); - octeon_irq_force_ciu_mapping(ciu_domain, OCTEON_IRQ_RML, 0, 46); - for (i = 0; i < 4; i++) - octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_TIMER0, 0, i + 52); - - octeon_irq_force_ciu_mapping(ciu_domain, OCTEON_IRQ_USB0, 0, 56); -+ octeon_irq_force_ciu_mapping(ciu_domain, OCTEON_IRQ_TWSI2, 0, 59); - - /* CIU_1 */ - for (i = 0; i < 16; i++) ---- a/arch/mips/include/asm/mach-cavium-octeon/irq.h -+++ b/arch/mips/include/asm/mach-cavium-octeon/irq.h -@@ -35,6 +35,8 @@ enum octeon_irq { - OCTEON_IRQ_PCI_MSI2, - OCTEON_IRQ_PCI_MSI3, - -+ OCTEON_IRQ_TWSI, -+ OCTEON_IRQ_TWSI2, - OCTEON_IRQ_RML, - OCTEON_IRQ_TIMER0, - OCTEON_IRQ_TIMER1, diff --git a/target/linux/octeon/patches-3.14/100-ubnt_edgerouter2_support.patch b/target/linux/octeon/patches-3.14/100-ubnt_edgerouter2_support.patch deleted file mode 100644 index 7891e7129a..0000000000 --- a/target/linux/octeon/patches-3.14/100-ubnt_edgerouter2_support.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h -+++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h -@@ -228,6 +228,8 @@ enum cvmx_board_types_enum { - */ - CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001, - CVMX_BOARD_TYPE_UBNT_E100 = 20002, -+ CVMX_BOARD_TYPE_UBNT_E200 = 20003, -+ CVMX_BOARD_TYPE_UBNT_E220 = 20005, - CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000, - - /* The remaining range is reserved for future use. */ -@@ -327,6 +329,8 @@ static inline const char *cvmx_board_typ - /* Customer private range */ - ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN) - ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100) -+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E200) -+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E220) - ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX) - } - return "Unsupported Board"; ---- a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c -+++ b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c -@@ -186,6 +186,8 @@ int cvmx_helper_board_get_mii_address(in - return 7 - ipd_port; - else - return -1; -+ case CVMX_BOARD_TYPE_UBNT_E200: -+ return -1; - } - - /* Some unknown board. Somebody forgot to update this function... */ diff --git a/target/linux/octeon/patches-3.14/110-er200-ethernet_probe_order.patch b/target/linux/octeon/patches-3.14/110-er200-ethernet_probe_order.patch deleted file mode 100644 index 1771fba517..0000000000 --- a/target/linux/octeon/patches-3.14/110-er200-ethernet_probe_order.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/drivers/staging/octeon/ethernet.c -+++ b/drivers/staging/octeon/ethernet.c -@@ -624,6 +624,7 @@ static int cvm_oct_probe(struct platform - int interface; - int fau = FAU_NUM_PACKET_BUFFERS_TO_FREE; - int qos; -+ int i; - struct device_node *pip; - - octeon_mdiobus_force_mod_depencency(); -@@ -707,13 +708,19 @@ static int cvm_oct_probe(struct platform - } - - num_interfaces = cvmx_helper_get_number_of_interfaces(); -- for (interface = 0; interface < num_interfaces; interface++) { -- cvmx_helper_interface_mode_t imode = -- cvmx_helper_interface_get_mode(interface); -- int num_ports = cvmx_helper_ports_on_interface(interface); -+ for (i = 0; i < num_interfaces; i++) { -+ cvmx_helper_interface_mode_t imode; -+ int interface; -+ int num_ports; - int port; - int port_index; - -+ interface = i; -+ if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_UBNT_E200) -+ interface = num_interfaces - (i + 1); -+ -+ num_ports = cvmx_helper_ports_on_interface(interface); -+ imode = cvmx_helper_interface_get_mode(interface); - for (port_index = 0, - port = cvmx_helper_get_ipd_port(interface, 0); - port < cvmx_helper_get_ipd_port(interface, num_ports); diff --git a/target/linux/octeon/patches-3.14/120-octeon_platform_usb.patch b/target/linux/octeon/patches-3.14/120-octeon_platform_usb.patch deleted file mode 100644 index 7cffaf621f..0000000000 --- a/target/linux/octeon/patches-3.14/120-octeon_platform_usb.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/arch/mips/cavium-octeon/octeon-platform.c -+++ b/arch/mips/cavium-octeon/octeon-platform.c -@@ -82,7 +82,7 @@ static int __init octeon_ehci_device_ini - }; - - /* Only Octeon2 has ehci/ohci */ -- if (!OCTEON_IS_MODEL(OCTEON_CN63XX)) -+ if (!OCTEON_IS_MODEL(OCTEON_CN6XXX)) - return 0; - - if (octeon_is_simulation() || usb_disabled()) -@@ -131,7 +131,7 @@ static int __init octeon_ohci_device_ini - }; - - /* Only Octeon2 has ehci/ohci */ -- if (!OCTEON_IS_MODEL(OCTEON_CN63XX)) -+ if (!OCTEON_IS_MODEL(OCTEON_CN6XXX)) - return 0; - - if (octeon_is_simulation() || usb_disabled())