Subversion Repositories NaviCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 ingob 1
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
2
* File Name          : 91x_scu.h
3
* Author             : MCD Application Team
4
* Date First Issued  : 05/18/2006 : Version 1.0
5
* Description        : This file provides the SCU library software functions
6
*                      prototypes & definitions
7
********************************************************************************
8
* History:
9
* 05/22/2007 : Version 1.2
10
* 05/24/2006 : Version 1.1
11
* 05/18/2006 : Version 1.0
12
********************************************************************************
13
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
14
* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS
15
* A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
16
* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
17
* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
18
* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
19
*******************************************************************************/
20
 
21
/* Define to prevent recursive inclusion -------------------------------------*/
22
#ifndef __91x_SCU_H
23
#define __91x_SCU_H
24
 
25
/* Includes ------------------------------------------------------------------*/
26
#include "91x_map.h"
27
 
28
/* Exported constants --------------------------------------------------------*/
29
 
30
/*MCLK_Source*/
31
#define SCU_MCLK_PLL      0x0
32
#define SCU_MCLK_RTC      0x1
33
#define SCU_MCLK_OSC      0x2
34
 
35
/*RCLK_Divisor*/
36
#define SCU_RCLK_Div1     0xFFFFFFE3
37
#define SCU_RCLK_Div2     0x4
38
#define SCU_RCLK_Div4     0x8
39
#define SCU_RCLK_Div8     0xC
40
#define SCU_RCLK_Div16    0x10
41
#define SCU_RCLK_Div1024  0x14
42
 
43
/*HCLK_Divisor*/
44
#define SCU_HCLK_Div1 0xFFFFFF9F
45
#define SCU_HCLK_Div2 0x20
46
#define SCU_HCLK_Div4 0x40
47
 
48
/*PCLK_Divisor*/
49
#define SCU_PCLK_Div1 0xFFFFFE7F
50
#define SCU_PCLK_Div2 0x80
51
#define SCU_PCLK_Div4 0x100
52
#define SCU_PCLK_Div8 0x180
53
 
54
/*FMICLK_Divisor*/
55
#define SCU_FMICLK_Div1 0xFFFEFFFF
56
#define SCU_FMICLK_Div2 0x10000
57
 
58
/*BRCLK_Divisor*/
59
#define SCU_BRCLK_Div1 0x200
60
#define SCU_BRCLK_Div2 0xFFFFFDFF
61
 
62
/*TIMCLK_Source*/
63
#define SCU_TIMCLK_EXT 0x1
64
#define SCU_TIMCLK_INT 0x0
65
 
66
/*TIMx*/
67
#define SCU_TIM01 0x0
68
#define SCU_TIM23 0x1
69
 
70
 
71
/*USBCLK_Source*/
72
#define SCU_USBCLK_MCLK  0xFFFFF3FF
73
#define SCU_USBCLK_MCLK2 0x400
74
#define SCU_USBCLK_EXT   0x800
75
 
76
/*SCU_EMIBCLK*/
77
#define SCU_EMIBCLK_Div1 0xFFF9FFFF
78
#define SCU_EMIBCLK_Div2 0x20000
79
 
80
/*SCU_EMIMODE*/
81
#define SCU_EMI_MUX   0xFFFFFFBF
82
#define SCU_EMI_DEMUX 0x40
83
 
84
/*SCU_EMIALE_LEN*/
85
#define SCU_EMIALE_LEN1 0xFFFFFEFF
86
#define SCU_EMIALE_LEN2 0x100
87
 
88
/*SCU_EMIALE_POL*/
89
#define SCU_EMIALE_POLLow  0xFFFFFF7F
90
#define SCU_EMIALE_POLHigh 0x80
91
 
92
/*UART_IrDA_Mode*/
93
#define SCU_UARTMode_IrDA 0x1
94
#define SCU_UARTMode_UART 0x0
95
 
96
/*SCU_UARTx*/
97
#define SCU_UART0 0x0
98
#define SCU_UART1 0x1
99
#define SCU_UART2 0x2
100
 
101
/*APBPeriph*/
102
#define __TIM01 0x1
103
#define __TIM23 0x2
104
#define __MC    0x4
105
#define __UART0 0x8
106
#define __UART1 0x10
107
#define __UART2 0x20
108
#define __I2C0  0x40
109
#define __I2C1  0x80
110
#define __SSP0  0x100
111
#define __SSP1  0x200
112
#define __CAN   0x400
113
#define __ADC   0x800
114
#define __WDG   0x1000
115
#define __WIU   0x2000
116
#define __GPIO0 0x4000
117
#define __GPIO1 0x8000
118
#define __GPIO2 0x10000
119
#define __GPIO3 0x20000
120
#define __GPIO4 0x40000
121
#define __GPIO5 0x80000
122
#define __GPIO6 0x100000
123
#define __GPIO7 0x200000
124
#define __GPIO8 0x400000
125
#define __GPIO9 0x800000
126
#define __RTC   0x1000000
127
 
128
/*AHBPeriph*/
129
#define __FMI          0x1
130
#define __FPQBC        0x2
131
#define __SRAM         0x8
132
#define __SRAM_ARBITER 0x10
133
#define __VIC          0x20
134
#define __EMI          0x40
135
#define __EMI_MEM_CLK  0x80
136
#define __DMA          0x100
137
#define __USB          0x200
138
#define __USB48M       0x400
139
#define __ENET         0x800
140
#define __PFQBC_AHB    0x1000
141
 
142
/*SCU_IT*/
143
#define SCU_IT_LVD_RST    0x10
144
#define SCU_IT_SRAM_ERROR 0x8
145
#define SCU_IT_ACK_PFQBC  0x4
146
#define SCU_IT_LOCK_LOST  0x2
147
#define SCU_IT_LOCK       0x1
148
 
149
/*SCU_FLAG*/
150
#define SCU_FLAG_SRAM_ERROR 0x20
151
#define SCU_FLAG_ACK_PFQBC  0x10
152
#define SCU_FLAG_LVD_RESET  0x8
153
#define SCU_FLAG_WDG_RST    0x4
154
#define SCU_FLAG_LOCK_LOST  0x2
155
#define SCU_FLAG_LOCK       0x1
156
 
157
 
158
/* Module private variables --------------------------------------------------*/
159
/* Exported macro ------------------------------------------------------------*/
160
/* Private functions ---------------------------------------------------------*/
161
/* Exported functions ------------------------------------------------------- */
162
ErrorStatus SCU_MCLKSourceConfig(u32 MCLK_Source);
163
ErrorStatus SCU_PLLFactorsConfig(u8 PLLN, u8 PLLM, u8 PLLP);
164
ErrorStatus SCU_PLLCmd(FunctionalState NewState);
165
void SCU_RCLKDivisorConfig(u32 RCLK_Divisor);
166
void SCU_HCLKDivisorConfig(u32 HCLK_Divisor);
167
void SCU_PCLKDivisorConfig(u32 PCLK_Divisor);
168
void SCU_APBPeriphClockConfig(u32 APBPeriph, FunctionalState NewState);
169
void SCU_AHBPeriphClockConfig(u32 AHBPeriph, FunctionalState NewState);
170
void SCU_APBPeriphReset(u32 APBPeriph, FunctionalState NewState);
171
void SCU_AHBPeriphReset(u32 AHBPeriph, FunctionalState NewState);
172
void SCU_APBPeriphIdleConfig(u32 APBPeriph, FunctionalState NewState);
173
void SCU_AHBPeriphIdleConfig(u32 AHBPeriph, FunctionalState NewState);
174
void SCU_APBPeriphDebugConfig(u32 APBPeriph, FunctionalState NewState);
175
void SCU_AHBPeriphDebugConfig(u32 AHBPeriph, FunctionalState NewState);
176
void SCU_BRCLKDivisorConfig(u32 BRCLK_Divisor);
177
void SCU_TIMCLKSourceConfig(u8 TIMx, u32 TIMCLK_Source);
178
void SCU_TIMPresConfig(u8 TIMx, u16 Prescaler);
179
void SCU_USBCLKConfig(u32 USBCLK_Source);
180
void SCU_PHYCLKConfig(FunctionalState NewState);
181
void SCU_FMICLKDivisorConfig(u32 FMICLK_Divisor);
182
void SCU_EMIBCLKDivisorConfig(u32 SCU_EMIBCLK);
183
void SCU_EMIModeConfig(u32 SCU_EMIMODE);
184
void SCU_EMIALEConfig(u32 SCU_EMIALE_LEN, u32 SCU_EMIALE_POL);
185
void SCU_ITConfig(u32 SCU_IT, FunctionalState NewState);
186
FlagStatus SCU_GetFlagStatus(u32 SCU_Flag);
187
void SCU_ClearFlag(u32 SCU_Flag);
188
u32 SCU_GetPLLFreqValue(void);
189
u32 SCU_GetMCLKFreqValue(void);
190
u32 SCU_GetRCLKFreqValue(void);
191
u32 SCU_GetHCLKFreqValue(void);
192
u32 SCU_GetPCLKFreqValue(void);
193
void SCU_WakeUpLineConfig(u8 EXTint);
194
void SCU_SpecIntRunModeConfig(FunctionalState NewState);
195
void SCU_EnterIdleMode(void);
196
void SCU_EnterSleepMode(void);
197
void SCU_UARTIrDASelect(u8 SCU_UARTx, u8 UART_IrDA_Mode);
198
void SCU_PFQBCCmd(FunctionalState NewState);
199
 
200
extern const u32 _Main_Crystal;
201
 
202
#endif /*__91x_SCU_H*/
203
 
204
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/