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
34 + Support for BCM947xx based boards
37 bool "LASAT Networks platforms"
38 select DMA_NONCOHERENT
39 diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-probe.c
40 --- linux.old/arch/mips/kernel/cpu-probe.c 2007-01-26 00:51:33.000000000 +0100
41 +++ linux.dev/arch/mips/kernel/cpu-probe.c 2007-01-25 23:34:01.000000000 +0100
46 +static inline void cpu_probe_broadcom(struct cpuinfo_mips *c)
49 + switch (c->processor_id & 0xff00) {
50 + case PRID_IMP_BCM3302:
51 + c->cputype = CPU_BCM3302;
52 + c->isa_level = MIPS_CPU_ISA_M32R1;
53 + c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX |
54 + MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER;
56 + case PRID_IMP_BCM4710:
57 + c->cputype = CPU_BCM4710;
58 + c->isa_level = MIPS_CPU_ISA_M32R1;
59 + c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX |
60 + MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER;
63 + c->cputype = CPU_UNKNOWN;
68 __init void cpu_probe(void)
70 struct cpuinfo_mips *c = ¤t_cpu_data;
72 case PRID_COMP_SIBYTE:
75 + case PRID_COMP_BROADCOM:
76 + cpu_probe_broadcom(c);
78 case PRID_COMP_SANDCRAFT:
79 cpu_probe_sandcraft(c);
81 diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c
82 --- linux.old/arch/mips/kernel/proc.c 2007-01-26 00:51:33.000000000 +0100
83 +++ linux.dev/arch/mips/kernel/proc.c 2007-01-25 23:34:01.000000000 +0100
85 [CPU_VR4181] = "NEC VR4181",
86 [CPU_VR4181A] = "NEC VR4181A",
87 [CPU_SR71000] = "Sandcraft SR71000",
88 + [CPU_BCM3302] = "Broadcom BCM3302",
89 + [CPU_BCM4710] = "Broadcom BCM4710",
90 [CPU_PR4450] = "Philips PR4450",
93 diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile
94 --- linux.old/arch/mips/Makefile 2007-01-26 00:51:33.000000000 +0100
95 +++ linux.dev/arch/mips/Makefile 2007-01-25 23:34:01.000000000 +0100
97 load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000
100 +# Broadcom BCM47XX boards
102 +core-$(CONFIG_BCM947XX) += arch/mips/bcm947xx/
103 +cflags-$(CONFIG_BCM947XX) += -Iarch/mips/bcm947xx/include -Iinclude/asm-mips/mach-bcm947xx
104 +load-$(CONFIG_BCM947XX) := 0xffffffff80001000
107 +# Common Firmware Environment
109 +core-$(CONFIG_CFE) += arch/mips/cfe/
114 core-$(CONFIG_SNI_RM) += arch/mips/sni/
115 diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c
116 --- linux.old/arch/mips/mm/tlbex.c 2007-01-26 00:51:33.000000000 +0100
117 +++ linux.dev/arch/mips/mm/tlbex.c 2007-01-25 23:34:01.000000000 +0100
127 diff -urN linux.old/drivers/Kconfig linux.dev/drivers/Kconfig
128 --- linux.old/drivers/Kconfig 2007-01-26 00:51:33.000000000 +0100
129 +++ linux.dev/drivers/Kconfig 2007-01-25 23:34:01.000000000 +0100
132 source "drivers/hwmon/Kconfig"
134 +source "drivers/ssb/Kconfig"
136 source "drivers/mfd/Kconfig"
138 source "drivers/media/Kconfig"
139 diff -urN linux.old/drivers/Makefile linux.dev/drivers/Makefile
140 --- linux.old/drivers/Makefile 2007-01-26 00:51:33.000000000 +0100
141 +++ linux.dev/drivers/Makefile 2007-01-25 23:34:01.000000000 +0100
143 obj-$(CONFIG_DMA_ENGINE) += dma/
144 obj-$(CONFIG_HID) += hid/
145 obj-$(CONFIG_PPC_PS3) += ps3/
146 +obj-$(CONFIG_SSB) += ssb/
147 diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h
148 --- linux.old/include/asm-mips/bootinfo.h 2007-01-26 00:51:33.000000000 +0100
149 +++ linux.dev/include/asm-mips/bootinfo.h 2007-01-25 23:34:01.000000000 +0100
151 #define MACH_GROUP_NEC_EMMA2RH 25 /* NEC EMMA2RH (was 23) */
152 #define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */
155 + * Valid machtype for group Broadcom
157 +#define MACH_GROUP_BRCM 23 /* Broadcom */
158 +#define MACH_BCM47XX 1 /* Broadcom BCM47xx */
160 #define CL_SIZE COMMAND_LINE_SIZE
162 const char *get_system_type(void);
163 diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h
164 --- linux.old/include/asm-mips/cpu.h 2007-01-26 00:51:33.000000000 +0100
165 +++ linux.dev/include/asm-mips/cpu.h 2007-01-25 23:34:01.000000000 +0100
167 #define PRID_IMP_SR71000 0x0400
170 + * These are the PRID's for when 23:16 == PRID_COMP_BROADCOM
173 +#define PRID_IMP_BCM4710 0x4000
174 +#define PRID_IMP_BCM3302 0x9000
177 * Definitions for 7:0 on legacy processors
183 #define CPU_R14000 64
185 +#define CPU_BCM3302 65
186 +#define CPU_BCM4710 66
190 * ISA Level encodings
191 diff -urN linux.old/include/linux/pci_ids.h linux.dev/include/linux/pci_ids.h
192 --- linux.old/include/linux/pci_ids.h 2007-01-26 00:51:33.000000000 +0100
193 +++ linux.dev/include/linux/pci_ids.h 2007-01-25 23:34:01.000000000 +0100
194 @@ -1981,6 +1981,7 @@
195 #define PCI_DEVICE_ID_TIGON3_5906M 0x1713
196 #define PCI_DEVICE_ID_BCM4401 0x4401
197 #define PCI_DEVICE_ID_BCM4401B0 0x4402
198 +#define PCI_DEVICE_ID_BCM4713 0x4713
200 #define PCI_VENDOR_ID_TOPIC 0x151f
201 #define PCI_DEVICE_ID_TOPIC_TP560 0x0000