1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (C) 2007 Aurelien Jarno <aurelien@aurel32.net> 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifndef __ASM_BCM47XX_H 7*4882a593Smuzhiyun #define __ASM_BCM47XX_H 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include <linux/ssb/ssb.h> 10*4882a593Smuzhiyun #include <linux/bcma/bcma.h> 11*4882a593Smuzhiyun #include <linux/bcma/bcma_soc.h> 12*4882a593Smuzhiyun #include <linux/bcm47xx_nvram.h> 13*4882a593Smuzhiyun #include <linux/bcm47xx_sprom.h> 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun enum bcm47xx_bus_type { 16*4882a593Smuzhiyun #ifdef CONFIG_BCM47XX_SSB 17*4882a593Smuzhiyun BCM47XX_BUS_TYPE_SSB, 18*4882a593Smuzhiyun #endif 19*4882a593Smuzhiyun #ifdef CONFIG_BCM47XX_BCMA 20*4882a593Smuzhiyun BCM47XX_BUS_TYPE_BCMA, 21*4882a593Smuzhiyun #endif 22*4882a593Smuzhiyun }; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun union bcm47xx_bus { 25*4882a593Smuzhiyun #ifdef CONFIG_BCM47XX_SSB 26*4882a593Smuzhiyun struct ssb_bus ssb; 27*4882a593Smuzhiyun #endif 28*4882a593Smuzhiyun #ifdef CONFIG_BCM47XX_BCMA 29*4882a593Smuzhiyun struct bcma_soc bcma; 30*4882a593Smuzhiyun #endif 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun extern union bcm47xx_bus bcm47xx_bus; 34*4882a593Smuzhiyun extern enum bcm47xx_bus_type bcm47xx_bus_type; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun void bcm47xx_set_system_type(u16 chip_id); 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun #endif /* __ASM_BCM47XX_H */ 39