linux/arch/mips/include/asm/dec/kn01.h
<<
>>
Prefs
   1/*
   2 * Hardware info about DECstation DS2100/3100 systems (otherwise known as
   3 * pmin/pmax or KN01).
   4 *
   5 * This file is subject to the terms and conditions of the GNU General Public
   6 * License.  See the file "COPYING" in the main directory of this archive
   7 * for more details.
   8 *
   9 * Copyright (C) 1995,1996 by Paul M. Antoine, some code and definitions
  10 * are by courtesy of Chris Fraser.
  11 * Copyright (C) 2002, 2003, 2005  Maciej W. Rozycki
  12 */
  13#ifndef __ASM_MIPS_DEC_KN01_H
  14#define __ASM_MIPS_DEC_KN01_H
  15
  16#define KN01_SLOT_BASE  0x10000000
  17#define KN01_SLOT_SIZE  0x01000000
  18
  19/*
  20 * Address ranges for devices.
  21 */
  22#define KN01_PMASK      (0*KN01_SLOT_SIZE)      /* color plane mask */
  23#define KN01_PCC        (1*KN01_SLOT_SIZE)      /* PCC (DC503) cursor */
  24#define KN01_VDAC       (2*KN01_SLOT_SIZE)      /* color map */
  25#define KN01_RES_3      (3*KN01_SLOT_SIZE)      /* unused */
  26#define KN01_RES_4      (4*KN01_SLOT_SIZE)      /* unused */
  27#define KN01_RES_5      (5*KN01_SLOT_SIZE)      /* unused */
  28#define KN01_RES_6      (6*KN01_SLOT_SIZE)      /* unused */
  29#define KN01_ERRADDR    (7*KN01_SLOT_SIZE)      /* write error address */
  30#define KN01_LANCE      (8*KN01_SLOT_SIZE)      /* LANCE (Am7990) Ethernet */
  31#define KN01_LANCE_MEM  (9*KN01_SLOT_SIZE)      /* LANCE buffer memory */
  32#define KN01_SII        (10*KN01_SLOT_SIZE)     /* SII (DC7061) SCSI */
  33#define KN01_SII_MEM    (11*KN01_SLOT_SIZE)     /* SII buffer memory */
  34#define KN01_DZ11       (12*KN01_SLOT_SIZE)     /* DZ11 (DC7085) serial */
  35#define KN01_RTC        (13*KN01_SLOT_SIZE)     /* DS1287 RTC (bytes #0) */
  36#define KN01_ESAR       (13*KN01_SLOT_SIZE)     /* MAC address (bytes #1) */
  37#define KN01_CSR        (14*KN01_SLOT_SIZE)     /* system ctrl & status reg */
  38#define KN01_SYS_ROM    (15*KN01_SLOT_SIZE)     /* system board ROM */
  39
  40
  41/*
  42 * Frame buffer memory address.
  43 */
  44#define KN01_VFB_MEM    0x0fc00000
  45
  46/*
  47 * CPU interrupt bits.
  48 */
  49#define KN01_CPU_INR_BUS        6       /* memory, I/O bus read/write errors */
  50#define KN01_CPU_INR_VIDEO      6       /* PCC area detect #2 */
  51#define KN01_CPU_INR_RTC        5       /* DS1287 RTC */
  52#define KN01_CPU_INR_DZ11       4       /* DZ11 (DC7085) serial */
  53#define KN01_CPU_INR_LANCE      3       /* LANCE (Am7990) Ethernet */
  54#define KN01_CPU_INR_SII        2       /* SII (DC7061) SCSI */
  55
  56
  57/*
  58 * System Control & Status Register bits.
  59 */
  60#define KN01_CSR_MNFMOD         (1<<15) /* MNFMOD manufacturing jumper */
  61#define KN01_CSR_STATUS         (1<<14) /* self-test result status output */
  62#define KN01_CSR_PARDIS         (1<<13) /* parity error disable */
  63#define KN01_CSR_CRSRTST        (1<<12) /* PCC test output */
  64#define KN01_CSR_MONO           (1<<11) /* mono/color fb SIMM installed */
  65#define KN01_CSR_MEMERR         (1<<10) /* write timeout error status & ack*/
  66#define KN01_CSR_VINT           (1<<9)  /* PCC area detect #2 status & ack */
  67#define KN01_CSR_TXDIS          (1<<8)  /* DZ11 transmit disable */
  68#define KN01_CSR_VBGTRG         (1<<2)  /* blue DAC voltage over green (r/o) */
  69#define KN01_CSR_VRGTRG         (1<<1)  /* red DAC voltage over green (r/o) */
  70#define KN01_CSR_VRGTRB         (1<<0)  /* red DAC voltage over blue (r/o) */
  71#define KN01_CSR_LEDS           (0xff<<0) /* ~diagnostic LEDs (w/o) */
  72
  73
  74#ifndef __ASSEMBLY__
  75
  76#include <linux/interrupt.h>
  77#include <linux/spinlock.h>
  78#include <linux/types.h>
  79
  80struct pt_regs;
  81
  82extern u16 cached_kn01_csr;
  83
  84extern void dec_kn01_be_init(void);
  85extern int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup);
  86extern irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id);
  87#endif
  88
  89#endif /* __ASM_MIPS_DEC_KN01_H */
  90