arch/m68k-amiga: Move Custom hw regs out of start
[AROS.git] / arch / m68k-amiga / boot / amiga_hwreg.h
blob56bb21a753cf7b9ad040792fbea645eea312fb4f
1 /*
2 Copyright © 1995-2010, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: m68k-amiga hardware registers
6 Lang: english
7 */
9 #ifndef AMIGA_HWREG_H
10 #define AMIGA_HWREG_H
12 /** Interrupts */
13 #define INTENAR 0x1c
14 #define INTREQR 0x1e
15 #define INTENA 0x9a
16 #define INTREQ 0x9c
18 /** Screen/Serial Debug **/
20 #define SERPER_BASE_PAL 3546895
21 #define SERPER_BASE_NTSC 3579545
22 #define SERPER 0x32
23 #define SERPER_BAUD(base, x) (((base)/(x)-1) & 0x7fff) /* Baud rate */
24 #define SERDATR 0x18
25 #define SERDATR_OVRUN (1 << 15) /* Overrun */
26 #define SERDATR_RBF (1 << 14) /* Rx Buffer Full */
27 #define SERDATR_TBE (1 << 13) /* Tx Buffer Empty */
28 #define SERDATR_TSRE (1 << 12) /* Tx Shift Empty */
29 #define SERDATR_RXD (1 << 11) /* Rx Pin */
30 #define SERDATR_STP9 (1 << 9) /* Stop bit (if 9 data) */
31 #define SERDATR_STP8 (1 << 8) /* Stop bit (if 8 data) */
32 #define SERDATR_DB9_of(x) ((x) & 0x1ff) /* 9-bit data */
33 #define SERDATR_DB8_of(x) ((x) & 0xff) /* 8-bit data */
34 #define ADKCON 0x9e
35 #define ADKCON_SETCLR (1 << 15)
36 #define ADKCON_UARTBRK (1 << 11) /* Force break */
37 #define SERDAT 0x30
38 #define SERDAT_STP9 (1 << 9)
39 #define SERDAT_STP8 (1 << 8)
40 #define SERDAT_DB9(x) ((x) & 0x1ff)
41 #define SERDAT_DB8(x) ((x) & 0xff)
43 #define BPLCON0 0x100
44 #define BPL1DAT 0x110
45 #define COLOR00 0x180
47 static inline void reg_w(ULONG reg, UWORD val)
49 volatile UWORD *r = (void *)(0xdff000 + reg);
51 *r = val;
54 static inline UWORD reg_r(ULONG reg)
56 volatile UWORD *r = (void *)(0xdff000 + reg);
58 return *r;
61 #endif /* AMIGA_HWREG_H */