0001
0002
0003
0004
0005
0006 #ifndef __ASM_BCM47XX_H
0007 #define __ASM_BCM47XX_H
0008
0009 #include <linux/ssb/ssb.h>
0010 #include <linux/bcma/bcma.h>
0011 #include <linux/bcma/bcma_soc.h>
0012 #include <linux/bcm47xx_nvram.h>
0013 #include <linux/bcm47xx_sprom.h>
0014
0015 enum bcm47xx_bus_type {
0016 #ifdef CONFIG_BCM47XX_SSB
0017 BCM47XX_BUS_TYPE_SSB,
0018 #endif
0019 #ifdef CONFIG_BCM47XX_BCMA
0020 BCM47XX_BUS_TYPE_BCMA,
0021 #endif
0022 };
0023
0024 union bcm47xx_bus {
0025 #ifdef CONFIG_BCM47XX_SSB
0026 struct ssb_bus ssb;
0027 #endif
0028 #ifdef CONFIG_BCM47XX_BCMA
0029 struct bcma_soc bcma;
0030 #endif
0031 };
0032
0033 extern union bcm47xx_bus bcm47xx_bus;
0034 extern enum bcm47xx_bus_type bcm47xx_bus_type;
0035
0036 void bcm47xx_set_system_type(u16 chip_id);
0037
0038 #endif