xref: /netbsd-src/sys/dev/podulebus/secreg.h (revision 5375dc7f105586783a4a9c626a184a7b7272255f)
1 /* $NetBSD: secreg.h,v 1.1 2006/10/01 12:39:35 bjh21 Exp $ */
2 
3 /*
4  * Ben Harris 2006
5  *
6  * This file is in the public domain.
7  */
8 
9 /*
10  * Register definitions for Acorn SCSI expansion cards (AKA30, AKA31, AKA32)
11  */
12 
13 /*
14  * Offsets are in bus_space units (words)
15  */
16 
17 /* Podule "fast" space */
18 #define SEC_ROM		0x000
19 #define SEC_ISR		0x800 /* Interrupt status (read-only) */
20 #define SEC_ISR_SBIC	0x08  /* Interrupt from WD33C93A SBIC */
21 #define SEC_ISR_DMAC	0x02  /* TC uPD71071 DMAC */
22 #define SEC_ISR_IRQ	0x01  /* OR of the above */
23 #define SEC_CLRINT	0x800 /* Clear TC interrupt (write-only) */
24 #define SEC_MPR		0xc00 /* Memory page register */
25 #define SEC_MPR_UR	0x80  /* User reset */
26 #define SEC_MPR_IE	0x40  /* Interrupts enabled */
27 #define SEC_MPR_PAGE	0x3f  /* EPROM/SRAM page address */
28 
29 /* Module space */
30 #define SEC_SRAM	0x000
31 #define SEC_SBIC	0x800
32 #define SEC_DMAC	0xc00
33 
34 /* The address lines of the DMAC are permuted. */
35 #define DMAC(addr) ((addr) >> 1 | ((addr) & 1) << 7)
36 
37 #define SEC_CLKFREQ	80	/* Clock speed in 100 kHz */
38 #define SEC_NPAGES	16
39 #define SEC_PAGESIZE	4096
40 #define SEC_MEMSIZE	(SEC_PAGESIZE * SEC_NPAGES)
41