mirror of https://github.com/hak5/openwrt-owl.git
parent
552fbe65d4
commit
d8f6369756
|
@ -10,9 +10,8 @@ ARCH:=mips
|
||||||
BOARD:=ifxmips
|
BOARD:=ifxmips
|
||||||
BOARDNAME:=Infineon Mips
|
BOARDNAME:=Infineon Mips
|
||||||
FEATURES:=squashfs jffs2
|
FEATURES:=squashfs jffs2
|
||||||
SUBTARGETS:=generic nfs
|
|
||||||
LINUX_VERSION:=2.6.26.8
|
LINUX_VERSION:=2.6.28.7
|
||||||
#LINUX_VERSION:=2.6.27.19
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/target.mk
|
include $(INCLUDE_DIR)/target.mk
|
||||||
DEFAULT_PACKAGES+=uboot-ifxmips hostapd-mini
|
DEFAULT_PACKAGES+=uboot-ifxmips hostapd-mini
|
||||||
|
@ -21,4 +20,11 @@ define Target/Description
|
||||||
Build firmware images for Infineon Mips Controllers
|
Build firmware images for Infineon Mips Controllers
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
ifeq ($(KERNEL_PATCHVER),2.6.28)
|
||||||
|
define Kernel/Prepare
|
||||||
|
$(call Kernel/Prepare/Default)
|
||||||
|
mv $(LINUX_DIR)/include/asm-mips/* $(LINUX_DIR)/arch/mips/include/asm/
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
$(eval $(call BuildTarget))
|
$(eval $(call BuildTarget))
|
||||||
|
|
|
@ -0,0 +1,216 @@
|
||||||
|
CONFIG_32BIT=y
|
||||||
|
# CONFIG_64BIT is not set
|
||||||
|
# CONFIG_8139TOO is not set
|
||||||
|
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||||
|
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||||
|
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||||
|
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||||
|
CONFIG_ARCH_SUPPORTS_OPROFILE=y
|
||||||
|
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||||
|
CONFIG_BASE_SMALL=0
|
||||||
|
# CONFIG_BCM47XX is not set
|
||||||
|
CONFIG_BITREVERSE=y
|
||||||
|
CONFIG_CEVT_R4K=y
|
||||||
|
CONFIG_CLASSIC_RCU=y
|
||||||
|
CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2 init=/etc/preinit"
|
||||||
|
CONFIG_CPU_BIG_ENDIAN=y
|
||||||
|
CONFIG_CPU_HAS_LLSC=y
|
||||||
|
CONFIG_CPU_HAS_PREFETCH=y
|
||||||
|
CONFIG_CPU_HAS_SYNC=y
|
||||||
|
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||||
|
# CONFIG_CPU_LOONGSON2 is not set
|
||||||
|
CONFIG_CPU_MIPS32=y
|
||||||
|
# CONFIG_CPU_MIPS32_R1 is not set
|
||||||
|
CONFIG_CPU_MIPS32_R2=y
|
||||||
|
# CONFIG_CPU_MIPS64_R1 is not set
|
||||||
|
# CONFIG_CPU_MIPS64_R2 is not set
|
||||||
|
CONFIG_CPU_MIPSR2=y
|
||||||
|
# CONFIG_CPU_NEVADA is not set
|
||||||
|
# CONFIG_CPU_R10000 is not set
|
||||||
|
# CONFIG_CPU_R3000 is not set
|
||||||
|
# CONFIG_CPU_R4300 is not set
|
||||||
|
# CONFIG_CPU_R4X00 is not set
|
||||||
|
# CONFIG_CPU_R5000 is not set
|
||||||
|
# CONFIG_CPU_R5432 is not set
|
||||||
|
# CONFIG_CPU_R5500 is not set
|
||||||
|
# CONFIG_CPU_R6000 is not set
|
||||||
|
# CONFIG_CPU_R8000 is not set
|
||||||
|
# CONFIG_CPU_RM7000 is not set
|
||||||
|
# CONFIG_CPU_RM9000 is not set
|
||||||
|
# CONFIG_CPU_SB1 is not set
|
||||||
|
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
|
||||||
|
CONFIG_CPU_SUPPORTS_HIGHMEM=y
|
||||||
|
# CONFIG_CPU_TX39XX is not set
|
||||||
|
# CONFIG_CPU_TX49XX is not set
|
||||||
|
# CONFIG_CPU_VR41XX is not set
|
||||||
|
CONFIG_CSRC_R4K=y
|
||||||
|
CONFIG_DEVPORT=y
|
||||||
|
# CONFIG_DM9000 is not set
|
||||||
|
CONFIG_DMA_NEED_PCI_MAP_STATE=y
|
||||||
|
CONFIG_DMA_NONCOHERENT=y
|
||||||
|
CONFIG_EARLY_PRINTK=y
|
||||||
|
# CONFIG_FREEZER is not set
|
||||||
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
|
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
||||||
|
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||||
|
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||||
|
CONFIG_GENERIC_GPIO=y
|
||||||
|
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
||||||
|
CONFIG_GPIO_DEVICE=y
|
||||||
|
CONFIG_HARDWARE_WATCHPOINTS=y
|
||||||
|
CONFIG_HAS_DMA=y
|
||||||
|
CONFIG_HAS_IOMEM=y
|
||||||
|
CONFIG_HAS_IOPORT=y
|
||||||
|
# CONFIG_HAVE_AOUT is not set
|
||||||
|
CONFIG_HAVE_ARCH_KGDB=y
|
||||||
|
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||||
|
CONFIG_HAVE_IDE=y
|
||||||
|
CONFIG_HAVE_OPROFILE=y
|
||||||
|
# CONFIG_HIGH_RES_TIMERS is not set
|
||||||
|
CONFIG_HW_HAS_PCI=y
|
||||||
|
CONFIG_HW_RANDOM=y
|
||||||
|
CONFIG_HZ=250
|
||||||
|
# CONFIG_HZ_100 is not set
|
||||||
|
CONFIG_HZ_250=y
|
||||||
|
# CONFIG_I2C is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||||
|
# CONFIG_IDE is not set
|
||||||
|
CONFIG_IFXMIPS=y
|
||||||
|
CONFIG_IFXMIPS_EEPROM=y
|
||||||
|
CONFIG_IFXMIPS_GPIO_RST_BTN=y
|
||||||
|
# CONFIG_IFXMIPS_MEI is not set
|
||||||
|
CONFIG_IFXMIPS_MII0=y
|
||||||
|
# CONFIG_IFXMIPS_PROM_ASC0 is not set
|
||||||
|
CONFIG_IFXMIPS_PROM_ASC1=y
|
||||||
|
CONFIG_IFXMIPS_SSC=y
|
||||||
|
CONFIG_IFXMIPS_WDT=y
|
||||||
|
CONFIG_INITRAMFS_SOURCE=""
|
||||||
|
CONFIG_IRQ_CPU=y
|
||||||
|
CONFIG_KALLSYMS=y
|
||||||
|
CONFIG_KMOD=y
|
||||||
|
# CONFIG_LEDS_ALIX is not set
|
||||||
|
CONFIG_LEDS_GPIO=y
|
||||||
|
CONFIG_LEDS_IFXMIPS=y
|
||||||
|
# CONFIG_LEMOTE_FULONG is not set
|
||||||
|
# CONFIG_MACH_ALCHEMY is not set
|
||||||
|
# CONFIG_MACH_DECSTATION is not set
|
||||||
|
# CONFIG_MACH_EMMA is not set
|
||||||
|
# CONFIG_MACH_JAZZ is not set
|
||||||
|
# CONFIG_MACH_TX39XX is not set
|
||||||
|
# CONFIG_MACH_TX49XX is not set
|
||||||
|
# CONFIG_MACH_VR41XX is not set
|
||||||
|
# CONFIG_MFD_CORE is not set
|
||||||
|
# CONFIG_MFD_TMIO is not set
|
||||||
|
# CONFIG_MIKROTIK_RB532 is not set
|
||||||
|
CONFIG_MIPS=y
|
||||||
|
# CONFIG_MIPS_COBALT is not set
|
||||||
|
CONFIG_MIPS_L1_CACHE_SHIFT=5
|
||||||
|
# CONFIG_MIPS_MACHINE is not set
|
||||||
|
# CONFIG_MIPS_MALTA is not set
|
||||||
|
CONFIG_MIPS_MT_DISABLED=y
|
||||||
|
# CONFIG_MIPS_MT_SMP is not set
|
||||||
|
# CONFIG_MIPS_MT_SMTC is not set
|
||||||
|
# CONFIG_MIPS_SIM is not set
|
||||||
|
CONFIG_MTD=y
|
||||||
|
# CONFIG_MTD_ABSENT is not set
|
||||||
|
CONFIG_MTD_BLKDEVS=y
|
||||||
|
CONFIG_MTD_BLOCK=y
|
||||||
|
# CONFIG_MTD_BLOCK2MTD is not set
|
||||||
|
CONFIG_MTD_CFI=y
|
||||||
|
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
||||||
|
CONFIG_MTD_CFI_AMDSTD=y
|
||||||
|
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
|
||||||
|
CONFIG_MTD_CFI_GEOMETRY=y
|
||||||
|
CONFIG_MTD_CFI_I1=y
|
||||||
|
CONFIG_MTD_CFI_I2=y
|
||||||
|
# CONFIG_MTD_CFI_I4 is not set
|
||||||
|
# CONFIG_MTD_CFI_I8 is not set
|
||||||
|
# CONFIG_MTD_CFI_INTELEXT is not set
|
||||||
|
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
|
||||||
|
CONFIG_MTD_CFI_NOSWAP=y
|
||||||
|
# CONFIG_MTD_CFI_STAA is not set
|
||||||
|
CONFIG_MTD_CFI_UTIL=y
|
||||||
|
CONFIG_MTD_CHAR=y
|
||||||
|
CONFIG_MTD_CMDLINE_PARTS=y
|
||||||
|
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||||
|
# CONFIG_MTD_CONCAT is not set
|
||||||
|
CONFIG_MTD_GEN_PROBE=y
|
||||||
|
CONFIG_MTD_IFXMIPS=y
|
||||||
|
# CONFIG_MTD_JEDECPROBE is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
||||||
|
# CONFIG_MTD_MTDRAM is not set
|
||||||
|
# CONFIG_MTD_ONENAND is not set
|
||||||
|
# CONFIG_MTD_OTP is not set
|
||||||
|
CONFIG_MTD_PARTITIONS=y
|
||||||
|
# CONFIG_MTD_PCI is not set
|
||||||
|
# CONFIG_MTD_PHRAM is not set
|
||||||
|
# CONFIG_MTD_PHYSMAP is not set
|
||||||
|
# CONFIG_MTD_PLATRAM is not set
|
||||||
|
# CONFIG_MTD_PMC551 is not set
|
||||||
|
# CONFIG_MTD_RAM is not set
|
||||||
|
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||||
|
# CONFIG_MTD_ROM is not set
|
||||||
|
# CONFIG_MTD_SLRAM is not set
|
||||||
|
# CONFIG_NATSEMI is not set
|
||||||
|
# CONFIG_NF_DEFRAG_IPV4 is not set
|
||||||
|
# CONFIG_NO_IOPORT is not set
|
||||||
|
# CONFIG_NXP_STB220 is not set
|
||||||
|
# CONFIG_NXP_STB225 is not set
|
||||||
|
CONFIG_PAGEFLAGS_EXTENDED=y
|
||||||
|
# CONFIG_PAGE_SIZE_16KB is not set
|
||||||
|
CONFIG_PAGE_SIZE_4KB=y
|
||||||
|
# CONFIG_PAGE_SIZE_64KB is not set
|
||||||
|
# CONFIG_PAGE_SIZE_8KB is not set
|
||||||
|
CONFIG_PCI=y
|
||||||
|
CONFIG_PCI_DOMAINS=y
|
||||||
|
# CONFIG_PCSPKR_PLATFORM is not set
|
||||||
|
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||||
|
# CONFIG_PMC_MSP is not set
|
||||||
|
# CONFIG_PMC_YOSEMITE is not set
|
||||||
|
# CONFIG_PNX8550_JBS is not set
|
||||||
|
# CONFIG_PNX8550_STB810 is not set
|
||||||
|
# CONFIG_PROBE_INITRD_HEADER is not set
|
||||||
|
# CONFIG_PROM_EMU is not set
|
||||||
|
# CONFIG_R6040 is not set
|
||||||
|
CONFIG_RTC_LIB=y
|
||||||
|
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||||
|
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
|
||||||
|
# CONFIG_SCSI_DMA is not set
|
||||||
|
# CONFIG_SERIAL_8250 is not set
|
||||||
|
CONFIG_SERIAL_IFXMIPS=y
|
||||||
|
# CONFIG_SGI_IP22 is not set
|
||||||
|
# CONFIG_SGI_IP27 is not set
|
||||||
|
# CONFIG_SGI_IP28 is not set
|
||||||
|
# CONFIG_SGI_IP32 is not set
|
||||||
|
# CONFIG_SIBYTE_BIGSUR is not set
|
||||||
|
# CONFIG_SIBYTE_CARMEL is not set
|
||||||
|
# CONFIG_SIBYTE_CRHINE is not set
|
||||||
|
# CONFIG_SIBYTE_CRHONE is not set
|
||||||
|
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||||
|
# CONFIG_SIBYTE_RHONE is not set
|
||||||
|
# CONFIG_SIBYTE_SENTOSA is not set
|
||||||
|
# CONFIG_SIBYTE_SWARM is not set
|
||||||
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
|
CONFIG_SSB_POSSIBLE=y
|
||||||
|
# CONFIG_SWAP is not set
|
||||||
|
CONFIG_SWAP_IO_SPACE=y
|
||||||
|
CONFIG_SYSVIPC_SYSCTL=y
|
||||||
|
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
|
||||||
|
CONFIG_SYS_HAS_CPU_MIPS32_R2=y
|
||||||
|
CONFIG_SYS_HAS_EARLY_PRINTK=y
|
||||||
|
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
|
||||||
|
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
|
||||||
|
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
|
||||||
|
# CONFIG_TC35815 is not set
|
||||||
|
CONFIG_TRAD_SIGNALS=y
|
||||||
|
CONFIG_USB_SUPPORT=y
|
||||||
|
# CONFIG_VGASTATE is not set
|
||||||
|
# CONFIG_VIA_RHINE is not set
|
||||||
|
CONFIG_ZONE_DMA_FLAG=0
|
|
@ -0,0 +1,23 @@
|
||||||
|
CONFIG_CRYPTO_AEAD2=y
|
||||||
|
CONFIG_CRYPTO_ALGAPI=y
|
||||||
|
CONFIG_CRYPTO_ALGAPI2=y
|
||||||
|
CONFIG_CRYPTO_BLKCIPHER=y
|
||||||
|
CONFIG_CRYPTO_BLKCIPHER2=y
|
||||||
|
CONFIG_CRYPTO_CBC=y
|
||||||
|
CONFIG_CRYPTO_DES=y
|
||||||
|
CONFIG_CRYPTO_HASH2=y
|
||||||
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
|
CONFIG_CRYPTO_MANAGER2=y
|
||||||
|
CONFIG_CRYPTO_MD5=y
|
||||||
|
CONFIG_CRYPTO_RNG2=y
|
||||||
|
CONFIG_IP_PNP=y
|
||||||
|
# CONFIG_IP_PNP_BOOTP is not set
|
||||||
|
# CONFIG_IP_PNP_DHCP is not set
|
||||||
|
# CONFIG_IP_PNP_RARP is not set
|
||||||
|
CONFIG_LOCKD=y
|
||||||
|
# CONFIG_NETFILTER is not set
|
||||||
|
CONFIG_NFS_FS=y
|
||||||
|
CONFIG_ROOT_NFS=y
|
||||||
|
CONFIG_RPCSEC_GSS_KRB5=y
|
||||||
|
CONFIG_SUNRPC=y
|
||||||
|
CONFIG_SUNRPC_GSS=y
|
|
@ -0,0 +1,34 @@
|
||||||
|
--- 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 */
|
|
@ -0,0 +1,33 @@
|
||||||
|
--- 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;
|
||||||
|
}
|
|
@ -0,0 +1,71 @@
|
||||||
|
--- 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
|
|
@ -0,0 +1,152 @@
|
||||||
|
--- 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
|
|
@ -0,0 +1,13 @@
|
||||||
|
--- 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) {
|
|
@ -0,0 +1,11 @@
|
||||||
|
--- 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 */
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
--- 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);
|
||||||
|
|
Loading…
Reference in New Issue