OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [CORTEX_LM3S102_GCC/] [hw_include/] [hw_sysctl.h] - Blame information for rev 581

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 581 jeremybenn
//*****************************************************************************
2
//
3
// hw_sysctl.h - Macros used when accessing the system control hardware.
4
//
5
// Copyright (c) 2005,2006 Luminary Micro, Inc.  All rights reserved.
6
//
7
// Software License Agreement
8
//
9
// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
10
// exclusively on LMI's Stellaris Family of microcontroller products.
11
//
12
// The software is owned by LMI and/or its suppliers, and is protected under
13
// applicable copyright laws.  All rights are reserved.  Any use in violation
14
// of the foregoing restrictions may subject the user to criminal sanctions
15
// under applicable laws, as well as to civil liability for the breach of the
16
// terms and conditions of this license.
17
//
18
// THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
19
// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
20
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
21
// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
22
// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
23
//
24
// This is part of revision 523 of the Stellaris Driver Library.
25
//
26
//*****************************************************************************
27
 
28
#ifndef __HW_SYSCTL_H__
29
#define __HW_SYSCTL_H__
30
 
31
//*****************************************************************************
32
//
33
// The following define the offsets of the system control registers.
34
//
35
//*****************************************************************************
36
#define SYSCTL_DID0             0x400fe000  // Device identification register 0
37
#define SYSCTL_DID1             0x400fe004  // Device identification register 1
38
#define SYSCTL_DC0              0x400fe008  // Device capabilities register 0
39
#define SYSCTL_DC1              0x400fe010  // Device capabilities register 1
40
#define SYSCTL_DC2              0x400fe014  // Device capabilities register 2
41
#define SYSCTL_DC3              0x400fe018  // Device capabilities register 3
42
#define SYSCTL_DC4              0x400fe01C  // Device capabilities register 4
43
#define SYSCTL_PBORCTL          0x400fe030  // POR/BOR reset control register
44
#define SYSCTL_LDOPCTL          0x400fe034  // LDO power control register
45
#define SYSCTL_SRCR0            0x400fe040  // Software reset control reg 0
46
#define SYSCTL_SRCR1            0x400fe044  // Software reset control reg 1
47
#define SYSCTL_SRCR2            0x400fe048  // Software reset control reg 2
48
#define SYSCTL_RIS              0x400fe050  // Raw interrupt status register
49
#define SYSCTL_IMC              0x400fe054  // Interrupt mask/control register
50
#define SYSCTL_MISC             0x400fe058  // Interrupt status register
51
#define SYSCTL_RESC             0x400fe05c  // Reset cause register
52
#define SYSCTL_RCC              0x400fe060  // Run-mode clock config register
53
#define SYSCTL_PLLCFG           0x400fe064  // PLL configuration register
54
#define SYSCTL_RCGC0            0x400fe100  // Run-mode clock gating register 0
55
#define SYSCTL_RCGC1            0x400fe104  // Run-mode clock gating register 1
56
#define SYSCTL_RCGC2            0x400fe108  // Run-mode clock gating register 2
57
#define SYSCTL_SCGC0            0x400fe110  // Sleep-mode clock gating reg 0
58
#define SYSCTL_SCGC1            0x400fe114  // Sleep-mode clock gating reg 1
59
#define SYSCTL_SCGC2            0x400fe118  // Sleep-mode clock gating reg 2
60
#define SYSCTL_DCGC0            0x400fe120  // Deep Sleep-mode clock gate reg 0
61
#define SYSCTL_DCGC1            0x400fe124  // Deep Sleep-mode clock gate reg 1
62
#define SYSCTL_DCGC2            0x400fe128  // Deep Sleep-mode clock gate reg 2
63
#define SYSCTL_CLKVCLR          0x400fe150  // Clock verifcation clear register
64
#define SYSCTL_LDOARST          0x400fe160  // LDO reset control register
65
 
66
//*****************************************************************************
67
//
68
// The following define the bit fields in the SYSCTL_DID0 register.
69
//
70
//*****************************************************************************
71
#define SYSCTL_DID0_MAJ_MASK    0x0000FF00  // Major revision mask
72
#define SYSCTL_DID0_MAJ_A       0x00000000  // Major revision A
73
#define SYSCTL_DID0_MAJ_B       0x00000100  // Major revision B
74
#define SYSCTL_DID0_MIN_MASK    0x000000FF  // Minor revision mask
75
#define SYSCTL_DID0_MIN_0       0x00000000  // Minor revision 0
76
#define SYSCTL_DID0_MIN_1       0x00000001  // Minor revision 1
77
 
78
//*****************************************************************************
79
//
80
// The following define the bit fields in the SYSCTL_DID1 register.
81
//
82
//*****************************************************************************
83
#define SYSCTL_DID1_VER_MASK    0xF0000000  // Register version mask
84
#define SYSCTL_DID1_FAM_MASK    0x0F000000  // Family mask
85
#define SYSCTL_DID1_FAM_S       0x00000000  // Stellaris family
86
#define SYSCTL_DID1_PRTNO_MASK  0x00FF0000  // Part number mask
87
#define SYSCTL_DID1_PRTNO_101   0x00010000  // LM3S101
88
#define SYSCTL_DID1_PRTNO_102   0x00020000  // LM3S102
89
#define SYSCTL_DID1_TEMP_MASK   0x000000E0  // Temperature range mask
90
#define SYSCTL_DID1_TEMP_C      0x00000000  // Commercial temp range (0..70C)
91
#define SYSCTL_DID1_TEMP_I      0x00000020  // Industrial temp range (-40..85C)
92
#define SYSCTL_DID1_PKG_MASK    0x00000018  // Package mask
93
#define SYSCTL_DID1_PKG_28SOIC  0x00000000  // 28-pin SOIC
94
#define SYSCTL_DID1_ROHS        0x00000004  // Part is RoHS compliant
95
#define SYSCTL_DID1_QUAL_MASK   0x00000003  // Qualification status mask
96
#define SYSCTL_DID1_QUAL_ES     0x00000000  // Engineering sample (unqualified)
97
#define SYSCTL_DID1_QUAL_PP     0x00000001  // Pilot production (unqualified)
98
#define SYSCTL_DID1_QUAL_FQ     0x00000002  // Fully qualified
99
#define SYSCTL_DID1_PRTNO_SHIFT 16
100
 
101
//*****************************************************************************
102
//
103
// The following define the bit fields in the SYSCTL_DC0 register.
104
//
105
//*****************************************************************************
106
#define SYSCTL_DC0_SRAMSZ_MASK  0xFFFF0000  // SRAM size mask
107
#define SYSCTL_DC0_SRAMSZ_2KB   0x00070000  // 2kB of SRAM
108
#define SYSCTL_DC0_FLASHSZ_MASK 0x0000FFFF  // Flash size mask
109
#define SYSCTL_DC0_FLASHSZ_8KB  0x00000003  // 8kB of flash
110
 
111
//*****************************************************************************
112
//
113
// The following define the bit fields in the SYSCTL_DC1 register.
114
//
115
//*****************************************************************************
116
#define SYSCTL_DC1_SYSDIV_MASK  0x0000F000  // Minimum system divider mask
117
#define SYSCTL_DC1_MPU          0x00000080  // Cortex M3 MPU present
118
#define SYSCTL_DC1_PLL          0x00000010  // PLL present
119
#define SYSCTL_DC1_WDOG         0x00000008  // Watchdog present
120
#define SYSCTL_DC1_SWO          0x00000004  // Serial wire output present
121
#define SYSCTL_DC1_SWD          0x00000002  // Serial wire debug present
122
#define SYSCTL_DC1_JTAG         0x00000001  // JTAG debug present
123
 
124
//*****************************************************************************
125
//
126
// The following define the bit fields in the SYSCTL_DC2 register.
127
//
128
//*****************************************************************************
129
#define SYSCTL_DC2_COMP1        0x02000000  // Analog comparator 1 present
130
#define SYSCTL_DC2_COMP0        0x01000000  // Analog comparator 0 present
131
#define SYSCTL_DC2_TIMER1       0x00020000  // Timer 1 present
132
#define SYSCTL_DC2_TIMER0       0x00010000  // Timer 0 present
133
#define SYSCTL_DC2_I2C          0x00001000  // I2C present
134
#define SYSCTL_DC2_SSI          0x00000010  // SSI present
135
#define SYSCTL_DC2_UART0        0x00000001  // UART 0 present
136
 
137
//*****************************************************************************
138
//
139
// The following define the bit fields in the SYSCTL_DC3 register.
140
//
141
//*****************************************************************************
142
#define SYSCTL_DC3_32KHZ        0x80000000  // 32kHz pin present
143
#define SYSCTL_DC3_CCP1         0x02000000  // CCP1 pin present
144
#define SYSCTL_DC3_CCP0         0x01000000  // CCP0 pin present
145
#define SYSCTL_DC3_C1MINUS      0x00000200  // C1- pin present
146
#define SYSCTL_DC3_C0O          0x00000100  // C0o pin present
147
#define SYSCTL_DC3_C0PLUS       0x00000080  // C0+ pin present
148
#define SYSCTL_DC3_C0MINUS      0x00000040  // C0- pin present
149
 
150
//*****************************************************************************
151
//
152
// The following define the bit fields in the SYSCTL_DC4 register.
153
//
154
//*****************************************************************************
155
#define SYSCTL_DC4_GPIOC        0x00000004  // GPIO port C present
156
#define SYSCTL_DC4_GPIOB        0x00000002  // GPIO port B present
157
#define SYSCTL_DC4_GPIOA        0x00000001  // GPIO port A present
158
 
159
//*****************************************************************************
160
//
161
// The following define the bit fields in the SYSCTL_PBORCTL register.
162
//
163
//*****************************************************************************
164
#define SYSCTL_PBORCTL_BOR_MASK 0x0000FFFC  // BOR wait timer
165
#define SYSCTL_PBORCTL_BORIOR   0x00000002  // BOR interrupt or reset
166
#define SYSCTL_PBORCTL_BORWT    0x00000001  // BOR wait and check for noise
167
#define SYSCTL_PBORCTL_BOR_SH   2
168
 
169
//*****************************************************************************
170
//
171
// The following define the bit fields in the SYSCTL_LDOPCTL register.
172
//
173
//*****************************************************************************
174
#define SYSCTL_LDOPCTL_MASK     0x0000003F  // Voltage adjust mask
175
#define SYSCTL_LDOPCTL_2_25V    0x00000005  // LDO output of 2.25V
176
#define SYSCTL_LDOPCTL_2_30V    0x00000004  // LDO output of 2.30V
177
#define SYSCTL_LDOPCTL_2_35V    0x00000003  // LDO output of 2.35V
178
#define SYSCTL_LDOPCTL_2_40V    0x00000002  // LDO output of 2.40V
179
#define SYSCTL_LDOPCTL_2_45V    0x00000001  // LDO output of 2.45V
180
#define SYSCTL_LDOPCTL_2_50V    0x00000000  // LDO output of 2.50V
181
#define SYSCTL_LDOPCTL_2_55V    0x0000001F  // LDO output of 2.55V
182
#define SYSCTL_LDOPCTL_2_60V    0x0000001E  // LDO output of 2.60V
183
#define SYSCTL_LDOPCTL_2_65V    0x0000001D  // LDO output of 2.65V
184
#define SYSCTL_LDOPCTL_2_70V    0x0000001C  // LDO output of 2.70V
185
#define SYSCTL_LDOPCTL_2_75V    0x0000001B  // LDO output of 2.75V
186
 
187
//*****************************************************************************
188
//
189
// The following define the bit fields in the SYSCTL_SRCR0, SYSCTL_RCGC0,
190
// SYSCTL_SCGC0, and SYSCTL_DCGC0 registers.
191
//
192
//*****************************************************************************
193
#define SYSCTL_SET0_WDOG        0x00000008  // Watchdog module
194
 
195
//*****************************************************************************
196
//
197
// The following define the bit fields in the SYSCTL_SRCR1, SYSCTL_RCGC1,
198
// SYSCTL_SCGC1, and SYSCTL_DCGC1 registers.
199
//
200
//*****************************************************************************
201
#define SYSCTL_SET1_COMP1       0x02000000  // Analog comparator module 1
202
#define SYSCTL_SET1_COMP0       0x01000000  // Analog comparator module 0
203
#define SYSCTL_SET1_TIMER1      0x00020000  // Timer module 1
204
#define SYSCTL_SET1_TIMER0      0x00010000  // Timer module 0
205
#define SYSCTL_SET1_I2C         0x00001000  // I2C module
206
#define SYSCTL_SET1_SSI         0x00000010  // SSI module
207
#define SYSCTL_SET1_UART0       0x00000001  // UART module 0
208
 
209
//*****************************************************************************
210
//
211
// The following define the bit fields in the SYSCTL_SRCR2, SYSCTL_RCGC2,
212
// SYSCTL_SCGC2, and SYSCTL_DCGC2 registers.
213
//
214
//*****************************************************************************
215
#define SYSCTL_SET2_GPIOC       0x00000004  // GPIO C module
216
#define SYSCTL_SET2_GPIOB       0x00000002  // GPIO B module
217
#define SYSCTL_SET2_GPIOA       0x00000001  // GIPO A module
218
 
219
//*****************************************************************************
220
//
221
// The following define the bit fields in the SYSCTL_RIS, SYSCTL_IMC, and
222
// SYSCTL_IMS registers.
223
//
224
//*****************************************************************************
225
#define SYSCTL_INT_PLL_LOCK     0x00000040  // PLL lock interrupt
226
#define SYSCTL_INT_CUR_LIMIT    0x00000020  // Current limit interrupt
227
#define SYSCTL_INT_BOSC_FAIL    0x00000010  // Boot oscillator failure int
228
#define SYSCTL_INT_MOSC_FAIL    0x00000008  // Main oscillator failure int
229
#define SYSCTL_INT_POR          0x00000004  // Power on reset interrupt
230
#define SYSCTL_INT_BOR          0x00000002  // Brown out interrupt
231
#define SYSCTL_INT_PLL_FAIL     0x00000001  // PLL failure interrupt
232
 
233
//*****************************************************************************
234
//
235
// The following define the bit fields in the SYSCTL_RESC register.
236
//
237
//*****************************************************************************
238
#define SYSCTL_RESC_LDO         0x00000020  // LDO power OK lost reset
239
#define SYSCTL_RESC_SW          0x00000010  // Software reset
240
#define SYSCTL_RESC_WDOG        0x00000008  // Watchdog reset
241
#define SYSCTL_RESC_BOR         0x00000004  // Brown-out reset
242
#define SYSCTL_RESC_POR         0x00000002  // Power on reset
243
#define SYSCTL_RESC_EXT         0x00000001  // External reset
244
 
245
//*****************************************************************************
246
//
247
// The following define the bit fields in the SYSCTL_RCC register.
248
//
249
//*****************************************************************************
250
#define SYSCTL_RCC_ACG          0x08000000  // Automatic clock gating
251
#define SYSCTL_RCC_SYSDIV_MASK  0x07800000  // System clock divider
252
#define SYSCTL_RCC_SYSDIV_2     0x00800000  // System clock /2
253
#define SYSCTL_RCC_SYSDIV_3     0x01000000  // System clock /3
254
#define SYSCTL_RCC_SYSDIV_4     0x01800000  // System clock /4
255
#define SYSCTL_RCC_SYSDIV_5     0x02000000  // System clock /5
256
#define SYSCTL_RCC_SYSDIV_6     0x02800000  // System clock /6
257
#define SYSCTL_RCC_SYSDIV_7     0x03000000  // System clock /7
258
#define SYSCTL_RCC_SYSDIV_8     0x03800000  // System clock /8
259
#define SYSCTL_RCC_SYSDIV_9     0x04000000  // System clock /9
260
#define SYSCTL_RCC_SYSDIV_10    0x04800000  // System clock /10
261
#define SYSCTL_RCC_SYSDIV_11    0x05000000  // System clock /11
262
#define SYSCTL_RCC_SYSDIV_12    0x05800000  // System clock /12
263
#define SYSCTL_RCC_SYSDIV_13    0x06000000  // System clock /13
264
#define SYSCTL_RCC_SYSDIV_14    0x06800000  // System clock /14
265
#define SYSCTL_RCC_SYSDIV_15    0x07000000  // System clock /15
266
#define SYSCTL_RCC_SYSDIV_16    0x07800000  // System clock /16
267
#define SYSCTL_RCC_USE_SYSDIV   0x00400000  // Use sytem clock divider
268
#define SYSCTL_RCC_PWRDN        0x00002000  // PLL power down
269
#define SYSCTL_RCC_OE           0x00001000  // PLL output enable
270
#define SYSCTL_RCC_BYPASS       0x00000800  // PLL bypass
271
#define SYSCTL_RCC_PLLVER       0x00000400  // PLL verification timer enable
272
#define SYSCTL_RCC_XTAL_MASK    0x000003C0  // Crystal attached to main osc
273
#define SYSCTL_RCC_XTAL_3_57MHZ 0x00000100  // Using a 3.579545MHz crystal
274
#define SYSCTL_RCC_XTAL_3_68MHz 0x00000140  // Using a 3.6864MHz crystal
275
#define SYSCTL_RCC_XTAL_4MHz    0x00000180  // Using a 4MHz crystal
276
#define SYSCTL_RCC_XTAL_4_09MHZ 0x000001C0  // Using a 4.096MHz crystal
277
#define SYSCTL_RCC_XTAL_4_91MHZ 0x00000200  // Using a 4.9152MHz crystal
278
#define SYSCTL_RCC_XTAL_5MHZ    0x00000240  // Using a 5MHz crystal
279
#define SYSCTL_RCC_XTAL_5_12MHZ 0x00000280  // Using a 5.12MHz crystal
280
#define SYSCTL_RCC_XTAL_6MHZ    0x000002C0  // Using a 6MHz crystal
281
#define SYSCTL_RCC_XTAL_6_14MHZ 0x00000300  // Using a 6.144MHz crystal
282
#define SYSCTL_RCC_XTAL_7_37MHZ 0x00000340  // Using a 7.3728MHz crystal
283
#define SYSCTL_RCC_XTAL_8MHZ    0x00000380  // Using a 8MHz crystal
284
#define SYSCTL_RCC_XTAL_8_19MHZ 0x000003C0  // Using a 8.192MHz crystal
285
#define SYSCTL_RCC_OSCSRC_MASK  0x00000030  // Oscillator input select
286
#define SYSCTL_RCC_OSCSRC_MAIN  0x00000000  // Use the main oscillator
287
#define SYSCTL_RCC_OSCSRC_BOOT  0x00000010  // Use the boot oscillator
288
#define SYSCTL_RCC_OSCSRC_BOOT4 0x00000020  // Use the boot oscillator / 4
289
#define SYSCTL_RCC_BOSCVER      0x00000008  // Boot osc. verification timer en
290
#define SYSCTL_RCC_MOSCVER      0x00000004  // Main osc. verification timer en
291
#define SYSCTL_RCC_BOSCDIS      0x00000002  // Boot oscillator disable
292
#define SYSCTL_RCC_MOSCDIS      0x00000001  // Main oscillator disable
293
#define SYSCTL_RCC_SYSDIV_SHIFT 23          // Shift to the SYSDIV field
294
#define SYSCTL_RCC_XTAL_SHIFT   6           // Shift to the XTAL field
295
#define SYSCTL_RCC_OSCSRC_SHIFT 4           // Shift to the OSCSRC field
296
 
297
//*****************************************************************************
298
//
299
// The following define the bit fields in the SYSCTL_PLLCFG register.
300
//
301
//*****************************************************************************
302
#define SYSCTL_PLLCFG_OD_MASK   0x0000C000  // Output divider
303
#define SYSCTL_PLLCFG_OD_1      0x00000000  // Output divider is 1
304
#define SYSCTL_PLLCFG_OD_2      0x00004000  // Output divider is 2
305
#define SYSCTL_PLLCFG_OD_4      0x00008000  // Output divider is 4
306
#define SYSCTL_PLLCFG_F_MASK    0x00003FE0  // PLL multiplier
307
#define SYSCTL_PLLCFG_R_MASK    0x0000001F  // Input predivider
308
#define SYSCTL_PLLCFG_F_SHIFT   5
309
#define SYSCTL_PLLCFG_R_SHIFT   0
310
 
311
//*****************************************************************************
312
//
313
// The following define the bit fields in the SYSCTL_CLKVCLR register.
314
//
315
//*****************************************************************************
316
#define SYSCTL_CLKVCLR_CLR      0x00000001  // Clear clock verification fault
317
 
318
//*****************************************************************************
319
//
320
// The following define the bit fields in the SYSCTL_LDOARST register.
321
//
322
//*****************************************************************************
323
#define SYSCTL_LDOARST_ARST     0x00000001  // Allow LDO to reset device
324
 
325
#endif // __HW_SYSCTL_H__

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.