linux/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2007 Aurelien Jarno <aurelien@aurel32.net>
   3 *
   4 * This program is free software; you can redistribute it and/or
   5 * modify it under the terms of the GNU General Public License
   6 * as published by the Free Software Foundation; either version 2
   7 * of the License, or (at your option) any later version.
   8 *
   9 * This program is distributed in the hope that it will be useful,
  10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12 * GNU General Public License for more details.
  13 *
  14 * You should have received a copy of the GNU General Public License
  15 * along with this program; if not, write to the Free Software
  16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  17 */
  18
  19#ifndef __ASM_BCM47XX_H
  20#define __ASM_BCM47XX_H
  21
  22#include <linux/ssb/ssb.h>
  23#include <linux/bcma/bcma.h>
  24#include <linux/bcma/bcma_soc.h>
  25#include <linux/bcm47xx_nvram.h>
  26
  27enum bcm47xx_bus_type {
  28#ifdef CONFIG_BCM47XX_SSB
  29        BCM47XX_BUS_TYPE_SSB,
  30#endif
  31#ifdef CONFIG_BCM47XX_BCMA
  32        BCM47XX_BUS_TYPE_BCMA,
  33#endif
  34};
  35
  36union bcm47xx_bus {
  37#ifdef CONFIG_BCM47XX_SSB
  38        struct ssb_bus ssb;
  39#endif
  40#ifdef CONFIG_BCM47XX_BCMA
  41        struct bcma_soc bcma;
  42#endif
  43};
  44
  45extern union bcm47xx_bus bcm47xx_bus;
  46extern enum bcm47xx_bus_type bcm47xx_bus_type;
  47
  48void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
  49                        bool fallback);
  50
  51void bcm47xx_set_system_type(u16 chip_id);
  52
  53#endif /* __ASM_BCM47XX_H */
  54