home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-mips / dec / kn01.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  3.3 KB  |  92 lines

  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.  
  80. struct pt_regs;
  81.  
  82. extern u16 cached_kn01_csr;
  83. extern spinlock_t kn01_lock;
  84.  
  85. extern void dec_kn01_be_init(void);
  86. extern int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup);
  87. extern irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id,
  88.                      struct pt_regs *regs);
  89. #endif
  90.  
  91. #endif /* __ASM_MIPS_DEC_KN01_H */
  92.