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