diff options
Diffstat (limited to 'sys/i386/isa/cyreg.h')
| -rw-r--r-- | sys/i386/isa/cyreg.h | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/sys/i386/isa/cyreg.h b/sys/i386/isa/cyreg.h index baedda4175b2f..d98cfd80ece0a 100644 --- a/sys/i386/isa/cyreg.h +++ b/sys/i386/isa/cyreg.h @@ -26,50 +26,32 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cyreg.h,v 1.7 1998/08/13 19:03:22 bde Exp $ + * $Id: cyreg.h,v 1.6 1998/08/13 13:54:10 bde Exp $ */ /* * Definitions for Cyclades Cyclom-Y serial boards. */ -/* - * Cyclades register offsets. These are physical offsets for ISA boards - * and physical offsets divided by 2 for PCI boards. - */ -#define CY8_SVCACKR 0x100 /* (r) */ -#define CY8_SVCACKT 0x200 /* (r) */ -#define CY8_SVCACKM 0x300 /* (r) */ -#define CY16_RESET 0x1400 /* (r) */ -#define CY_CLEAR_INTR 0x1800 /* intr ack address (w) */ +#define CY8_SVCACKR 0x100 +#define CY8_SVCACKT 0x200 +#define CY8_SVCACKM 0x300 +#define CY16_RESET 0x0a00 +#define CY_CLEAR_INTR 0x0c00 /* intr ack address */ #define CY_MAX_CD1400s 8 /* for Cyclom-32Y */ #define CY_CLOCK(version) ((version) >= 0x48 ? 60000000 : 25000000) #define CY_RTS_DTR_SWAPPED(version) ((version) >= 0x48) -/* - * The `cd' macros are for access to cd1400 registers. The `cy' macros - * are for access to Cyclades registers. Both sets of macros scale the - * register number to get an offset, but the scales are different for - * mostly historical reasons. - */ #ifdef CyDebug -#define cd_inb(iobase, reg, cy_align) \ - (++cd_inbs, *((iobase) + (2 * (reg) << (cy_align)))) -#define cy_inb(iobase, reg, cy_align) \ - (++cy_inbs, *((iobase) + ((reg) << (cy_align)))) -#define cd_outb(iobase, reg, cy_align, val) \ - (++cd_outbs, (void)(*((iobase) + (2 * (reg) << (cy_align))) = (val))) -#define cy_outb(iobase, reg, cy_align, val) \ - (++cy_outbs, (void)(*((iobase) + ((reg) << (cy_align))) = (val))) +#define cd_inb(iobase, reg, cy_align) (++cd_inbs, *((iobase) + ((reg)*2 << (cy_align)))) +#define cy_inb(iobase, reg) (++cy_inbs, *((iobase) + (reg))) +#define cd_outb(iobase, reg, cy_align, val) (++cd_outbs, (void)(*((iobase) + ((reg)*2 << (cy_align))) = (val))) +#define cy_outb(iobase, reg, val) (++cy_outbs, (void)(*((iobase) + (reg)) = (val))) #else -#define cd_inb(iobase, reg, cy_align) \ - (*((iobase) + (2 * (reg) << (cy_align)))) -#define cy_inb(iobase, reg, cy_align) \ - (*((iobase) + ((reg) << (cy_align)))) -#define cd_outb(iobase, reg, cy_align, val) \ - ((void)(*((iobase) + (2 * (reg) << (cy_align))) = (val))) -#define cy_outb(iobase, reg, cy_align, val) \ - ((void)(*((iobase) + ((reg) << (cy_align))) = (val))) +#define cd_inb(iobase, reg, cy_align) (*((iobase) + ((reg)*2 << (cy_align)))) +#define cy_inb(iobase, reg) (*((iobase) + (reg))) +#define cd_outb(iobase, reg, cy_align, val) ((void)(*((iobase) + ((reg)*2 << (cy_align))) = (val))) +#define cy_outb(iobase, reg, val) ((void)(*((iobase) + (reg)) = (val))) #endif |
