1 
   2 
   3 
   4 
   5 
   6 #ifndef __ASM_BCM47XX_H
   7 #define __ASM_BCM47XX_H
   8 
   9 #include <linux/ssb/ssb.h>
  10 #include <linux/bcma/bcma.h>
  11 #include <linux/bcma/bcma_soc.h>
  12 #include <linux/bcm47xx_nvram.h>
  13 
  14 enum bcm47xx_bus_type {
  15 #ifdef CONFIG_BCM47XX_SSB
  16         BCM47XX_BUS_TYPE_SSB,
  17 #endif
  18 #ifdef CONFIG_BCM47XX_BCMA
  19         BCM47XX_BUS_TYPE_BCMA,
  20 #endif
  21 };
  22 
  23 union bcm47xx_bus {
  24 #ifdef CONFIG_BCM47XX_SSB
  25         struct ssb_bus ssb;
  26 #endif
  27 #ifdef CONFIG_BCM47XX_BCMA
  28         struct bcma_soc bcma;
  29 #endif
  30 };
  31 
  32 extern union bcm47xx_bus bcm47xx_bus;
  33 extern enum bcm47xx_bus_type bcm47xx_bus_type;
  34 
  35 void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
  36                         bool fallback);
  37 
  38 void bcm47xx_set_system_type(u16 chip_id);
  39 
  40 #endif