11c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno/*
21c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * Copyright (C) 2007 Aurelien Jarno <aurelien@aurel32.net>
31c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno *
41c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * This program is free software; you can redistribute it and/or
51c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * modify it under the terms of the GNU General Public License
61c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * as published by the Free Software Foundation; either version 2
71c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * of the License, or (at your option) any later version.
81c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno *
91c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * This program is distributed in the hope that it will be useful,
101c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * but WITHOUT ANY WARRANTY; without even the implied warranty of
111c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
121c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * GNU General Public License for more details.
131c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno *
141c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * You should have received a copy of the GNU General Public License
151c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * along with this program; if not, write to the Free Software
161c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
171c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno */
181c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno
191c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno#ifndef __ASM_BCM47XX_H
201c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno#define __ASM_BCM47XX_H
211c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno
2208ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtens#include <linux/ssb/ssb.h>
23c1d1c5d4213ee96e054c4d195117368972a4c01fHauke Mehrtens#include <linux/bcma/bcma.h>
24c1d1c5d4213ee96e054c4d195117368972a4c01fHauke Mehrtens#include <linux/bcma/bcma_soc.h>
2508ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtens
2608ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtensenum bcm47xx_bus_type {
27a656ffcbc7a98a80d2136ae6bbdd8ae2eb48c78aHauke Mehrtens#ifdef CONFIG_BCM47XX_SSB
2808ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtens	BCM47XX_BUS_TYPE_SSB,
29a656ffcbc7a98a80d2136ae6bbdd8ae2eb48c78aHauke Mehrtens#endif
30c1d1c5d4213ee96e054c4d195117368972a4c01fHauke Mehrtens#ifdef CONFIG_BCM47XX_BCMA
31c1d1c5d4213ee96e054c4d195117368972a4c01fHauke Mehrtens	BCM47XX_BUS_TYPE_BCMA,
32c1d1c5d4213ee96e054c4d195117368972a4c01fHauke Mehrtens#endif
3308ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtens};
3408ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtens
3508ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtensunion bcm47xx_bus {
36a656ffcbc7a98a80d2136ae6bbdd8ae2eb48c78aHauke Mehrtens#ifdef CONFIG_BCM47XX_SSB
3708ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtens	struct ssb_bus ssb;
38a656ffcbc7a98a80d2136ae6bbdd8ae2eb48c78aHauke Mehrtens#endif
39c1d1c5d4213ee96e054c4d195117368972a4c01fHauke Mehrtens#ifdef CONFIG_BCM47XX_BCMA
40c1d1c5d4213ee96e054c4d195117368972a4c01fHauke Mehrtens	struct bcma_soc bcma;
41c1d1c5d4213ee96e054c4d195117368972a4c01fHauke Mehrtens#endif
4208ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtens};
4308ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtens
4408ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtensextern union bcm47xx_bus bcm47xx_bus;
4508ccf57283f89adbc2ff897ad82d6ad4560db7cdHauke Mehrtensextern enum bcm47xx_bus_type bcm47xx_bus_type;
461c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno
47019eee2e34e2d1db715dc4fe5be2079800636fa8Hauke Mehrtensvoid bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix);
48019eee2e34e2d1db715dc4fe5be2079800636fa8Hauke Mehrtensvoid bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom, const char *prefix);
49019eee2e34e2d1db715dc4fe5be2079800636fa8Hauke Mehrtens
501c0c13eb935c95fd2ca0b0aca6dd4860487fb242Aurelien Jarno#endif /* __ASM_BCM47XX_H */
51