]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/ARM9_STR91X_IAR/Library/include/91x_scu.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / ARM9_STR91X_IAR / Library / include / 91x_scu.h
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
8 * History:\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
19 \r
20 /* Define to prevent recursive inclusion -------------------------------------*/\r
21 #ifndef __91x_SCU_H\r
22 #define __91x_SCU_H\r
23 \r
24 /* Includes ------------------------------------------------------------------*/\r
25 #include "91x_map.h"\r
26 \r
27 /* Exported constants --------------------------------------------------------*/\r
28 \r
29 /*MCLK_Source*/\r
30 #define SCU_MCLK_PLL      0x0\r
31 #define SCU_MCLK_RTC      0x1\r
32 #define SCU_MCLK_OSC      0x2\r
33 \r
34 /*RCLK_Divisor*/\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
41 \r
42 /*HCLK_Divisor*/\r
43 #define SCU_HCLK_Div1 0xFFFFFF9F\r
44 #define SCU_HCLK_Div2 0x20\r
45 #define SCU_HCLK_Div4 0x40\r
46 \r
47 /*PCLK_Divisor*/\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
52 \r
53 /*FMICLK_Divisor*/\r
54 #define SCU_FMICLK_Div1 0xFFFEFFFF\r
55 #define SCU_FMICLK_Div2 0x10000\r
56 \r
57 /*BRCLK_Divisor*/\r
58 #define SCU_BRCLK_Div1 0xFFFFFDFF\r
59 #define SCU_BRCLK_Div2 0x200\r
60 \r
61 /*TIMCLK_Source*/\r
62 #define SCU_TIMCLK_EXT 0x1\r
63 #define SCU_TIMCLK_INT 0x0\r
64 \r
65 /*TIMx*/\r
66 #define SCU_TIM01 0x0\r
67 #define SCU_TIM23 0x1\r
68 \r
69 \r
70 /*USBCLK_Source*/\r
71 #define SCU_USBCLK_MCLK  0xFFFFF3FF\r
72 #define SCU_USBCLK_MCLK2 0x400\r
73 #define SCU_USBCLK_EXT   0x800\r
74 \r
75 /*SCU_EMIBCLK*/\r
76 #define SCU_EMIBCLK_Div1 0xFFF9FFFF\r
77 #define SCU_EMIBCLK_Div2 0x20000\r
78 \r
79 /*SCU_EMIMODE*/\r
80 #define SCU_EMI_MUX   0xFFFFFFBF\r
81 #define SCU_EMI_DEMUX 0x40\r
82 \r
83 /*SCU_EMIALE_LEN*/\r
84 #define SCU_EMIALE_LEN1 0xFFFFFEFF\r
85 #define SCU_EMIALE_LEN2 0x100\r
86 \r
87 /*SCU_EMIALE_POL*/\r
88 #define SCU_EMIALE_POLLow  0xFFFFFF7F\r
89 #define SCU_EMIALE_POLHigh 0x80\r
90 \r
91 /*UART_IrDA_Mode*/\r
92 #define SCU_UARTMode_IrDA 0x1\r
93 #define SCU_UARTMode_UART 0x0\r
94 \r
95 /*APBPeriph*/\r
96 #define __TIM01 0x1\r
97 #define __TIM23 0x2\r
98 #define __MC    0x4\r
99 #define __UART0 0x8\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
121 \r
122 /*AHBPeriph*/\r
123 #define __FMI          0x1\r
124 #define __FPQBC        0x2\r
125 #define __SRAM         0x8\r
126 #define __SRAM_ARBITER 0x10\r
127 #define __VIC          0x20\r
128 #define __EMI          0x40\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
135 \r
136 /*SCU_IT*/\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
142 \r
143 /*SCU_FLAG*/\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
150 \r
151 \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
193 \r
194 #endif /*__91x_SCU_H*/\r
195 \r
196 /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/\r