X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/320dc1ed4043cd83e7f4237464b332c928d18f0d..a6e679f20b3f51aa3cae09554c8573c51f0cf8d3:/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch diff --git a/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch b/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch index 7f28f340f..783aa8c10 100644 --- a/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch +++ b/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch @@ -1,154 +1,29 @@ -Index: linux-2.6.23/arch/mips/Kconfig -=================================================================== ---- linux-2.6.23.orig/arch/mips/Kconfig 2007-10-13 02:23:06.662507926 +0200 -+++ linux-2.6.23/arch/mips/Kconfig 2007-10-13 02:23:41.484492317 +0200 -@@ -4,6 +4,10 @@ - # Horrible source of confusion. Die, die, die ... - select EMBEDDED - -+config CFE -+ bool -+ # Common Firmware Environment -+ - mainmenu "Linux/MIPS Kernel Configuration" - - menu "Machine selection" -@@ -44,6 +48,23 @@ - note that a kernel built with this option selected will not be - able to run on normal units. - -+config BCM947XX -+ bool "Support for BCM947xx based boards" -+ select DMA_NONCOHERENT -+ select HW_HAS_PCI -+ select IRQ_CPU -+ select SYS_HAS_CPU_MIPS32_R1 -+ select SYS_SUPPORTS_32BIT_KERNEL -+ select SYS_SUPPORTS_LITTLE_ENDIAN -+ select SSB +--- a/arch/mips/Kconfig ++++ b/arch/mips/Kconfig +@@ -50,8 +50,10 @@ + select SYS_SUPPORTS_32BIT_KERNEL + select SYS_SUPPORTS_LITTLE_ENDIAN + select SSB + select SSB_SERIAL + select SSB_DRIVER_MIPS + select SSB_DRIVER_EXTIF + select SSB_DRIVER_PCICORE -+ select SSB_PCICORE_HOSTMODE -+ select CFE -+ select GENERIC_GPIO -+ help -+ Support for BCM947xx based boards -+ - config MIPS_COBALT - bool "Cobalt Server" - select DMA_NONCOHERENT -Index: linux-2.6.23/arch/mips/kernel/cpu-probe.c -=================================================================== ---- linux-2.6.23.orig/arch/mips/kernel/cpu-probe.c 2007-10-13 02:23:06.666508151 +0200 -+++ linux-2.6.23/arch/mips/kernel/cpu-probe.c 2007-10-13 02:23:11.210767122 +0200 -@@ -793,6 +793,28 @@ - } - - -+static inline void cpu_probe_broadcom(struct cpuinfo_mips *c) -+{ -+ decode_config1(c); -+ switch (c->processor_id & 0xff00) { -+ case PRID_IMP_BCM3302: -+ c->cputype = CPU_BCM3302; -+ c->isa_level = MIPS_CPU_ISA_M32R1; -+ c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX | -+ MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER; -+ break; -+ case PRID_IMP_BCM4710: -+ c->cputype = CPU_BCM4710; -+ c->isa_level = MIPS_CPU_ISA_M32R1; -+ c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX | -+ MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER; -+ break; -+ default: -+ c->cputype = CPU_UNKNOWN; -+ break; -+ } -+} -+ - __init void cpu_probe(void) - { - struct cpuinfo_mips *c = ¤t_cpu_data; -@@ -815,6 +837,9 @@ - case PRID_COMP_SIBYTE: - cpu_probe_sibyte(c); - break; -+ case PRID_COMP_BROADCOM: -+ cpu_probe_broadcom(c); -+ break; - case PRID_COMP_SANDCRAFT: - cpu_probe_sandcraft(c); - break; -Index: linux-2.6.23/arch/mips/kernel/proc.c -=================================================================== ---- linux-2.6.23.orig/arch/mips/kernel/proc.c 2007-10-13 02:23:06.678508839 +0200 -+++ linux-2.6.23/arch/mips/kernel/proc.c 2007-10-13 02:23:11.210767122 +0200 -@@ -82,6 +82,8 @@ - [CPU_VR4181] = "NEC VR4181", - [CPU_VR4181A] = "NEC VR4181A", - [CPU_SR71000] = "Sandcraft SR71000", -+ [CPU_BCM3302] = "Broadcom BCM3302", -+ [CPU_BCM4710] = "Broadcom BCM4710", - [CPU_PR4450] = "Philips PR4450", - [CPU_LOONGSON2] = "ICT Loongson-2", - }; -Index: linux-2.6.23/arch/mips/Makefile -=================================================================== ---- linux-2.6.23.orig/arch/mips/Makefile 2007-10-13 02:23:06.682509066 +0200 -+++ linux-2.6.23/arch/mips/Makefile 2007-10-13 02:23:11.210767122 +0200 -@@ -533,6 +533,18 @@ - load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000 - - # -+# Broadcom BCM47XX boards -+# -+core-$(CONFIG_BCM947XX) += arch/mips/bcm947xx/ -+cflags-$(CONFIG_BCM947XX) += -Iarch/mips/bcm947xx/include -Iinclude/asm-mips/mach-bcm947xx -+load-$(CONFIG_BCM947XX) := 0xffffffff80001000 -+ -+# -+# Common Firmware Environment -+# -+core-$(CONFIG_CFE) += arch/mips/cfe/ -+ -+# - # SNI RM - # - core-$(CONFIG_SNI_RM) += arch/mips/sni/ -Index: linux-2.6.23/arch/mips/mm/tlbex.c -=================================================================== ---- linux-2.6.23.orig/arch/mips/mm/tlbex.c 2007-10-13 02:23:06.694509748 +0200 -+++ linux-2.6.23/arch/mips/mm/tlbex.c 2007-10-13 02:26:00.272401391 +0200 -@@ -895,6 +895,8 @@ - case CPU_AU1550: - case CPU_AU1200: - case CPU_PR4450: -+ case CPU_BCM3302: -+ case CPU_BCM4710: - i_nop(p); - tlbw(p); - break; -Index: linux-2.6.23/drivers/Kconfig -=================================================================== ---- linux-2.6.23.orig/drivers/Kconfig 2007-10-13 02:23:06.702510206 +0200 -+++ linux-2.6.23/drivers/Kconfig 2007-10-13 02:23:11.214767346 +0200 -@@ -58,6 +58,8 @@ + select SSB_PCICORE_HOSTMODE if PCI + select GENERIC_GPIO + select SYS_HAS_EARLY_PRINTK +@@ -790,6 +792,7 @@ - source "drivers/hwmon/Kconfig" - -+source "drivers/ssb/Kconfig" -+ - source "drivers/mfd/Kconfig" + config CFE + bool ++ # Common Firmware Environment - source "drivers/media/Kconfig" -Index: linux-2.6.23/include/asm-mips/bootinfo.h -=================================================================== ---- linux-2.6.23.orig/include/asm-mips/bootinfo.h 2007-10-13 02:23:06.718511119 +0200 -+++ linux-2.6.23/include/asm-mips/bootinfo.h 2007-10-13 02:23:11.214767346 +0200 -@@ -208,6 +208,12 @@ - #define MACH_GROUP_WINDRIVER 28 /* Windriver boards */ - #define MACH_WRPPMC 1 + config DMA_COHERENT + bool +--- a/include/asm-mips/bootinfo.h ++++ b/include/asm-mips/bootinfo.h +@@ -94,6 +94,12 @@ + #define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */ + #define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */ +/* + * Valid machtype for group Broadcom @@ -158,51 +33,10 @@ Index: linux-2.6.23/include/asm-mips/bootinfo.h + #define CL_SIZE COMMAND_LINE_SIZE - const char *get_system_type(void); -Index: linux-2.6.23/include/asm-mips/cpu.h -=================================================================== ---- linux-2.6.23.orig/include/asm-mips/cpu.h 2007-10-13 02:23:06.726511570 +0200 -+++ linux-2.6.23/include/asm-mips/cpu.h 2007-10-13 02:27:43.994312161 +0200 -@@ -106,6 +106,13 @@ - #define PRID_IMP_SR71000 0x0400 - - /* -+ * These are the PRID's for when 23:16 == PRID_COMP_BROADCOM -+ */ -+ -+#define PRID_IMP_BCM4710 0x4000 -+#define PRID_IMP_BCM3302 0x9000 -+ -+/* - * Definitions for 7:0 on legacy processors - */ - -@@ -217,8 +224,10 @@ - #define CPU_R14000 64 - #define CPU_LOONGSON1 65 - #define CPU_LOONGSON2 66 -+#define CPU_BCM3302 67 -+#define CPU_BCM4710 68 - --#define CPU_LAST 66 -+#define CPU_LAST 68 - - /* - * ISA Level encodings -Index: linux-2.6.23.1/drivers/Makefile -=================================================================== ---- linux-2.6.23.1.orig/drivers/Makefile 2008-01-27 04:34:31.000000000 +0100 -+++ linux-2.6.23.1/drivers/Makefile 2008-01-27 04:39:57.000000000 +0100 -@@ -89,3 +89,4 @@ - obj-$(CONFIG_PPC_PS3) += ps3/ - obj-$(CONFIG_OF) += of/ - obj-$(CONFIG_GPIO_DEVICE) += gpio/ -+obj-$(CONFIG_SSB) += ssb/ -Index: linux-2.6.23.1/include/linux/pci_ids.h -=================================================================== ---- linux-2.6.23.1.orig/include/linux/pci_ids.h 2008-01-27 04:55:18.000000000 +0100 -+++ linux-2.6.23.1/include/linux/pci_ids.h 2008-01-27 04:55:22.000000000 +0100 -@@ -1972,6 +1972,7 @@ + extern char *system_type; +--- a/include/linux/pci_ids.h ++++ b/include/linux/pci_ids.h +@@ -2001,6 +2001,7 @@ #define PCI_DEVICE_ID_TIGON3_5906M 0x1713 #define PCI_DEVICE_ID_BCM4401 0x4401 #define PCI_DEVICE_ID_BCM4401B0 0x4402