Logo Search packages:      
Sourcecode: linux version File versions  Download package

mvme16xhw.h

#ifndef _M68K_MVME16xHW_H_
#define _M68K_MVME16xHW_H_

#include <asm/irq.h>

/* Board ID data structure - pointer to this retrieved from Bug by head.S */

/* Note, bytes 12 and 13 are board no in BCD (0162,0166,0167,0177,etc) */

extern long mvme_bdid_ptr;

00012 typedef struct {
      char  bdid[4];
      u_char      rev, mth, day, yr;
      u_short     size, reserved;
      u_short     brdno;
      char brdsuffix[2];
      u_long      options;
      u_short     clun, dlun, ctype, dnum;
      u_long      option2;
} t_bdid, *p_bdid;


00024 typedef struct {
      u_char      ack_icr,
            flt_icr,
            sel_icr,
            pe_icr,
            bsy_icr,
            spare1,
            isr,
            cr,
            spare2,
            spare3,
            spare4,
            data;
} MVMElp, *MVMElpPtr;

#define MVME_LPR_BASE   0xfff42030

#define mvmelp   ((*(volatile MVMElpPtr)(MVME_LPR_BASE)))

00043 typedef struct {
      unsigned char
            ctrl,
            bcd_sec,
            bcd_min,
            bcd_hr,
            bcd_dow,
            bcd_dom,
            bcd_mth,
            bcd_year;
} MK48T08_t, *MK48T08ptr_t;

#define RTC_WRITE 0x80
#define RTC_READ  0x40
#define RTC_STOP  0x20

#define MVME_RTC_BASE   0xfffc1ff8

#define MVME_I596_BASE  0xfff46000

#define MVME_SCC_A_ADDR 0xfff45005
#define MVME_SCC_B_ADDR 0xfff45001
#define MVME_SCC_PCLK   10000000

#define MVME162_IRQ_TYPE_PRIO 0

#define MVME167_IRQ_PRN       (IRQ_USER+20)
#define MVME16x_IRQ_I596      (IRQ_USER+23)
#define MVME16x_IRQ_SCSI      (IRQ_USER+21)
#define MVME16x_IRQ_FLY       (IRQ_USER+63)
#define MVME167_IRQ_SER_ERR   (IRQ_USER+28)
#define MVME167_IRQ_SER_MODEM (IRQ_USER+29)
#define MVME167_IRQ_SER_TX    (IRQ_USER+30)
#define MVME167_IRQ_SER_RX    (IRQ_USER+31)
#define MVME16x_IRQ_TIMER     (IRQ_USER+25)
#define MVME167_IRQ_ABORT     (IRQ_USER+46)
#define MVME162_IRQ_ABORT     (IRQ_USER+30)

/* SCC interrupts, for MVME162 */
#define MVME162_IRQ_SCC_BASE        (IRQ_USER+0)
#define MVME162_IRQ_SCCB_TX         (IRQ_USER+0)
#define MVME162_IRQ_SCCB_STAT       (IRQ_USER+2)
#define MVME162_IRQ_SCCB_RX         (IRQ_USER+4)
#define MVME162_IRQ_SCCB_SPCOND           (IRQ_USER+6)
#define MVME162_IRQ_SCCA_TX         (IRQ_USER+8)
#define MVME162_IRQ_SCCA_STAT       (IRQ_USER+10)
#define MVME162_IRQ_SCCA_RX         (IRQ_USER+12)
#define MVME162_IRQ_SCCA_SPCOND           (IRQ_USER+14)

/* MVME162 version register */

#define MVME162_VERSION_REG   0xfff4202e

extern unsigned short mvme16x_config;

/* Lower 8 bits must match the revision register in the MC2 chip */

#define MVME16x_CONFIG_SPEED_32           0x0001
#define MVME16x_CONFIG_NO_VMECHIP2  0x0002
#define MVME16x_CONFIG_NO_SCSICHIP  0x0004
#define MVME16x_CONFIG_NO_ETHERNET  0x0008
#define MVME16x_CONFIG_GOT_FPU            0x0010

#define MVME16x_CONFIG_GOT_LP       0x0100
#define MVME16x_CONFIG_GOT_CD2401   0x0200
#define MVME16x_CONFIG_GOT_SCCA           0x0400
#define MVME16x_CONFIG_GOT_SCCB           0x0800

#endif

Generated by  Doxygen 1.6.0   Back to index