blob: d42c76e749653e6d3ec1b3dff3b745ac80d0d149 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2002 by Linus Nielsen Feltzing
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef SH_H_INCLUDED
#define SH_H_INCLUDED
/* Support for Serial I/O using on chip uart */
#define SMR0 (*(volatile unsigned char *)(0x05FFFEC0)) /* Ch 0 serial mode */
#define BRR0 (*(volatile unsigned char *)(0x05FFFEC1)) /* Ch 0 bit rate */
#define SCR0 (*(volatile unsigned char *)(0x05FFFEC2)) /* Ch 0 serial ctrl */
#define TDR0 (*(volatile unsigned char *)(0x05FFFEC3)) /* Ch 0 transmit data */
#define SSR0 (*(volatile unsigned char *)(0x05FFFEC4)) /* Ch 0 serial status */
#define RDR0 (*(volatile unsigned char *)(0x05FFFEC5)) /* Ch 0 receive data */
#define SMR1 (*(volatile unsigned char *)(0x05FFFEC8)) /* Ch 1 serial mode */
#define BRR1 (*(volatile unsigned char *)(0x05FFFEC9)) /* Ch 1 bit rate */
#define SCR1 (*(volatile unsigned char *)(0x05FFFECA)) /* Ch 1 serial ctrl */
#define TDR1 (*(volatile unsigned char *)(0x05FFFECB)) /* Ch 1 transmit data */
#define SSR1 (*(volatile unsigned char *)(0x05FFFECC)) /* Ch 1 serial status */
#define RDR1 (*(volatile unsigned char *)(0x05FFFECD)) /* Ch 1 receive data */
/*
* Serial mode register bits
*/
#define SYNC_MODE 0x80
#define SEVEN_BIT_DATA 0x40
#define PARITY_ON 0x20
#define ODD_PARITY 0x10
#define STOP_BITS_2 0x08
#define ENABLE_MULTIP 0x04
#define PHI_64 0x03
#define PHI_16 0x02
#define PHI_4 0x01
/*
* Serial control register bits
*/
#define SCI_TIE 0x80 /* Transmit interrupt enable */
#define SCI_RIE 0x40 /* Receive interrupt enable */
#define SCI_TE 0x20 /* Transmit enable */
#define SCI_RE 0x10 /* Receive enable */
#define SCI_MPIE 0x08 /* Multiprocessor interrupt enable */
#define SCI_TEIE 0x04 /* Transmit end interrupt enable */
#define SCI_CKE1 0x02 /* Clock enable 1 */
#define SCI_CKE0 0x01 /* Clock enable 0 */
/*
* Serial status register bits
*/
#define SCI_TDRE 0x80 /* Transmit data register empty */
#define SCI_RDRF 0x40 /* Receive data register full */
#define SCI_ORER 0x20 /* Overrun error */
#define SCI_FER 0x10 /* Framing error */
#define SCI_PER 0x08 /* Parity error */
#define SCI_TEND 0x04 /* Transmit end */
#define SCI_MPB 0x02 /* Multiprocessor bit */
#define SCI_MPBT 0x01 /* Multiprocessor bit transfer */
/*
* Port Registers
*/
#define PADR (*(volatile unsigned short *)(0x5ffffc0)) /* Port A Data */
#define PAIOR (*(volatile unsigned short *)(0x5ffffc4)) /* Port A I/O */
#define PACR1 (*(volatile unsigned short *)(0x5ffffc8)) /* Port A ctrl 1 */
#define PACR2 (*(volatile unsigned short *)(0x5ffffca)) /* Port A ctrl 2 */
#define PBDR (*(volatile unsigned short *)(0x5ffffc2)) /* Port B Data */
#define PBIOR (*(volatile unsigned short *)(0x5ffffc6)) /* Port B I/O */
#define PBCR1 (*(volatile unsigned short *)(0x5ffffcc)) /* Port B ctrl 1 */
#define PBCR2 (*(volatile unsigned short *)(0x5ffffce)) /* Port B ctrl 2 */
#define CASCR (*(volatile unsigned short *)(0x5ffffee)) /* CAS strobe pin */
#define PB15MD PB15MD1|PB14MD0
#define PB14MD PB14MD1|PB14MD0
#define PB13MD PB13MD1|PB13MD0
#define PB12MD PB12MD1|PB12MD0
#define PB11MD PB11MD1|PB11MD0
#define PB10MD PB10MD1|PB10MD0
#define PB9MD PB9MD1|PB9MD0
#define PB8MD PB8MD1|PB8MD0
#define PB_TXD1 PB11MD1
#define PB_RXD1 PB10MD1
#define PB_TXD0 PB9MD1
#define PB_RXD0 PB8MD1
#define PB7MD PB7MD1|PB7MD0
#define PB6MD PB6MD1|PB6MD0
#define PB5MD PB5MD1|PB5MD0
#define PB4MD PB4MD1|PB4MD0
#define PB3MD PB3MD1|PB3MD0
#define PB2MD PB2MD1|PB2MD0
#define PB1MD PB1MD1|PB1MD0
#define PB0MD PB0MD1|PB0MD0
/* Bus state controller registers */
#define BCR (*(volatile unsigned short *)(0x5ffffa0)) /* Bus control */
#define WCR1 (*(volatile unsigned short *)(0x5ffffa2)) /* Wait state ctrl 1 */
#define WCR2 (*(volatile unsigned short *)(0x5ffffa4)) /* Wait state ctrl 2 */
#define WCR3 (*(volatile unsigned short *)(0x5ffffa6)) /* Wait state ctrl 3 */
#define DCR (*(volatile unsigned short *)(0x5ffffa8)) /* DRAM area ctrl */
#define PCR (*(volatile unsigned short *)(0x5ffffaa)) /* Parity control */
#define RCR (*(volatile unsigned short *)(0x5ffffae)) /* Refresh control */
#define RTCSR (*(volatile unsigned short *)(0x5ffffae)) /* Refresh timer
control/status */
#define RTCNT (*(volatile unsigned short *)(0x5ffffb0)) /* Refresh timer cnt */
#define RTCOR (*(volatile unsigned short *)(0x5ffffb2)) /* Refresh time
constant */
/* Interrupt controller registers */
#define IPRA (*(volatile unsigned short *)(0x5ffff84)) /* Priority A */
#define IPRB (*(volatile unsigned short *)(0x5ffff86)) /* Priority B */
#define IPRC (*(volatile unsigned short *)(0x5ffff88)) /* Priority C */
#define IPRD (*(volatile unsigned short *)(0x5ffff88)) /* Priority D */
#define IPRE (*(volatile unsigned short *)(0x5ffff8c)) /* Priority E */
#define ICR (*(volatile unsigned short *)(0x5ffff8e)) /* Interrupt Control */
/* ITU registers */
#define TSTR (*(volatile unsigned char *)(0x5ffff00)) /* Timer Start */
#define TSNC (*(volatile unsigned char *)(0x5ffff01)) /* Timer Synchro */
#define TMDR (*(volatile unsigned char *)(0x5ffff02)) /* Timer Mode */
#define TFCR (*(volatile unsigned char *)(0x5ffff03)) /* Timer Function Ctrl */
#define TOCR (*(volatile unsigned char *)(0x5ffff31)) /* Timer Output Ctrl */
#define TCR0 (*(volatile unsigned char *)(0x5ffff04)) /* Timer 0 Ctrl */
#define TIOR0 (*(volatile unsigned char *)(0x5ffff05)) /* Timer 0 I/O Ctrl */
#define TIER0 (*(volatile unsigned char *)(0x5ffff06)) /* Timer 0 Int Enable */
#define TSR0 (*(volatile unsigned char *)(0x5ffff07)) /* Timer 0 Status */
#define TCNT0 (*(volatile unsigned short *)(0x5ffff08)) /* Timer 0 Count */
#define GRA0 (*(volatile unsigned short *)(0x5ffff0a)) /* Timer 0 GRA */
#define GRB0 (*(volatile unsigned short *)(0x5ffff0c)) /* Timer 0 GRB */
#define TCR1 (*(volatile unsigned char *)(0x5ffff0e)) /* Timer 1 Ctrl */
#define TIOR1 (*(volatile unsigned char *)(0x5ffff0f)) /* Timer 1 I/O Ctrl */
#define TIER1 (*(volatile unsigned char *)(0x5ffff10)) /* Timer 1 Int Enable */
#define TSR1 (*(volatile unsigned char *)(0x5ffff11)) /* Timer 1 Status */
#define TCNT1 (*(volatile unsigned short *)(0x5ffff12)) /* Timer 1 Count */
#define GRA1 (*(volatile unsigned short *)(0x5ffff14)) /* Timer 1 GRA */
#define GRB1 (*(volatile unsigned short *)(0x5ffff16)) /* Timer 1 GRB */
#define TCR2 (*(volatile unsigned char *)(0x5ffff18)) /* Timer 2 Ctrl */
#define TIOR2 (*(volatile unsigned char *)(0x5ffff19)) /* Timer 2 I/O Ctrl */
#define TIER2 (*(volatile unsigned char *)(0x5ffff1a)) /* Timer 2 Int Enable */
#define TSR2 (*(volatile unsigned char *)(0x5ffff1b)) /* Timer 2 Status */
#define TCNT2 (*(volatile unsigned short *)(0x5ffff1c)) /* Timer 2 Count */
#define GRA2 (*(volatile unsigned short *)(0x5ffff1e)) /* Timer 2 GRA */
#define GRB2 (*(volatile unsigned short *)(0x5ffff20)) /* Timer 2 GRB */
#define TCR3 (*(volatile unsigned char *)(0x5ffff22)) /* Timer 3 Ctrl */
#define TIOR3 (*(volatile unsigned char *)(0x5ffff23)) /* Timer 3 I/O Ctrl */
#define TIER3 (*(volatile unsigned char *)(0x5ffff24)) /* Timer 3 Int Enable */
#define TSR3 (*(volatile unsigned char *)(0x5ffff25)) /* Timer 3 Status */
#define TCNT3 (*(volatile unsigned short *)(0x5ffff26)) /* Timer 3 Count */
#define GRA3 (*(volatile unsigned short *)(0x5ffff28)) /* Timer 3 GRA */
#define GRB3 (*(volatile unsigned short *)(0x5ffff2a)) /* Timer 3 GRB */
#define BRA3 (*(volatile unsigned short *)(0x5ffff2c)) /* Timer 3 BRA */
#define BRB3 (*(volatile unsigned short *)(0x5ffff2e)) /* Timer 3 BRB */
#define TCR4 (*(volatile unsigned char *)(0x5ffff32)) /* Timer 4 Ctrl */
#define TIOR4 (*(volatile unsigned char *)(0x5ffff33)) /* Timer 4 I/O Ctrl */
#define TIER4 (*(volatile unsigned char *)(0x5ffff34)) /* Timer 4 Int Enable */
#define TSR4 (*(volatile unsigned char *)(0x5ffff35)) /* Timer 4 Status */
#define TCNT4 (*(volatile unsigned short *)(0x5ffff36)) /* Timer 4 Count */
#define GRA4 (*(volatile unsigned short *)(0x5ffff38)) /* Timer 4 GRA */
#define GRB4 (*(volatile unsigned short *)(0x5ffff3a)) /* Timer 4 GRB */
#define BRA4 (*(volatile unsigned short *)(0x5ffff3c)) /* Timer 4 BRA */
#define BRB4 (*(volatile unsigned short *)(0x5ffff3e)) /* Timer 4 BRB */
#endif
|