Imported Upstream version 2.9.0
[debian/cc1111] / device / include / mcs51 / C8051F360.h
1 /*-------------------------------------------------------------------------
2    Register Declarations for the SiLabs C8051F36x Processor Range
3
4    Copyright (C) 2007 - Maarten Brock, sourceforge.brock@dse.nl
5
6    This library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
10
11    This library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
15
16    You should have received a copy of the GNU Lesser General Public
17    License along with this library; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 -------------------------------------------------------------------------*/
20
21 #ifndef C8051F360_H
22 #define C8051F360_H
23
24 #include <compiler.h>
25
26 /*  All Pages */
27
28 SFR(P0,         0x80);      // Port 0
29    SBIT(P0_0,     0x80, 0); // Port 0 bit 0
30    SBIT(P0_1,     0x80, 1); // Port 0 bit 1
31    SBIT(P0_2,     0x80, 2); // Port 0 bit 2
32    SBIT(P0_3,     0x80, 3); // Port 0 bit 3
33    SBIT(P0_4,     0x80, 4); // Port 0 bit 4
34    SBIT(P0_5,     0x80, 5); // Port 0 bit 5
35    SBIT(P0_6,     0x80, 6); // Port 0 bit 6
36    SBIT(P0_7,     0x80, 7); // Port 0 bit 7
37 SFR(SP,         0x81);      // Stack Pointer
38 SFR(DPL,        0x82);      // Data Pointer Low Byte
39 SFR(DPH,        0x83);      // Data Pointer High Byte
40 SFR(SFRNEXT,    0x85);      // SFR Stack Next Page
41 SFR(SFRLAST,    0x86);      // SFR Stack Last Page
42 SFR(PCON,       0x87);      // Power Mode Control
43 SFR(TCON,       0x88);      // Timer Control
44    SBIT(IT0,      0x88, 0); // Ext. Interrupt 0 Type Select
45    SBIT(IE0,      0x88, 1); // Ext. Interrupt 0 Flag
46    SBIT(IT1,      0x88, 2); // Ext. Interrupt 1 Type Select
47    SBIT(IE1,      0x88, 3); // Ext. Interrupt 1 Flag
48    SBIT(TR0,      0x88, 4); // Timer 0 Run Control
49    SBIT(TF0,      0x88, 5); // Timer 0 Overflow Flag
50    SBIT(TR1,      0x88, 6); // Timer 1 Run Control
51    SBIT(TF1,      0x88, 7); // Timer 1 Overflow Flag
52 SFR(TMOD,       0x89);      // Timer Mode
53 SFR16E(TMR0,    0x8C8A);    // Timer/Counter 0 Word
54    SFR(TL0,       0x8A);    // Timer/Counter 0 Low Byte
55    SFR(TH0,       0x8C);    // Timer/Counter 0 High Byte
56 SFR16E(TMR1,    0x8D8B);    // Timer/Counter 1 Word
57    SFR(TL1,       0x8B);    // Timer/Counter 1 Low Byte
58    SFR(TH1,       0x8D);    // Timer/Counter 1 High Byte
59 SFR(CKCON,      0x8E);      // Clock Control
60 SFR(P1,         0x90);      // Port 1
61    SBIT(P1_0,     0x90, 0); // Port 1 bit 0
62    SBIT(P1_1,     0x90, 1); // Port 1 bit 1
63    SBIT(P1_2,     0x90, 2); // Port 1 bit 2
64    SBIT(P1_3,     0x90, 3); // Port 1 bit 3
65    SBIT(P1_4,     0x90, 4); // Port 1 bit 4
66    SBIT(P1_5,     0x90, 5); // Port 1 bit 5
67    SBIT(P1_6,     0x90, 6); // Port 1 bit 6
68    SBIT(P1_7,     0x90, 7); // Port 1 bit 7
69 SFR(TMR3CN,     0x91);      // Timer 3 Control
70 SFR16(TMR3RL,   0x92);      // Timer 3 Reload Register Word
71    SFR(TMR3RLL,    0x92);   // Timer 3 Reload Register Low Byte
72    SFR(TMR3RLH,    0x93);   // Timer 3 Reload Register High Byte
73 SFR16(TMR3,     0x94);      // Timer 3 Word
74    SFR(TMR3L,      0x94);   // Timer 3 Low Byte
75    SFR(TMR3H,      0x95);   // Timer 3 High Byte
76 SFR16(IDA0,     0x96);      // IDAC 0 Word
77    SFR(IDA0L,      0x96);   // IDAC 0 Low Byte
78    SFR(IDA0H,      0x97);   // IDAC 0 High Byte
79 SFR(SCON0,      0x98);      // Serial Port 0 Control
80    SBIT(RI0,      0x98, 0); // Receive Interrupt Flag
81    SBIT(TI0,      0x98, 1); // Transmit Interrupt Flag
82    SBIT(RB80,     0x98, 2); // Ninth Receive Bit
83    SBIT(TB80,     0x98, 3); // Ninth Transmission Bit
84    SBIT(REN0,     0x98, 4); // Receive Enable
85    SBIT(MCE0,     0x98, 5); // Multiprocessor Communication Enable
86    SBIT(S0MODE,   0x98, 7); // Serial Port 0 Operation Mode
87 SFR(SBUF0,      0x99);      // Serial Port 0 Data Buffer
88 SFR(CPT1CN,     0x9A);      // Comparator 1 Control
89 SFR(CPT0CN,     0x9B);      // Comparator 0 Control
90 SFR(CPT1MD,     0x9C);      // Comparator 1 Mode Selection
91 SFR(CPT0MD,     0x9D);      // Comparator 0 Mode Selection
92 SFR(CPT1MX,     0x9E);      // Comparator 1 MUX Selection
93 SFR(CPT0MX,     0x9F);      // Comparator 0 MUX Selection
94 SFR(P2,         0xA0);      // Port 2
95    SBIT(P2_0,     0xA0, 0); // Port 2 bit 0
96    SBIT(P2_1,     0xA0, 1); // Port 2 bit 1
97    SBIT(P2_2,     0xA0, 2); // Port 2 bit 2
98    SBIT(P2_3,     0xA0, 3); // Port 2 bit 3
99    SBIT(P2_4,     0xA0, 4); // Port 2 bit 4
100    SBIT(P2_5,     0xA0, 5); // Port 2 bit 5
101    SBIT(P2_6,     0xA0, 6); // Port 2 bit 6
102    SBIT(P2_7,     0xA0, 7); // Port 2 bit 7
103 SFR(SPI0CFG,    0xA1);      // SPI Configuration
104 SFR(SPI0CKR,    0xA2);      // SPI Clock Rate Control
105 SFR(SPI0DAT,    0xA3);      // SPI Data
106 SFR(SFRPAGE,    0xA7);      // SFR Page Select
107 SFR(IE,         0xA8);      // Interrupt Enable
108    SBIT(EX0,      0xA8, 0); // Enable External Interrupt 0
109    SBIT(ET0,      0xA8, 1); // Enable Timer 0 Interrupt
110    SBIT(EX1,      0xA8, 2); // Enable External Interrupt 1
111    SBIT(ET1,      0xA8, 3); // Enable Timer 1 Interrupt
112    SBIT(ES0,      0xA8, 4); // Enable Serial Port Interrupt
113    SBIT(ET2,      0xA8, 5); // Enable Timer 2 Interrupt
114    SBIT(ESPI0,    0xA8, 6); // Enable SPI0 Interrupt
115    SBIT(EA,       0xA8, 7); // Global Interrupt Enable
116 SFR(EMI0CN,     0xAA);      // EMIF Control
117 SFR(_XPAGE,     0xAA);      // SDCC: XDATA/PDATA Page
118 SFR(P3,         0xB0);      // Port 3
119    SBIT(P3_0,     0xB0, 0); // Port 3 bit 0
120    SBIT(P3_1,     0xB0, 1); // Port 3 bit 1
121    SBIT(P3_2,     0xB0, 2); // Port 3 bit 2
122    SBIT(P3_3,     0xB0, 3); // Port 3 bit 3
123    SBIT(P3_4,     0xB0, 4); // Port 3 bit 4
124    SBIT(P3_5,     0xB0, 5); // Port 3 bit 5
125    SBIT(P3_6,     0xB0, 6); // Port 3 bit 6
126    SBIT(P3_7,     0xB0, 7); // Port 3 bit 7
127 SFR(P4,         0xB5);      // Port 4
128 SFR(IP,         0xB8);      // Interrupt Priority
129    SBIT(PX0,      0xB8, 0); // External Interrupt 0 Priority
130    SBIT(PT0,      0xB8, 1); // Timer 0 Interrupt Priority
131    SBIT(PX1,      0xB8, 2); // External Interrupt 1 Priority
132    SBIT(PT1,      0xB8, 3); // Timer 1 Interrupt Priority
133    SBIT(PS0,      0xB8, 4); // Serial Port Interrupt Priority
134    SBIT(PT2,      0xB8, 5); // Timer 2 Interrupt Priority
135    SBIT(PSPI0,    0xB8, 6); // SPI0 Interrupt Priority
136 SFR(IDA0CN,     0xB9);      // IDAC 0 Control
137 SFR(AMX0N,      0xBA);      // AMUX 0 Negative Channel Select
138 SFR(AMX0P,      0xBB);      // AMUX 0 Positive Channel Select
139 SFR(ADC0CF,     0xBC);      // ADC0 Configuration
140 SFR16(ADC0,     0xBD);      // ADC0 Word
141    SFR(ADC0L,     0xBD);    // ADC0 Low Byte
142    SFR(ADC0H,     0xBE);    // ADC0 High Byte
143 SFR(SMB0CN,     0xC0);      // SMBus Control
144    SBIT(SI,       0xC0, 0); // SMBus Interrupt Flag
145    SBIT(ACK,      0xC0, 1); // SMBus Acknowledge Flag
146    SBIT(ARBLOST,  0xC0, 2); // SMBus Arbitration Lost Indicator
147    SBIT(ACKRQ,    0xC0, 3); // SMBus Acknowledge Request
148    SBIT(STO,      0xC0, 4); // SMBus Stop Flag
149    SBIT(STA,      0xC0, 5); // SMBus Start Flag
150    SBIT(TXMODE,   0xC0, 6); // SMBus Transmit Mode Indicator
151    SBIT(MASTER,   0xC0, 7); // SMBus Master/Slave Indicator
152 SFR(SMB0CF,     0xC1);      // SMBus Configuration
153 SFR(SMB0DAT,    0xC2);      // SMBus Data
154 SFR16(ADC0GT,   0xC3);      // ADC0 Greater-Than Data Word
155    SFR(ADC0GTL,   0xC3);    // ADC0 Greater-Than Data Low Byte
156    SFR(ADC0GTH,   0xC4);    // ADC0 Greater-Than Data High Byte
157 SFR16(ADC0LT,   0xC5);      // ADC0 Less-Than Data Word
158    SFR(ADC0LTL,   0xC5);    // ADC0 Less-Than Data Low Byte
159    SFR(ADC0LTH,   0xC6);    // ADC0 Less-Than Data High Byte
160 SFR(TMR2CN,     0xC8);      // Timer/Counter 2 Control
161    SBIT(T2XCLK,   0xC8, 0); // Timer 2 External Clock Select
162    SBIT(TR2,      0xC8, 2); // Timer 2 Run Control
163    SBIT(T2SPLIT,  0xC8, 3); // Timer 2 Split Mode Enable
164    SBIT(TF2CEN,   0xC8, 4); // Timer 2 Low-Frequency Oscillator Capture Enable
165    SBIT(TF2LEN,   0xC8, 5); // Timer 2 Low Byte Interrupt Enable
166    SBIT(TF2L,     0xC8, 6); // Timer 2 Low Byte Overflow Flag
167    SBIT(TF2H,     0xC8, 7); // Timer 2 High Byte Overflow Flag
168 SFR16(TMR2RL,   0xCA);      // Timer/Counter 2 Reload Word
169    SFR(TMR2RLL,   0xCA);    // Timer/Counter 2 Reload Low Byte
170    SFR(TMR2RLH,   0xCB);    // Timer/Counter 2 Reload High Byte
171 SFR16(TMR2,     0xCC);      // Timer/Counter 2 Word
172    SFR(TMR2L,     0xCC);    // Timer/Counter 2 Low Byte
173    SFR(TMR2H,     0xCD);    // Timer/Counter 2 High Byte
174 SFR(PSW,        0xD0);      // Program Status Word
175    SBIT(P,        0xD0, 0); // Parity Flag
176    SBIT(F1,       0xD0, 1); // User-Defined Flag
177    SBIT(OV,       0xD0, 2); // Overflow Flag
178    SBIT(RS0,      0xD0, 3); // Register Bank Select 0
179    SBIT(RS1,      0xD0, 4); // Register Bank Select 1
180    SBIT(F0,       0xD0, 5); // User-Defined Flag
181    SBIT(AC,       0xD0, 6); // Auxiliary Carry Flag
182    SBIT(CY,       0xD0, 7); // Carry Flag
183 SFR(REF0CN,     0xD1);      // Voltage Reference Control
184 SFR(PCA0CN,     0xD8);      // PCA Control
185    SBIT(CCF0,     0xD8, 0); // PCA Module 0 Capture/Compare Flag
186    SBIT(CCF1,     0xD8, 1); // PCA Module 1 Capture/Compare Flag
187    SBIT(CCF2,     0xD8, 2); // PCA Module 2 Capture/Compare Flag
188    SBIT(CCF3,     0xD8, 3); // PCA Module 3 Capture/Compare Flag
189    SBIT(CCF4,     0xD8, 4); // PCA Module 4 Capture/Compare Flag
190    SBIT(CCF5,     0xD8, 5); // PCA Module 5 Capture/Compare Flag
191    SBIT(CR,       0xD8, 6); // PCA Counter/Timer Run Control
192    SBIT(CF,       0xD8, 7); // PCA Counter/Timer Overflow Flag
193 SFR(PCA0MD,     0xD9);      // PCA Mode
194 SFR(PCA0CPM0,   0xDA);      // PCA Module 0 Mode
195 SFR(PCA0CPM1,   0xDB);      // PCA Module 1 Mode
196 SFR(PCA0CPM2,   0xDC);      // PCA Module 2 Mode
197 SFR(PCA0CPM3,   0xDD);      // PCA Module 3 Mode
198 SFR(PCA0CPM4,   0xDE);      // PCA Module 4 Mode
199 SFR(PCA0CPM5,   0xDF);      // PCA Module 5 Mode
200 SFR(ACC,        0xE0);      // Accumulator
201 SFR(IT01CF,     0xE4);      // INT0/INT1 Configuration
202 SFR(EIE1,       0xE6);      // Extended Interrupt Enable 1
203 SFR(EIE2,       0xE7);      // Extended Interrupt Enable 2
204 SFR(ADC0CN,     0xE8);      // ADC0 Control
205    SBIT(AD0CM0,   0xE8, 0); // ADC0 Conversion Start Mode Select Bit 0
206    SBIT(AD0CM1,   0xE8, 1); // ADC0 Conversion Start Mode Select Bit 1
207    SBIT(AD0CM2,   0xE8, 2); // ADC0 Conversion Start Mode Select Bit 2
208    SBIT(AD0WINT,  0xE8, 3); // ADC0 Window Compare Interrupt Flag
209    SBIT(AD0BUSY,  0xE8, 4); // ADC0 Busy Bit
210    SBIT(AD0INT,   0xE8, 5); // ADC0 Conversion Complete Interrupt Flag
211    SBIT(AD0TM,    0xE8, 6); // ADC0 Track Mode Bit
212    SBIT(AD0EN,    0xE8, 7); // ADC0 Enable Bit
213 SFR16(PCA0CP1,  0xE9);      // PCA Capture 1 Word
214    SFR(PCA0CPL1,  0xE9);    // PCA Capture 1 Low Byte
215    SFR(PCA0CPH1,  0xEA);    // PCA Capture 1 High Byte
216 SFR16(PCA0CP2,  0xEB);      // PCA Capture 2 Word
217    SFR(PCA0CPL2,  0xEB);    // PCA Capture 2 Low Byte
218    SFR(PCA0CPH2,  0xEC);    // PCA Capture 2 High Byte
219 SFR16(PCA0CP3,  0xED);      // PCA Capture 3 Word
220    SFR(PCA0CPL3,  0xED);    // PCA Capture 3 Low Byte
221    SFR(PCA0CPH3,  0xEE);    // PCA Capture 3 High Byte
222 SFR(RSTSRC,     0xEF);      // Reset Source Configuration/Status
223 SFR(B,          0xF0);      // B Register
224 SFR16(PCA0CP5,  0xF5);      // PCA Capture 5 Word
225    SFR(PCA0CPL5,  0xF5);    // PCA Capture 5 Low Byte
226    SFR(PCA0CPH5,  0xF6);    // PCA Capture 5 High Byte
227 SFR(SPI0CN,     0xF8);      // SPI0 Control
228    SBIT(SPIEN,    0xF8, 0); // SPI0 Enable
229    SBIT(TXBMT,    0xF8, 1); // SPI0 Transmit Buffer Empty
230    SBIT(NSSMD0,   0xF8, 2); // SPI0 Slave Select Mode Bit 0
231    SBIT(NSSMD1,   0xF8, 3); // SPI0 Slave Select Mode Bit 1
232    SBIT(RXOVRN,   0xF8, 4); // SPI0 Receive Overrun Flag
233    SBIT(MODF,     0xF8, 5); // SPI0 Mode Fault Flag
234    SBIT(WCOL,     0xF8, 6); // SPI0 Write Collision Flag
235    SBIT(SPIF,     0xF8, 7); // SPI0 Interrupt Flag
236 SFR16(PCA0,     0xF9);      // PCA Counter Word
237    SFR(PCA0L,     0xF9);    // PCA Counter Low Byte
238    SFR(PCA0H,     0xFA);    // PCA Counter High Byte
239 SFR16(PCA0CP0,  0xFB);      // PCA Capture 0 Word
240    SFR(PCA0CPL0,  0xFB);    // PCA Capture 0 Low Byte
241    SFR(PCA0CPH0,  0xFC);    // PCA Capture 0 High Byte
242 SFR16(PCA0CP4,  0xFD);      // PCA Capture 4 Word
243    SFR(PCA0CPL4,  0xFD);    // PCA Capture 4 Low Byte
244    SFR(PCA0CPH4,  0xFE);    // PCA Capture 4 High Byte
245 SFR(VDM0CN,     0xFF);      // VDD Monitor Control
246
247 /*  Page 0x00 */
248
249 SFR(PSCTL,      0x8F);      // Program Store R/W Control
250 SFR16(MAC0A,    0xA4);      // MAC0 A Register Word
251    SFR(MAC0AL,    0xA4);    // MAC0 A Register Low Byte
252    SFR(MAC0AH,    0xA5);    // MAC0 A Register High Byte
253 SFR16(MAC0RND,  0xAE);      // MAC0 Rounding Register Word
254    SFR(MAC0RNDL,  0xAE);    // MAC0 Rounding Register Low Byte
255    SFR(MAC0RNDH,  0xAF);    // MAC0 Rounding Register High Byte
256 SFR(P2MAT,      0xB1);      // Port 2 Match
257 SFR(P2MASK,     0xB2);      // Port 2 Mask
258 SFR(FLSCL,      0xB6);      // Flash Scale
259 SFR(FLKEY,      0xB7);      // Flash Lock and Key
260 SFR(MAC0STA,    0xCF);      // MAC0 Status Register
261 SFR32(MAC0ACC,  0xD2);      // MAC0 Accumulator Long Word
262    SFR(MAC0ACC0,  0xD2);    // MAC0 Accumulator Byte 0 (LSB)
263    SFR(MAC0ACC1,  0xD3);    // MAC0 Accumulator Byte 1
264    SFR(MAC0ACC2,  0xD4);    // MAC0 Accumulator Byte 2
265    SFR(MAC0ACC3,  0xD5);    // MAC0 Accumulator Byte 3 (MSB)
266 SFR(MAC0OVR,    0xD6);      // MAC0 Accumulator Overflow
267 SFR(MAC0CF,     0xD7);      // MAC0 Configuration
268 SFR(P1MAT,      0xE1);      // Port 1 Match
269 SFR(P1MASK,     0xE2);      // Port 1 Mask
270 // No sfr16 definition for MAC0B because MAC0BL must be written last
271    SFR(MAC0BL,    0xF1);    // MAC0 B Register Low Byte
272    SFR(MAC0BH,    0xF2);    // MAC0 B Register High Byte
273 SFR(P0MAT,      0xF3);      // Port 0 Match
274 SFR(P0MASK,     0xF4);      // Port 0 Mask
275
276 /*  Page 0x0F */
277
278 SFR(CCH0CN,     0x84);      // Cache Control
279 SFR(CLKSEL,     0x8F);      // Clock Select
280 SFR(P0MDOUT,    0xA4);      // Port 0 Output Mode Configuration
281 SFR(P1MDOUT,    0xA5);      // Port 1 Output Mode Configuration
282 SFR(P2MDOUT,    0xA6);      // Port 2 Output Mode Configuration
283 SFR(PLL0DIV,    0xA9);      // PLL Divider
284 SFR(FLSTAT,     0xAC);      // Flash Status
285 SFR(OSCLCN,     0xAD);      // Internal Low-Frequency Oscillator Control
286 SFR(P4MDOUT,    0xAE);      // Port 4 Output Mode Configuration
287 SFR(P3MDOUT,    0xAF);      // Port 3 Output Mode Configuration
288 SFR(PLL0MUL,    0xB1);      // PLL Multiplier
289 SFR(PLL0FLT,    0xB2);      // PLL Filter
290 SFR(PLL0CN,     0xB3);      // PLL Control
291 SFR(OSCXCN,     0xB6);      // External Oscillator Control
292 SFR(OSCICN,     0xB7);      // Internal Oscillator Control
293 SFR(OSCICL,     0xBF);      // Internal Oscillator Calibration
294 SFR(EMI0CF,     0xC7);      // EMIF Configuration
295 SFR(CCH0TN,     0xC9);      // Cache Tuning
296 SFR(EIP1,       0xCE);      // Extended Interrupt Priority 1
297 SFR(EIP2,       0xCF);      // Extended Interrupt Priority 2
298 SFR(CCH0LC,     0xD2);      // Cache Lock
299 SFR(CCH0MA,     0xD3);      // Cache Miss Accumulator
300 SFR(P0SKIP,     0xD4);      // Port 0 Skip
301 SFR(P1SKIP,     0xD5);      // Port 1 Skip
302 SFR(P2SKIP,     0xD6);      // Port 2 Skip
303 SFR(P3SKIP,     0xD7);      // Port 3 Skip
304 SFR(XBR0,       0xE1);      // Port I/O Crossbar Control 0
305 SFR(XBR1,       0xE2);      // Port I/O Crossbar Control 1
306 SFR(SFR0CN,     0xE5);      // SFR Page Control
307 SFR(P0MDIN,     0xF1);      // Port 0 Input Mode Configuration
308 SFR(P1MDIN,     0xF2);      // Port 1 Input Mode Configuration
309 SFR(P2MDIN,     0xF3);      // Port 2 Input Mode Configuration
310 SFR(P3MDIN,     0xF4);      // Port 3 Input Mode Configuration
311 SFR(EMI0TC,     0xF7);      // EMIF Timing Control
312
313 /* Predefined SFR Bit Masks */
314
315 #define PCON_IDLE         0x01    /* PCON                                */
316 #define PCON_STOP         0x02    /* PCON                                */
317 #define T1M               0x08    /* CKCON                               */
318 #define PSWE              0x01    /* PSCTL                               */
319 #define PSEE              0x02    /* PSCTL                               */
320 #define PORSF             0x02    /* RSTSRC                              */
321 #define SWRSF             0x10    /* RSTSRC                              */
322 #define ECCF              0x01    /* PCA0CPMn                            */
323 #define PWM               0x02    /* PCA0CPMn                            */
324 #define TOG               0x04    /* PCA0CPMn                            */
325 #define MAT               0x08    /* PCA0CPMn                            */
326 #define CAPN              0x10    /* PCA0CPMn                            */
327 #define CAPP              0x20    /* PCA0CPMn                            */
328 #define ECOM              0x40    /* PCA0CPMn                            */
329 #define PWM16             0x80    /* PCA0CPMn                            */
330 #define CP0E              0x10    /* XBR0                                */
331 #define CP0AE             0x20    /* XBR0                                */
332
333 /* Interrupts */
334
335 #define INT_EXT0          0       // External Interrupt 0
336 #define INT_TIMER0        1       // Timer0 Overflow
337 #define INT_EXT1          2       // External Interrupt 1
338 #define INT_TIMER1        3       // Timer1 Overflow
339 #define INT_UART0         4       // Serial Port 0
340 #define INT_TIMER2        5       // Timer2 Overflow
341 #define INT_SPI0          6       // Serial Peripheral Interface 0
342 #define INT_SMBUS0        7       // SMBus0 Interface
343 //                        8          Reserved
344 #define INT_ADC0_WINDOW   9       // ADC0 Window Comparison
345 #define INT_ADC0_EOC      10      // ADC0 End Of Conversion
346 #define INT_PCA0          11      // PCA0 Peripheral
347 #define INT_COMPARATOR0   12      // Comparator0
348 #define INT_COMPARATOR1   13      // Comparator1
349 #define INT_TIMER3        14      // Timer3 Overflow
350 //                        15         Reserved
351 #define INT_PORT_MATCH    16      // Port Match
352
353 #endif