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