linux/arch/m68k/include/asm/bvme6000hw.h
<<
>>
Prefs
   1#ifndef _M68K_BVME6000HW_H_
   2#define _M68K_BVME6000HW_H_
   3
   4#include <asm/irq.h>
   5
   6/*
   7 * PIT structure
   8 */
   9
  10#define BVME_PIT_BASE   0xffa00000
  11
  12typedef struct {
  13        unsigned char
  14        pad_a[3], pgcr,
  15        pad_b[3], psrr,
  16        pad_c[3], paddr,
  17        pad_d[3], pbddr,
  18        pad_e[3], pcddr,
  19        pad_f[3], pivr,
  20        pad_g[3], pacr,
  21        pad_h[3], pbcr,
  22        pad_i[3], padr,
  23        pad_j[3], pbdr,
  24        pad_k[3], paar,
  25        pad_l[3], pbar,
  26        pad_m[3], pcdr,
  27        pad_n[3], psr,
  28        pad_o[3], res1,
  29        pad_p[3], res2,
  30        pad_q[3], tcr,
  31        pad_r[3], tivr,
  32        pad_s[3], res3,
  33        pad_t[3], cprh,
  34        pad_u[3], cprm,
  35        pad_v[3], cprl,
  36        pad_w[3], res4,
  37        pad_x[3], crh,
  38        pad_y[3], crm,
  39        pad_z[3], crl,
  40        pad_A[3], tsr,
  41        pad_B[3], res5;
  42} PitRegs_t, *PitRegsPtr;
  43
  44#define bvmepit   ((*(volatile PitRegsPtr)(BVME_PIT_BASE)))
  45
  46#define BVME_RTC_BASE   0xff900000
  47
  48typedef struct {
  49        unsigned char
  50        pad_a[3], msr,
  51        pad_b[3], t0cr_rtmr,
  52        pad_c[3], t1cr_omr,
  53        pad_d[3], pfr_icr0,
  54        pad_e[3], irr_icr1,
  55        pad_f[3], bcd_tenms,
  56        pad_g[3], bcd_sec,
  57        pad_h[3], bcd_min,
  58        pad_i[3], bcd_hr,
  59        pad_j[3], bcd_dom,
  60        pad_k[3], bcd_mth,
  61        pad_l[3], bcd_year,
  62        pad_m[3], bcd_ujcc,
  63        pad_n[3], bcd_hjcc,
  64        pad_o[3], bcd_dow,
  65        pad_p[3], t0lsb,
  66        pad_q[3], t0msb,
  67        pad_r[3], t1lsb,
  68        pad_s[3], t1msb,
  69        pad_t[3], cmp_sec,
  70        pad_u[3], cmp_min,
  71        pad_v[3], cmp_hr,
  72        pad_w[3], cmp_dom,
  73        pad_x[3], cmp_mth,
  74        pad_y[3], cmp_dow,
  75        pad_z[3], sav_sec,
  76        pad_A[3], sav_min,
  77        pad_B[3], sav_hr,
  78        pad_C[3], sav_dom,
  79        pad_D[3], sav_mth,
  80        pad_E[3], ram,
  81        pad_F[3], test;
  82} RtcRegs_t, *RtcPtr_t;
  83
  84
  85#define BVME_I596_BASE  0xff100000
  86
  87#define BVME_ETHIRQ_REG 0xff20000b
  88
  89#define BVME_LOCAL_IRQ_STAT  0xff20000f
  90
  91#define BVME_ETHERR          0x02
  92#define BVME_ABORT_STATUS    0x08
  93
  94#define BVME_NCR53C710_BASE     0xff000000
  95
  96#define BVME_SCC_A_ADDR 0xffb0000b
  97#define BVME_SCC_B_ADDR 0xffb00003
  98#define BVME_SCC_RTxC   7372800
  99
 100#define BVME_CONFIG_REG 0xff500003
 101
 102#define config_reg_ptr  (volatile unsigned char *)BVME_CONFIG_REG
 103
 104#define BVME_CONFIG_SW1 0x08
 105#define BVME_CONFIG_SW2 0x04
 106#define BVME_CONFIG_SW3 0x02
 107#define BVME_CONFIG_SW4 0x01
 108
 109
 110#define BVME_IRQ_TYPE_PRIO      0
 111
 112#define BVME_IRQ_PRN            (IRQ_USER+20)
 113#define BVME_IRQ_TIMER          (IRQ_USER+25)
 114#define BVME_IRQ_I596           IRQ_AUTO_2
 115#define BVME_IRQ_SCSI           IRQ_AUTO_3
 116#define BVME_IRQ_RTC            IRQ_AUTO_6
 117#define BVME_IRQ_ABORT          IRQ_AUTO_7
 118
 119/* SCC interrupts */
 120#define BVME_IRQ_SCC_BASE               IRQ_USER
 121#define BVME_IRQ_SCCB_TX                IRQ_USER
 122#define BVME_IRQ_SCCB_STAT              (IRQ_USER+2)
 123#define BVME_IRQ_SCCB_RX                (IRQ_USER+4)
 124#define BVME_IRQ_SCCB_SPCOND            (IRQ_USER+6)
 125#define BVME_IRQ_SCCA_TX                (IRQ_USER+8)
 126#define BVME_IRQ_SCCA_STAT              (IRQ_USER+10)
 127#define BVME_IRQ_SCCA_RX                (IRQ_USER+12)
 128#define BVME_IRQ_SCCA_SPCOND            (IRQ_USER+14)
 129
 130/* Address control registers */
 131
 132#define BVME_ACR_A32VBA         0xff400003
 133#define BVME_ACR_A32MSK         0xff410003
 134#define BVME_ACR_A24VBA         0xff420003
 135#define BVME_ACR_A24MSK         0xff430003
 136#define BVME_ACR_A16VBA         0xff440003
 137#define BVME_ACR_A32LBA         0xff450003
 138#define BVME_ACR_A24LBA         0xff460003
 139#define BVME_ACR_ADDRCTL        0xff470003
 140
 141#define bvme_acr_a32vba         *(volatile unsigned char *)BVME_ACR_A32VBA
 142#define bvme_acr_a32msk         *(volatile unsigned char *)BVME_ACR_A32MSK
 143#define bvme_acr_a24vba         *(volatile unsigned char *)BVME_ACR_A24VBA
 144#define bvme_acr_a24msk         *(volatile unsigned char *)BVME_ACR_A24MSK
 145#define bvme_acr_a16vba         *(volatile unsigned char *)BVME_ACR_A16VBA
 146#define bvme_acr_a32lba         *(volatile unsigned char *)BVME_ACR_A32LBA
 147#define bvme_acr_a24lba         *(volatile unsigned char *)BVME_ACR_A24LBA
 148#define bvme_acr_addrctl        *(volatile unsigned char *)BVME_ACR_ADDRCTL
 149
 150#endif
 151