aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ifxmips/patches-2.6.28
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ifxmips/patches-2.6.28')
-rw-r--r--target/linux/ifxmips/patches-2.6.28/000-mips-bad-intctl.patch34
-rw-r--r--target/linux/ifxmips/patches-2.6.28/010-mips_clocksource_init_war.patch33
-rw-r--r--target/linux/ifxmips/patches-2.6.28/100-board.patch71
-rw-r--r--target/linux/ifxmips/patches-2.6.28/110-drivers.patch152
-rw-r--r--target/linux/ifxmips/patches-2.6.28/160-cfi-swap.patch13
-rw-r--r--target/linux/ifxmips/patches-2.6.28/170-dma_hack.patch11
-rw-r--r--target/linux/ifxmips/patches-2.6.28/200-genirq_fix.patch12
7 files changed, 0 insertions, 326 deletions
diff --git a/target/linux/ifxmips/patches-2.6.28/000-mips-bad-intctl.patch b/target/linux/ifxmips/patches-2.6.28/000-mips-bad-intctl.patch
deleted file mode 100644
index 22f7e0c752..0000000000
--- a/target/linux/ifxmips/patches-2.6.28/000-mips-bad-intctl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/arch/mips/kernel/traps.c
-+++ b/arch/mips/kernel/traps.c
-@@ -1514,7 +1514,16 @@ void __cpuinit per_cpu_trap_init(void)
- */
- if (cpu_has_mips_r2) {
- cp0_compare_irq = (read_c0_intctl() >> 29) & 7;
-+ if (!cp0_compare_irq)
-+ cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ;
-+
- cp0_perfcount_irq = (read_c0_intctl() >> 26) & 7;
-+ if (!cp0_perfcount_irq)
-+ cp0_perfcount_irq = CP0_LEGACY_PERFCNT_IRQ;
-+
-+ if (arch_fixup_c0_irqs)
-+ arch_fixup_c0_irqs();
-+
- if (cp0_perfcount_irq == cp0_compare_irq)
- cp0_perfcount_irq = -1;
- } else {
---- a/arch/mips/include/asm/irq.h
-+++ b/arch/mips/include/asm/irq.h
-@@ -156,8 +156,12 @@ extern void free_irqno(unsigned int irq)
- * IE7. Since R2 their number has to be read from the c0_intctl register.
- */
- #define CP0_LEGACY_COMPARE_IRQ 7
-+#define CP0_LEGACY_PERFCNT_IRQ 7
-
- extern int cp0_compare_irq;
- extern int cp0_perfcount_irq;
-
-+extern void __weak arch_fixup_c0_irqs(void);
-+
-+
- #endif /* _ASM_IRQ_H */
diff --git a/target/linux/ifxmips/patches-2.6.28/010-mips_clocksource_init_war.patch b/target/linux/ifxmips/patches-2.6.28/010-mips_clocksource_init_war.patch
deleted file mode 100644
index ac44c308fa..0000000000
--- a/target/linux/ifxmips/patches-2.6.28/010-mips_clocksource_init_war.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/arch/mips/kernel/cevt-r4k.c
-+++ b/arch/mips/kernel/cevt-r4k.c
-@@ -21,6 +21,22 @@
-
- #ifndef CONFIG_MIPS_MT_SMTC
-
-+/*
-+ * Compare interrupt can be routed and latched outside the core,
-+ * so a single execution hazard barrier may not be enough to give
-+ * it time to clear as seen in the Cause register. 4 time the
-+ * pipeline depth seems reasonably conservative, and empirically
-+ * works better in configurations with high CPU/bus clock ratios.
-+ */
-+
-+#define compare_change_hazard() \
-+ do { \
-+ irq_disable_hazard(); \
-+ irq_disable_hazard(); \
-+ irq_disable_hazard(); \
-+ irq_disable_hazard(); \
-+ } while (0)
-+
- static int mips_next_event(unsigned long delta,
- struct clock_event_device *evt)
- {
-@@ -30,6 +46,7 @@ static int mips_next_event(unsigned long
- cnt = read_c0_count();
- cnt += delta;
- write_c0_compare(cnt);
-+ compare_change_hazard();
- res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
- return res;
- }
diff --git a/target/linux/ifxmips/patches-2.6.28/100-board.patch b/target/linux/ifxmips/patches-2.6.28/100-board.patch
deleted file mode 100644
index 39bda41ef1..0000000000
--- a/target/linux/ifxmips/patches-2.6.28/100-board.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- a/arch/mips/Kconfig
-+++ b/arch/mips/Kconfig
-@@ -79,6 +79,22 @@ config MIPS_COBALT
- select SYS_SUPPORTS_LITTLE_ENDIAN
- select GENERIC_HARDIRQS_NO__DO_IRQ
-
-+config IFXMIPS
-+ bool "Infineon Twinpass, Danube, Amazon-SE"
-+ select DMA_NONCOHERENT
-+ select IRQ_CPU
-+ select CEVT_R4K
-+ select CSRC_R4K
-+ select SYS_HAS_CPU_MIPS32_R1
-+ select SYS_HAS_CPU_MIPS32_R2
-+ select SYS_SUPPORTS_BIG_ENDIAN
-+ select SYS_SUPPORTS_32BIT_KERNEL
-+ select SYS_HAS_EARLY_PRINTK
-+ select HW_HAS_PCI
-+ select GENERIC_GPIO
-+ select SWAP_IO_SPACE
-+ select GENERIC_HARDIRQS_NO__DO_IRQ
-+
- config MACH_DECSTATION
- bool "DECstations"
- select BOOT_ELF32
-@@ -607,6 +623,7 @@ source "arch/mips/sgi-ip27/Kconfig"
- source "arch/mips/sibyte/Kconfig"
- source "arch/mips/txx9/Kconfig"
- source "arch/mips/vr41xx/Kconfig"
-+source "arch/mips/ifxmips/Kconfig"
-
- endmenu
-
---- a/arch/mips/Makefile
-+++ b/arch/mips/Makefile
-@@ -285,6 +285,13 @@ cflags-$(CONFIG_MIPS_COBALT) += -I$(srct
- load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000
-
- #
-+# Infineon IFXMIPS
-+#
-+core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/
-+cflags-$(CONFIG_IFXMIPS) += -I$(srctree)/arch/mips/include/asm/mach-ifxmips
-+load-$(CONFIG_IFXMIPS) += 0xffffffff80002000
-+
-+#
- # DECstation family
- #
- core-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/
---- a/arch/mips/include/asm/bootinfo.h
-+++ b/arch/mips/include/asm/bootinfo.h
-@@ -57,6 +57,12 @@
- #define MACH_MIKROTIK_RB532 0 /* Mikrotik RouterBoard 532 */
- #define MACH_MIKROTIK_RB532A 1 /* Mikrotik RouterBoard 532A */
-
-+/*
-+ * Valid machtype for group IFXMIPS
-+ */
-+#define MACH_GROUP_IFXMIPS 29
-+#define MACH_INFINEON_IFXMIPS 0
-+
- #define CL_SIZE COMMAND_LINE_SIZE
-
- extern char *system_type;
---- a/arch/mips/pci/Makefile
-+++ b/arch/mips/pci/Makefile
-@@ -52,3 +52,4 @@ obj-$(CONFIG_VICTOR_MPC30X) += fixup-mpc
- obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o
- obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o
- obj-$(CONFIG_MIKROTIK_RB532) += pci-rc32434.o ops-rc32434.o fixup-rc32434.o
-+obj-$(CONFIG_IFXMIPS) += pci-ifxmips.o ops-ifxmips.o
diff --git a/target/linux/ifxmips/patches-2.6.28/110-drivers.patch b/target/linux/ifxmips/patches-2.6.28/110-drivers.patch
deleted file mode 100644
index 23ceb3cd6a..0000000000
--- a/target/linux/ifxmips/patches-2.6.28/110-drivers.patch
+++ /dev/null
@@ -1,152 +0,0 @@
---- a/drivers/char/Makefile
-+++ b/drivers/char/Makefile
-@@ -110,6 +110,10 @@ obj-$(CONFIG_PS3_FLASH) += ps3flash.o
- obj-$(CONFIG_JS_RTC) += js-rtc.o
- js-rtc-y = rtc.o
-
-+obj-$(CONFIG_IFXMIPS_SSC) += ifxmips_ssc.o
-+obj-$(CONFIG_IFXMIPS_EEPROM) += ifxmips_eeprom.o
-+obj-$(CONFIG_IFXMIPS_MEI) += ifxmips_mei_core.o
-+
- # Files generated that shall be removed upon make clean
- clean-files := consolemap_deftbl.c defkeymap.c
-
---- a/drivers/mtd/maps/Makefile
-+++ b/drivers/mtd/maps/Makefile
-@@ -52,6 +52,7 @@ obj-$(CONFIG_MTD_NETtel) += nettel.o
- obj-$(CONFIG_MTD_SCB2_FLASH) += scb2_flash.o
- obj-$(CONFIG_MTD_H720X) += h720x-flash.o
- obj-$(CONFIG_MTD_SBC8240) += sbc8240.o
-+obj-$(CONFIG_MTD_IFXMIPS) += ifxmips.o
- obj-$(CONFIG_MTD_IXP4XX) += ixp4xx.o
- obj-$(CONFIG_MTD_IXP2000) += ixp2000.o
- obj-$(CONFIG_MTD_WRSBC8260) += wr_sbc82xx_flash.o
---- a/drivers/net/Kconfig
-+++ b/drivers/net/Kconfig
-@@ -343,6 +343,12 @@ config MACB
-
- source "drivers/net/arm/Kconfig"
-
-+config IFXMIPS_MII0
-+ tristate "Infineon IFXMips eth0 driver"
-+ depends on IFXMIPS
-+ help
-+ Support for the MII0 inside the IFXMips SOC
-+
- config AX88796
- tristate "ASIX AX88796 NE2000 clone support"
- depends on ARM || MIPS || SUPERH
---- a/drivers/serial/Kconfig
-+++ b/drivers/serial/Kconfig
-@@ -1304,6 +1304,14 @@ config SERIAL_OF_PLATFORM
- Currently, only 8250 compatible ports are supported, but
- others can easily be added.
-
-+config SERIAL_IFXMIPS
-+ bool "IFXMips serial driver"
-+ depends on IFXMIPS
-+ select SERIAL_CORE
-+ select SERIAL_CORE_CONSOLE
-+ help
-+ Driver for the ifxmipss built in ASC hardware
-+
- config SERIAL_QE
- tristate "Freescale QUICC Engine serial port support"
- depends on QUICC_ENGINE
---- a/drivers/serial/Makefile
-+++ b/drivers/serial/Makefile
-@@ -73,3 +73,4 @@ obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_s
- obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
- obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o
- obj-$(CONFIG_SERIAL_QE) += ucc_uart.o
-+obj-$(CONFIG_SERIAL_IFXMIPS) += ifxmips_asc.o
---- a/drivers/watchdog/Makefile
-+++ b/drivers/watchdog/Makefile
-@@ -106,6 +106,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
- obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
- obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
- obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
-+obj-$(CONFIG_IFXMIPS_WDT) += ifxmips_wdt.o
-
- # PARISC Architecture
-
---- a/drivers/net/Makefile
-+++ b/drivers/net/Makefile
-@@ -262,4 +262,4 @@ obj-$(CONFIG_NETXEN_NIC) += netxen/
- obj-$(CONFIG_NIU) += niu.o
- obj-$(CONFIG_VIRTIO_NET) += virtio_net.o
- obj-$(CONFIG_SFC) += sfc/
--
-+obj-$(CONFIG_IFXMIPS_MII0) += ifxmips_mii0.o
---- a/drivers/crypto/Kconfig
-+++ b/drivers/crypto/Kconfig
-@@ -9,6 +9,9 @@ menuconfig CRYPTO_HW
- If you say N, all options in this submenu will be skipped and disabled.
-
- if CRYPTO_HW
-+config CRYPTO_DEV_IFXMIPS
-+ tristate "Support for IFXMIPS Data Encryption Unit"
-+ depends on IFXMIPS
-
- config CRYPTO_DEV_PADLOCK
- tristate "Support for VIA PadLock ACE"
---- a/drivers/crypto/Makefile
-+++ b/drivers/crypto/Makefile
-@@ -4,3 +4,4 @@ obj-$(CONFIG_CRYPTO_DEV_GEODE) += geode-
- obj-$(CONFIG_CRYPTO_DEV_HIFN_795X) += hifn_795x.o
- obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o
- obj-$(CONFIG_CRYPTO_DEV_IXP4XX) += ixp4xx_crypto.o
-+obj-$(CONFIG_CRYPTO_DEV_IFXMIPS) += ifxdeu-aes.o ifxdeu-des.o ifxdeu-dma.o ifxdeu-generic.o ifxdeu-md5.o ifxdeu-sha1.o
---- a/drivers/usb/host/Kconfig
-+++ b/drivers/usb/host/Kconfig
-@@ -321,3 +321,10 @@ config USB_HWA_HCD
-
- To compile this driver a module, choose M here: the module
- will be called "hwa-hc".
-+
-+config USB_DWC_HCD
-+ tristate "IFXMIPS USB Host Controller Driver"
-+ depends on USB && IFXMIPS
-+ default y
-+ help
-+ Danube USB Host Controller
---- a/drivers/leds/Kconfig
-+++ b/drivers/leds/Kconfig
-@@ -171,6 +171,12 @@ config LEDS_DA903X
- This option enables support for on-chip LED drivers found
- on Dialog Semiconductor DA9030/DA9034 PMICs.
-
-+config LEDS_IFXMIPS
-+ tristate "LED Support for IFXMIPS LEDs"
-+ depends on LEDS_CLASS && IFXMIPS
-+ help
-+ This option enables support for the IFXMIPS LEDs.
-+
- comment "LED Triggers"
-
- config LEDS_TRIGGERS
---- a/drivers/leds/Makefile
-+++ b/drivers/leds/Makefile
-@@ -24,6 +24,7 @@ obj-$(CONFIG_LEDS_FSG) += leds-fsg.o
- obj-$(CONFIG_LEDS_PCA955X) += leds-pca955x.o
- obj-$(CONFIG_LEDS_DA903X) += leds-da903x.o
- obj-$(CONFIG_LEDS_HP_DISK) += leds-hp-disk.o
-+obj-$(CONFIG_LEDS_IFXMIPS) += leds-ifxmips.o
-
- # LED Triggers
- obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
---- a/drivers/watchdog/Kconfig
-+++ b/drivers/watchdog/Kconfig
-@@ -747,6 +747,12 @@ config TXX9_WDT
- help
- Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
-
-+config IFXMIPS_WDT
-+ bool "IFXMips watchdog"
-+ depends on IFXMIPS
-+ help
-+ Hardware driver for the IFXMIPS Watchdog Timer.
-+
- # PARISC Architecture
-
- # POWERPC Architecture
diff --git a/target/linux/ifxmips/patches-2.6.28/160-cfi-swap.patch b/target/linux/ifxmips/patches-2.6.28/160-cfi-swap.patch
deleted file mode 100644
index 53a0db873d..0000000000
--- a/target/linux/ifxmips/patches-2.6.28/160-cfi-swap.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1069,7 +1069,9 @@ static int __xipram do_write_oneword(str
- int retry_cnt = 0;
-
- adr += chip->start;
--
-+#ifdef CONFIG_IFXMIPS
-+ adr ^= 2;
-+#endif
- spin_lock(chip->mutex);
- ret = get_chip(map, chip, adr, FL_WRITING);
- if (ret) {
diff --git a/target/linux/ifxmips/patches-2.6.28/170-dma_hack.patch b/target/linux/ifxmips/patches-2.6.28/170-dma_hack.patch
deleted file mode 100644
index 5416b6aae2..0000000000
--- a/target/linux/ifxmips/patches-2.6.28/170-dma_hack.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/arch/mips/mm/cache.c
-+++ b/arch/mips/mm/cache.c
-@@ -51,6 +51,8 @@ void (*_dma_cache_wback)(unsigned long s
- void (*_dma_cache_inv)(unsigned long start, unsigned long size);
-
- EXPORT_SYMBOL(_dma_cache_wback_inv);
-+EXPORT_SYMBOL(_dma_cache_wback);
-+EXPORT_SYMBOL(_dma_cache_inv);
-
- #endif /* CONFIG_DMA_NONCOHERENT */
-
diff --git a/target/linux/ifxmips/patches-2.6.28/200-genirq_fix.patch b/target/linux/ifxmips/patches-2.6.28/200-genirq_fix.patch
deleted file mode 100644
index 2050d1f0bb..0000000000
--- a/target/linux/ifxmips/patches-2.6.28/200-genirq_fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/kernel/irq/chip.c
-+++ b/kernel/irq/chip.c
-@@ -524,6 +524,9 @@ handle_percpu_irq(unsigned int irq, stru
-
- kstat_incr_irqs_this_cpu(irq, desc);
-
-+ if (unlikely(!desc->action || (desc->status & IRQ_DISABLED)))
-+ return;
-+
- if (desc->chip->ack)
- desc->chip->ack(irq);
-