1 diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig
2 --- linux.old/arch/mips/Kconfig 2007-01-26 00:51:33.000000000 +0100
3 +++ linux.dev/arch/mips/Kconfig 2007-01-26 00:51:18.000000000 +0100
5 # Horrible source of confusion. Die, die, die ...
10 + # Common Firmware Environment
12 mainmenu "Linux/MIPS Kernel Configuration"
14 menu "Machine selection"
16 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
17 Olivetti M700-10 workstations.
20 + bool "Support for BCM947xx based boards"
21 + select DMA_NONCOHERENT
24 + select SYS_HAS_CPU_MIPS32_R1
25 + select SYS_SUPPORTS_32BIT_KERNEL
26 + select SYS_SUPPORTS_LITTLE_ENDIAN
29 + select SSB_DRIVER_PCICORE
30 + select SSB_PCICORE_HOSTMODE
33 + Support for BCM947xx based boards
36 bool "LASAT Networks platforms"
37 select DMA_NONCOHERENT
38 diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-probe.c
39 --- linux.old/arch/mips/kernel/cpu-probe.c 2007-01-26 00:51:33.000000000 +0100
40 +++ linux.dev/arch/mips/kernel/cpu-probe.c 2007-01-25 23:34:01.000000000 +0100
45 +static inline void cpu_probe_broadcom(struct cpuinfo_mips *c)
48 + switch (c->processor_id & 0xff00) {
49 + case PRID_IMP_BCM3302:
50 + c->cputype = CPU_BCM3302;
51 + c->isa_level = MIPS_CPU_ISA_M32R1;
52 + c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX |
53 + MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER;
55 + case PRID_IMP_BCM4710:
56 + c->cputype = CPU_BCM4710;
57 + c->isa_level = MIPS_CPU_ISA_M32R1;
58 + c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX |
59 + MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER;
62 + c->cputype = CPU_UNKNOWN;
67 __init void cpu_probe(void)
69 struct cpuinfo_mips *c = ¤t_cpu_data;
71 case PRID_COMP_SIBYTE:
74 + case PRID_COMP_BROADCOM:
75 + cpu_probe_broadcom(c);
77 case PRID_COMP_SANDCRAFT:
78 cpu_probe_sandcraft(c);
80 diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c
81 --- linux.old/arch/mips/kernel/proc.c 2007-01-26 00:51:33.000000000 +0100
82 +++ linux.dev/arch/mips/kernel/proc.c 2007-01-25 23:34:01.000000000 +0100
84 [CPU_VR4181] = "NEC VR4181",
85 [CPU_VR4181A] = "NEC VR4181A",
86 [CPU_SR71000] = "Sandcraft SR71000",
87 + [CPU_BCM3302] = "Broadcom BCM3302",
88 + [CPU_BCM4710] = "Broadcom BCM4710",
89 [CPU_PR4450] = "Philips PR4450",
92 diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile
93 --- linux.old/arch/mips/Makefile 2007-01-26 00:51:33.000000000 +0100
94 +++ linux.dev/arch/mips/Makefile 2007-01-25 23:34:01.000000000 +0100
96 load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000
99 +# Broadcom BCM47XX boards
101 +core-$(CONFIG_BCM947XX) += arch/mips/bcm947xx/
102 +cflags-$(CONFIG_BCM947XX) += -Iarch/mips/bcm947xx/include -Iinclude/asm-mips/mach-bcm947xx
103 +load-$(CONFIG_BCM947XX) := 0xffffffff80001000
106 +# Common Firmware Environment
108 +core-$(CONFIG_CFE) += arch/mips/cfe/
113 core-$(CONFIG_SNI_RM200_PCI) += arch/mips/sni/
114 diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c
115 --- linux.old/arch/mips/mm/tlbex.c 2007-01-26 00:51:33.000000000 +0100
116 +++ linux.dev/arch/mips/mm/tlbex.c 2007-01-25 23:34:01.000000000 +0100
126 diff -urN linux.old/drivers/Kconfig linux.dev/drivers/Kconfig
127 --- linux.old/drivers/Kconfig 2007-01-26 00:51:33.000000000 +0100
128 +++ linux.dev/drivers/Kconfig 2007-01-25 23:34:01.000000000 +0100
131 source "drivers/hwmon/Kconfig"
133 +source "drivers/ssb/Kconfig"
135 source "drivers/mfd/Kconfig"
137 source "drivers/media/Kconfig"
138 diff -urN linux.old/drivers/Makefile linux.dev/drivers/Makefile
139 --- linux.old/drivers/Makefile 2007-01-26 00:51:33.000000000 +0100
140 +++ linux.dev/drivers/Makefile 2007-01-25 23:34:01.000000000 +0100
142 obj-$(CONFIG_SUPERH) += sh/
143 obj-$(CONFIG_GENERIC_TIME) += clocksource/
144 obj-$(CONFIG_DMA_ENGINE) += dma/
145 +obj-$(CONFIG_SSB) += ssb/
146 diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h
147 --- linux.old/include/asm-mips/bootinfo.h 2007-01-26 00:51:33.000000000 +0100
148 +++ linux.dev/include/asm-mips/bootinfo.h 2007-01-25 23:34:01.000000000 +0100
150 #define MACH_GROUP_NEC_EMMA2RH 25 /* NEC EMMA2RH (was 23) */
151 #define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */
154 + * Valid machtype for group Broadcom
156 +#define MACH_GROUP_BRCM 23 /* Broadcom */
157 +#define MACH_BCM47XX 1 /* Broadcom BCM47xx */
159 #define CL_SIZE COMMAND_LINE_SIZE
161 const char *get_system_type(void);
162 diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h
163 --- linux.old/include/asm-mips/cpu.h 2007-01-26 00:51:33.000000000 +0100
164 +++ linux.dev/include/asm-mips/cpu.h 2007-01-25 23:34:01.000000000 +0100
166 #define PRID_IMP_SR71000 0x0400
169 + * These are the PRID's for when 23:16 == PRID_COMP_BROADCOM
172 +#define PRID_IMP_BCM4710 0x4000
173 +#define PRID_IMP_BCM3302 0x9000
176 * Definitions for 7:0 on legacy processors
182 #define CPU_R14000 64
184 +#define CPU_BCM3302 65
185 +#define CPU_BCM4710 66
189 * ISA Level encodings
190 diff -urN linux.old/include/linux/pci_ids.h linux.dev/include/linux/pci_ids.h
191 --- linux.old/include/linux/pci_ids.h 2007-01-26 00:51:33.000000000 +0100
192 +++ linux.dev/include/linux/pci_ids.h 2007-01-25 23:34:01.000000000 +0100
193 @@ -1950,6 +1950,7 @@
194 #define PCI_DEVICE_ID_TIGON3_5906M 0x1713
195 #define PCI_DEVICE_ID_BCM4401 0x4401
196 #define PCI_DEVICE_ID_BCM4401B0 0x4402
197 +#define PCI_DEVICE_ID_BCM4713 0x4713
199 #define PCI_VENDOR_ID_TOPIC 0x151f
200 #define PCI_DEVICE_ID_TOPIC_TP560 0x0000