summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch')
-rw-r--r--target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch122
1 files changed, 122 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch b/target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch
new file mode 100644
index 000000000..56717763b
--- /dev/null
+++ b/target/linux/brcm63xx/patches-2.6.28/002-add_support_for_broadcom_63xx_cpus.patch
@@ -0,0 +1,122 @@
+From 0713aadd2a4e543b69022aa40bdec3e1dc5bc1e5 Mon Sep 17 00:00:00 2001
+From: Maxime Bizon <mbizon@freebox.fr>
+Date: Mon, 18 Aug 2008 13:56:57 +0200
+Subject: [PATCH] [MIPS] BCM63XX: Add support for Broadcom 63xx CPUs.
+
+Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
+---
+ arch/mips/Kconfig | 16 +
+ arch/mips/Makefile | 7 +
+ arch/mips/bcm63xx/Kconfig | 9 +
+ arch/mips/bcm63xx/Makefile | 2 +
+ arch/mips/bcm63xx/clk.c | 220 ++++++
+ arch/mips/bcm63xx/cpu.c | 245 +++++++
+ arch/mips/bcm63xx/cs.c | 144 ++++
+ arch/mips/bcm63xx/early_printk.c | 30 +
+ arch/mips/bcm63xx/gpio.c | 98 +++
+ arch/mips/bcm63xx/irq.c | 253 +++++++
+ arch/mips/bcm63xx/prom.c | 43 ++
+ arch/mips/bcm63xx/setup.c | 108 +++
+ arch/mips/bcm63xx/timer.c | 205 ++++++
+ arch/mips/include/asm/fixmap.h | 4 +
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_clk.h | 11 +
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h | 314 +++++++++
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_cs.h | 10 +
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h | 14 +
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h | 93 +++
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h | 15 +
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h | 728 ++++++++++++++++++++
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_timer.h | 11 +
+ .../asm-mips/mach-bcm63xx/cpu-feature-overrides.h | 51 ++
+ arch/mips/include/asm/mach-bcm63xx/gpio.h | 52 ++
+ arch/mips/include/asm/mach-bcm63xx/war.h | 25 +
+ 25 files changed, 2708 insertions(+), 0 deletions(-)
+ create mode 100644 arch/mips/bcm63xx/Kconfig
+ create mode 100644 arch/mips/bcm63xx/Makefile
+ create mode 100644 arch/mips/bcm63xx/clk.c
+ create mode 100644 arch/mips/bcm63xx/cpu.c
+ create mode 100644 arch/mips/bcm63xx/cs.c
+ create mode 100644 arch/mips/bcm63xx/early_printk.c
+ create mode 100644 arch/mips/bcm63xx/gpio.c
+ create mode 100644 arch/mips/bcm63xx/irq.c
+ create mode 100644 arch/mips/bcm63xx/prom.c
+ create mode 100644 arch/mips/bcm63xx/setup.c
+ create mode 100644 arch/mips/bcm63xx/timer.c
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_clk.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_cs.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_irq.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_timer.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/gpio.h
+ create mode 100644 arch/mips/include/asm/mach-bcm63xx/war.h
+
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -60,6 +60,21 @@ config BCM47XX
+ help
+ Support for BCM47XX based boards
+
++config BCM63XX
++ bool "Broadcom 63xx based boards"
++ select CEVT_R4K
++ select CSRC_R4K
++ select DMA_NONCOHERENT
++ select IRQ_CPU
++ select SYS_HAS_CPU_MIPS32_R1
++ select SYS_SUPPORTS_32BIT_KERNEL
++ select SYS_SUPPORTS_BIG_ENDIAN
++ select SYS_HAS_EARLY_PRINTK
++ select SWAP_IO_SPACE
++ select ARCH_REQUIRE_GPIOLIB
++ help
++ Support for BCM63XX based boards
++
+ config MIPS_COBALT
+ bool "Cobalt Server"
+ select CEVT_R4K
+@@ -599,6 +614,7 @@ endchoice
+
+ source "arch/mips/alchemy/Kconfig"
+ source "arch/mips/basler/excite/Kconfig"
++source "arch/mips/bcm63xx/Kconfig"
+ source "arch/mips/emma/Kconfig"
+ source "arch/mips/jazz/Kconfig"
+ source "arch/mips/lasat/Kconfig"
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -553,6 +553,13 @@ cflags-$(CONFIG_BCM47XX) += -I$(srctree)
+ load-$(CONFIG_BCM47XX) := 0xffffffff80001000
+
+ #
++# Broadcom BCM63XX boards
++#
++core-$(CONFIG_BCM63XX) += arch/mips/bcm63xx/
++cflags-$(CONFIG_BCM63XX) += -Iarch/mips/include/asm/mach-bcm63xx/
++load-$(CONFIG_BCM63XX) := 0xffffffff80010000
++
++#
+ # SNI RM
+ #
+ core-$(CONFIG_SNI_RM) += arch/mips/sni/
+--- a/arch/mips/include/asm/fixmap.h
++++ b/arch/mips/include/asm/fixmap.h
+@@ -67,11 +67,15 @@ enum fixed_addresses {
+ * the start of the fixmap, and leave one page empty
+ * at the top of mem..
+ */
++#ifdef CONFIG_BCM63XX
++#define FIXADDR_TOP ((unsigned long)(long)(int)0xff000000)
++#else
+ #if defined(CONFIG_CPU_TX39XX) || defined(CONFIG_CPU_TX49XX)
+ #define FIXADDR_TOP ((unsigned long)(long)(int)(0xff000000 - 0x20000))
+ #else
+ #define FIXADDR_TOP ((unsigned long)(long)(int)0xfffe0000)
+ #endif
++#endif
+ #define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT)
+ #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)
+