linux/arch/mips/include/asm/xtalk/xtalk.h
<<
>>
Prefs
   1/*
   2 * This file is subject to the terms and conditions of the GNU General Public
   3 * License.  See the file "COPYING" in the main directory of this archive
   4 * for more details.
   5 *
   6 * xtalk.h -- platform-independent crosstalk interface, derived from
   7 * IRIX <sys/PCI/bridge.h>, revision 1.38.
   8 *
   9 * Copyright (C) 1995 - 1997, 1999 Silcon Graphics, Inc.
  10 * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org)
  11 */
  12#ifndef _ASM_XTALK_XTALK_H
  13#define _ASM_XTALK_XTALK_H
  14
  15#ifndef __ASSEMBLY__
  16/*
  17 * User-level device driver visible types
  18 */
  19typedef char            xwidgetnum_t;   /* xtalk widget number  (0..15) */
  20
  21#define XWIDGET_NONE            -1
  22
  23typedef int xwidget_part_num_t; /* xtalk widget part number */
  24
  25#define XWIDGET_PART_NUM_NONE   -1
  26
  27typedef int             xwidget_rev_num_t;      /* xtalk widget revision number */
  28
  29#define XWIDGET_REV_NUM_NONE    -1
  30
  31typedef int xwidget_mfg_num_t;  /* xtalk widget manufacturing ID */
  32
  33#define XWIDGET_MFG_NUM_NONE    -1
  34
  35typedef struct xtalk_piomap_s *xtalk_piomap_t;
  36
  37/* It is often convenient to fold the XIO target port
  38 * number into the XIO address.
  39 */
  40#define XIO_NOWHERE     (0xFFFFFFFFFFFFFFFFull)
  41#define XIO_ADDR_BITS   (0x0000FFFFFFFFFFFFull)
  42#define XIO_PORT_BITS   (0xF000000000000000ull)
  43#define XIO_PORT_SHIFT  (60)
  44
  45#define XIO_PACKED(x)   (((x)&XIO_PORT_BITS) != 0)
  46#define XIO_ADDR(x)     ((x)&XIO_ADDR_BITS)
  47#define XIO_PORT(x)     ((xwidgetnum_t)(((x)&XIO_PORT_BITS) >> XIO_PORT_SHIFT))
  48#define XIO_PACK(p, o)  ((((uint64_t)(p))<<XIO_PORT_SHIFT) | ((o)&XIO_ADDR_BITS))
  49
  50#endif /* !__ASSEMBLY__ */
  51
  52#endif /* _ASM_XTALK_XTALK_H */
  53