[funini.com] -> [kei@sodan] -> Kernel Reading

root/include/asm-m68k/mvme16xhw.h

/* [<][>][^][v][top][bottom][index][help] */
#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;

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;


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)))

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

/* [<][>][^][v][top][bottom][index][help] */

[funini.com] -> [kei@sodan] -> Kernel Reading