aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/bcm47xx
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/bcm47xx')
-rw-r--r--arch/mips/bcm47xx/prom.c31
-rw-r--r--arch/mips/bcm47xx/setup.c2
2 files changed, 11 insertions, 22 deletions
diff --git a/arch/mips/bcm47xx/prom.c b/arch/mips/bcm47xx/prom.c
index 5cba318bc1cd..53b9a3fbc8f5 100644
--- a/arch/mips/bcm47xx/prom.c
+++ b/arch/mips/bcm47xx/prom.c
@@ -37,32 +37,19 @@
37 37
38static int cfe_cons_handle; 38static int cfe_cons_handle;
39 39
40static u16 get_chip_id(void) 40static char bcm47xx_system_type[20] = "Broadcom BCM47XX";
41{
42 switch (bcm47xx_bus_type) {
43#ifdef CONFIG_BCM47XX_SSB
44 case BCM47XX_BUS_TYPE_SSB:
45 return bcm47xx_bus.ssb.chip_id;
46#endif
47#ifdef CONFIG_BCM47XX_BCMA
48 case BCM47XX_BUS_TYPE_BCMA:
49 return bcm47xx_bus.bcma.bus.chipinfo.id;
50#endif
51 }
52 return 0;
53}
54 41
55const char *get_system_type(void) 42const char *get_system_type(void)
56{ 43{
57 static char buf[50]; 44 return bcm47xx_system_type;
58 u16 chip_id = get_chip_id(); 45}
59
60 snprintf(buf, sizeof(buf),
61 (chip_id > 0x9999) ? "Broadcom BCM%d (%s)" :
62 "Broadcom BCM%04X (%s)",
63 chip_id, bcm47xx_board_get_name());
64 46
65 return buf; 47__init void bcm47xx_set_system_type(u16 chip_id)
48{
49 snprintf(bcm47xx_system_type, sizeof(bcm47xx_system_type),
50 (chip_id > 0x9999) ? "Broadcom BCM%d" :
51 "Broadcom BCM%04X",
52 chip_id);
66} 53}
67 54
68void prom_putchar(char c) 55void prom_putchar(char c)
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
index 1f30571968e7..de08ba95ebac 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -210,12 +210,14 @@ void __init plat_mem_setup(void)
210#ifdef CONFIG_BCM47XX_BCMA 210#ifdef CONFIG_BCM47XX_BCMA
211 bcm47xx_bus_type = BCM47XX_BUS_TYPE_BCMA; 211 bcm47xx_bus_type = BCM47XX_BUS_TYPE_BCMA;
212 bcm47xx_register_bcma(); 212 bcm47xx_register_bcma();
213 bcm47xx_set_system_type(bcm47xx_bus.bcma.bus.chipinfo.id);
213#endif 214#endif
214 } else { 215 } else {
215 printk(KERN_INFO "bcm47xx: using ssb bus\n"); 216 printk(KERN_INFO "bcm47xx: using ssb bus\n");
216#ifdef CONFIG_BCM47XX_SSB 217#ifdef CONFIG_BCM47XX_SSB
217 bcm47xx_bus_type = BCM47XX_BUS_TYPE_SSB; 218 bcm47xx_bus_type = BCM47XX_BUS_TYPE_SSB;
218 bcm47xx_register_ssb(); 219 bcm47xx_register_ssb();
220 bcm47xx_set_system_type(bcm47xx_bus.ssb.chip_id);
219#endif 221#endif
220 } 222 }
221 223