]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.h
Start to create an RX64M demo.
[freertos] / FreeRTOS / Demo / RX600_RX64M_RSK_Renesas_e2studio / Source / Renesas_Code / cg_src / r_cg_cgc.h
1 /***********************************************************************************************************************\r
2 * DISCLAIMER\r
3 * This software is supplied by Renesas Electronics Corporation and is only \r
4 * intended for use with Renesas products. No other uses are authorized. This \r
5 * software is owned by Renesas Electronics Corporation and is protected under \r
6 * all applicable laws, including copyright laws.\r
7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING \r
8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT \r
9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE \r
10 * AND NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS \r
12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE \r
13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR \r
14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE \r
15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
16 * Renesas reserves the right, without notice, to make changes to this software \r
17 * and to discontinue the availability of this software.  By using this software, \r
18 * you agree to the additional terms and conditions found by accessing the \r
19 * following link:\r
20 * http://www.renesas.com/disclaimer\r
21 *\r
22 * Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.\r
23 ***********************************************************************************************************************/\r
24 \r
25 /***********************************************************************************************************************\r
26 * File Name    : r_cg_cgc.h\r
27 * Version      : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013]\r
28 * Device(s)    : R5F564MLHxFC\r
29 * Tool-Chain   : CCRX\r
30 * Description  : This file implements device driver for CGC module.\r
31 * Creation Date: 07/02/2014\r
32 ***********************************************************************************************************************/\r
33 #ifndef CGC_H\r
34 #define CGC_H\r
35 \r
36 /***********************************************************************************************************************\r
37 Macro definitions (Register bit)\r
38 ***********************************************************************************************************************/\r
39 /*\r
40     System Clock Control Register (SCKCR)\r
41 */\r
42 /* Peripheral Module Clock D (PCLKD) */\r
43 #define _00000000_CGC_PCLKD_DIV_1           (0x00000000UL) /* x1 */\r
44 #define _00000001_CGC_PCLKD_DIV_2           (0x00000001UL) /* x1/2 */\r
45 #define _00000002_CGC_PCLKD_DIV_4           (0x00000002UL) /* x1/4 */\r
46 #define _00000003_CGC_PCLKD_DIV_8           (0x00000003UL) /* x1/8 */\r
47 #define _00000004_CGC_PCLKD_DIV_16          (0x00000004UL) /* x1/16 */\r
48 #define _00000005_CGC_PCLKD_DIV_32          (0x00000005UL) /* x1/32 */\r
49 #define _00000006_CGC_PCLKD_DIV_64          (0x00000006UL) /* x1/64 */\r
50 /* Peripheral Module Clock C (PCLKC) */\r
51 #define _00000000_CGC_PCLKC_DIV_1           (0x00000000UL) /* x1 */\r
52 #define _00000010_CGC_PCLKC_DIV_2           (0x00000010UL) /* x1/2 */\r
53 #define _00000020_CGC_PCLKC_DIV_4           (0x00000020UL) /* x1/4 */\r
54 #define _00000030_CGC_PCLKC_DIV_8           (0x00000030UL) /* x1/8 */\r
55 #define _00000040_CGC_PCLKC_DIV_16          (0x00000040UL) /* x1/16 */\r
56 #define _00000050_CGC_PCLKC_DIV_32          (0x00000050UL) /* x1/32 */\r
57 #define _00000060_CGC_PCLKC_DIV_64          (0x00000060UL) /* x1/64 */\r
58 /* Peripheral Module Clock B (PCLKB) */\r
59 #define _00000000_CGC_PCLKB_DIV_1           (0x00000000UL) /* x1 */\r
60 #define _00000100_CGC_PCLKB_DIV_2           (0x00000100UL) /* x1/2 */\r
61 #define _00000200_CGC_PCLKB_DIV_4           (0x00000200UL) /* x1/4 */\r
62 #define _00000300_CGC_PCLKB_DIV_8           (0x00000300UL) /* x1/8 */\r
63 #define _00000400_CGC_PCLKB_DIV_16          (0x00000400UL) /* x1/16 */\r
64 #define _00000500_CGC_PCLKB_DIV_32          (0x00000500UL) /* x1/32 */\r
65 #define _00000600_CGC_PCLKB_DIV_64          (0x00000600UL) /* x1/64 */\r
66 /* Peripheral Module Clock A (PCLKA) */\r
67 #define _00000000_CGC_PCLKA_DIV_1           (0x00000000UL) /* x1 */\r
68 #define _00001000_CGC_PCLKA_DIV_2           (0x00001000UL) /* x1/2 */\r
69 #define _00002000_CGC_PCLKA_DIV_4           (0x00002000UL) /* x1/4 */\r
70 #define _00003000_CGC_PCLKA_DIV_8           (0x00003000UL) /* x1/8 */\r
71 #define _00004000_CGC_PCLKA_DIV_16          (0x00004000UL) /* x1/16 */\r
72 #define _00005000_CGC_PCLKA_DIV_32          (0x00005000UL) /* x1/32 */\r
73 #define _00006000_CGC_PCLKA_DIV_64          (0x00006000UL) /* x1/64 */\r
74 /* External Bus Clock (BCLK) */\r
75 #define _00000000_CGC_BCLK_DIV_1            (0x00000000UL) /* x1 */\r
76 #define _00010000_CGC_BCLK_DIV_2            (0x00010000UL) /* x1/2 */\r
77 #define _00020000_CGC_BCLK_DIV_4            (0x00020000UL) /* x1/4 */\r
78 #define _00030000_CGC_BCLK_DIV_8            (0x00030000UL) /* x1/8 */\r
79 #define _00040000_CGC_BCLK_DIV_16           (0x00040000UL) /* x1/16 */\r
80 #define _00050000_CGC_BCLK_DIV_32           (0x00050000UL) /* x1/32 */\r
81 #define _00060000_CGC_BCLK_DIV_64           (0x00060000UL) /* x1/64 */\r
82 /* System Clock (ICLK) */\r
83 #define _00000000_CGC_ICLK_DIV_1            (0x00000000UL) /* x1 */\r
84 #define _01000000_CGC_ICLK_DIV_2            (0x01000000UL) /* x1/2 */\r
85 #define _02000000_CGC_ICLK_DIV_4            (0x02000000UL) /* x1/4 */\r
86 #define _03000000_CGC_ICLK_DIV_8            (0x03000000UL) /* x1/8 */\r
87 #define _04000000_CGC_ICLK_DIV_16           (0x04000000UL) /* x1/16 */\r
88 #define _05000000_CGC_ICLK_DIV_32           (0x05000000UL) /* x1/32 */\r
89 #define _06000000_CGC_ICLK_DIV_64           (0x06000000UL) /* x1/64 */\r
90 /* System Clock (FCLK) */\r
91 #define _00000000_CGC_FCLK_DIV_1            (0x00000000UL) /* x1 */\r
92 #define _10000000_CGC_FCLK_DIV_2            (0x10000000UL) /* x1/2 */\r
93 #define _20000000_CGC_FCLK_DIV_4            (0x20000000UL) /* x1/4 */\r
94 #define _30000000_CGC_FCLK_DIV_8            (0x30000000UL) /* x1/8 */\r
95 #define _40000000_CGC_FCLK_DIV_16           (0x40000000UL) /* x1/16 */\r
96 #define _50000000_CGC_FCLK_DIV_32           (0x50000000UL) /* x1/32 */\r
97 #define _60000000_CGC_FCLK_DIV_64           (0x60000000UL) /* x1/64 */\r
98 \r
99 /*\r
100     System Clock Control Register 2 (SCKCR2)\r
101 */\r
102 #define _0010_CGC_UCLK_DIV_1                (0x0010U) /* x1/2 */\r
103 #define _0020_CGC_UCLK_DIV_3                (0x0020U) /* x1/3 */\r
104 #define _0030_CGC_UCLK_DIV_4                (0x0030U) /* x1/4 */\r
105 #define _0040_CGC_UCLK_DIV_5                (0x0040U) /* x1/5 */\r
106 \r
107 /*\r
108     System Clock Control Register 3 (SCKCR3)\r
109 */\r
110 #define _0000_CGC_CLOCKSOURCE_LOCO          (0x0000U) /* LOCO */\r
111 #define _0100_CGC_CLOCKSOURCE_HOCO          (0x0100U) /* HOCO */\r
112 #define _0200_CGC_CLOCKSOURCE_MAINCLK       (0x0200U) /* Main clock oscillator */\r
113 #define _0300_CGC_CLOCKSOURCE_SUBCLK        (0x0300U) /* Sub-clock oscillator */\r
114 #define _0400_CGC_CLOCKSOURCE_PLL           (0x0400U) /* PLL circuit */\r
115 \r
116 /*\r
117     PLL Control Register (PLLCR)\r
118 */\r
119 /* PLL Input Frequency Division Ratio Select (PLIDIV[1:0]) */\r
120 #define _0000_CGC_PLL_FREQ_DIV_1            (0x0000U) /* x1 */\r
121 #define _0001_CGC_PLL_FREQ_DIV_2            (0x0001U) /* x1/2 */\r
122 #define _0002_CGC_PLL_FREQ_DIV_3            (0x0002U) /* x1/3 */\r
123 /* Frequency Multiplication Factor Select (STC[5:0]) */\r
124 #define _1300_CGC_PLL_FREQ_MUL_10_0         (0x1300U) /* x10.0 */\r
125 #define _1400_CGC_PLL_FREQ_MUL_10_5         (0x1400U) /* x10.5 */\r
126 #define _1500_CGC_PLL_FREQ_MUL_11_0         (0x1500U) /* x11.0 */\r
127 #define _1600_CGC_PLL_FREQ_MUL_11_5         (0x1600U) /* x11.5 */\r
128 #define _1700_CGC_PLL_FREQ_MUL_12_0         (0x1700U) /* x12.0 */\r
129 #define _1800_CGC_PLL_FREQ_MUL_12_5         (0x1800U) /* x12.5 */\r
130 #define _1900_CGC_PLL_FREQ_MUL_13_0         (0x1900U) /* x13.0 */\r
131 #define _1A00_CGC_PLL_FREQ_MUL_13_5         (0x1A00U) /* x13.5 */\r
132 #define _1B00_CGC_PLL_FREQ_MUL_14_0         (0x1B00U) /* x14.0 */\r
133 #define _1C00_CGC_PLL_FREQ_MUL_14_5         (0x1C00U) /* x14.5 */\r
134 #define _1D00_CGC_PLL_FREQ_MUL_15_0         (0x1D00U) /* x15.0 */\r
135 #define _1E00_CGC_PLL_FREQ_MUL_15_5         (0x1E00U) /* x15.5 */\r
136 #define _1F00_CGC_PLL_FREQ_MUL_16_0         (0x1F00U) /* x16.0 */\r
137 #define _2000_CGC_PLL_FREQ_MUL_16_5         (0x2000U) /* x16.5 */\r
138 #define _2100_CGC_PLL_FREQ_MUL_17_0         (0x2100U) /* x17.0 */\r
139 #define _2200_CGC_PLL_FREQ_MUL_17_5         (0x2200U) /* x17.5 */\r
140 #define _2300_CGC_PLL_FREQ_MUL_18_0         (0x2300U) /* x18.0 */\r
141 #define _2400_CGC_PLL_FREQ_MUL_18_5         (0x2400U) /* x18.5 */\r
142 #define _2500_CGC_PLL_FREQ_MUL_19_0         (0x2500U) /* x19.0 */\r
143 #define _2600_CGC_PLL_FREQ_MUL_19_5         (0x2600U) /* x19.5 */\r
144 #define _2700_CGC_PLL_FREQ_MUL_20_0         (0x2700U) /* x20.0 */\r
145 #define _2800_CGC_PLL_FREQ_MUL_20_5         (0x2800U) /* x20.5 */\r
146 #define _2900_CGC_PLL_FREQ_MUL_21_0         (0x2900U) /* x21.0 */\r
147 #define _2A00_CGC_PLL_FREQ_MUL_21_5         (0x2A00U) /* x21.5 */\r
148 #define _2B00_CGC_PLL_FREQ_MUL_22_0         (0x2B00U) /* x22.0 */\r
149 #define _2C00_CGC_PLL_FREQ_MUL_22_5         (0x2C00U) /* x22.5 */\r
150 #define _2D00_CGC_PLL_FREQ_MUL_23_0         (0x2D00U) /* x23.0 */\r
151 #define _2E00_CGC_PLL_FREQ_MUL_23_5         (0x2E00U) /* x23.5 */\r
152 #define _2F00_CGC_PLL_FREQ_MUL_24_0         (0x2F00U) /* x24.0 */\r
153 #define _3000_CGC_PLL_FREQ_MUL_24_5         (0x3000U) /* x24.5 */\r
154 #define _3100_CGC_PLL_FREQ_MUL_25_0         (0x3100U) /* x25.0 */\r
155 #define _3200_CGC_PLL_FREQ_MUL_25_5         (0x3200U) /* x25.5 */\r
156 #define _3300_CGC_PLL_FREQ_MUL_26_0         (0x3300U) /* x26.0 */\r
157 #define _3400_CGC_PLL_FREQ_MUL_26_5         (0x3400U) /* x26.5 */\r
158 #define _3500_CGC_PLL_FREQ_MUL_27_0         (0x3500U) /* x27.0 */\r
159 #define _3600_CGC_PLL_FREQ_MUL_27_5         (0x3600U) /* x27.5 */\r
160 #define _3700_CGC_PLL_FREQ_MUL_28_0         (0x3700U) /* x28.0 */\r
161 #define _3800_CGC_PLL_FREQ_MUL_28_5         (0x3800U) /* x28.5 */\r
162 #define _3900_CGC_PLL_FREQ_MUL_29_0         (0x3900U) /* x29.0 */\r
163 #define _3A00_CGC_PLL_FREQ_MUL_29_5         (0x3A00U) /* x29.5 */\r
164 #define _3B00_CGC_PLL_FREQ_MUL_30_0         (0x3B00U) /* x30.0 */\r
165 \r
166 /*\r
167     Oscillation Stop Detection Control Register (OSTDCR)\r
168 */\r
169 /* Oscillation Stop Detection Interrupt Enable (OSTDIE) */\r
170 #define _00_CGC_OSC_STOP_INT_DISABLE        (0x00U) /* The oscillation stop detection interrupt is disabled */\r
171 #define _01_CGC_OSC_STOP_INT_ENABLE         (0x01U) /* The oscillation stop detection interrupt is enabled */\r
172 /* Oscillation Stop Detection Function Enable (OSTDE) */\r
173 #define _00_CGC_OSC_STOP_DISABLE            (0x00U) /* Oscillation stop detection function is disabled */\r
174 #define _80_CGC_OSC_STOP_ENABLE             (0x80U) /* Oscillation stop detection function is enabled */\r
175 \r
176 /*\r
177     High-Speed On-Chip Oscillator Control Register 2 (HOCOCR2)\r
178 */\r
179 /* HOCO Frequency Setting (HCFRQ[1:0]) */\r
180 #define _00_CGC_HOCO_CLK_16                 (0x00U) /* 16 MHz */\r
181 #define _01_CGC_HOCO_CLK_18                 (0x01U) /* 18 MHz */\r
182 #define _02_CGC_HOCO_CLK_20                 (0x02U) /* 20 MHz */\r
183 \r
184 /*\r
185     Clock Output Control Register (CKOCR)\r
186 */\r
187 /* Clock Output Source Select (CKOSEL[2:0]) */\r
188 #define _0000_CGC_CLKOUT_LOCO               (0x0000U) /* LOCO */\r
189 #define _0100_CGC_CLKOUT_HOCO               (0x0100U) /* HOCO */\r
190 #define _0200_CGC_CLKOUT_MAINCLK            (0x0200U) /* Main clock oscillator */\r
191 #define _0300_CGC_CLKOUT_SUBCLK             (0x0300U) /* Sub-clock oscillator */\r
192 /* Clock Output Division Ratio Select (CKODIV[2:0]) */\r
193 #define _0000_CGC_CLKOUT_DIV_1              (0x0000U) /* x1 */\r
194 #define _1000_CGC_CLKOUT_DIV_2              (0x1000U) /* x1/2 */\r
195 #define _2000_CGC_CLKOUT_DIV_4              (0x2000U) /* x1/4 */\r
196 #define _3000_CGC_CLKOUT_DIV_8              (0x3000U) /* x1/8 */\r
197 #define _4000_CGC_CLKOUT_DIV_16             (0x4000U) /* x1/16 */\r
198 /* Clock Output Control (CKOSTP) */\r
199 #define _0000_CGC_CLKOUT_ENABLE             (0x0000U) /* CLKOUT pin output is operating */\r
200 #define _8000_CGC_CLKOUT_DISABLE            (0x8000U) /* CLKOUT pin output is stopped (fixed at low level) */\r
201 \r
202 /*\r
203     Main Clock Oscillator Forced Oscillation Control Register (MOFCR)\r
204 */\r
205 /* Main Oscillator Drive Capability 2 Switching (MODRV2[1:0]) */\r
206 #define _00_CGC_MAINOSC_UNDER24M            (0x00U) /* 20.1 to 24 MHz */\r
207 #define _10_CGC_MAINOSC_UNDER20M            (0x10U) /* 16.1 to 20 MHz */\r
208 #define _20_CGC_MAINOSC_UNDER16M            (0x20U) /* 8.1 to 16 MHz */\r
209 #define _30_CGC_MAINOSC_EQUATE8M            (0x30U) /* 8 MHz */\r
210 /* Main Clock Oscillator Switch (MOSEL) */\r
211 #define _00_CGC_MAINOSC_RESONATOR           (0x00U) /* Resonator */\r
212 #define _40_CGC_MAINOSC_EXTERNAL            (0x40U) /* External oscillator input */\r
213 \r
214 /***********************************************************************************************************************\r
215 Macro definitions\r
216 ***********************************************************************************************************************/\r
217 #define _52_CGC_MOSCWTCR_VALUE               (0x52U) /* Main Clock Oscillator Wait Time */\r
218 \r
219 /***********************************************************************************************************************\r
220 Typedef definitions\r
221 ***********************************************************************************************************************/\r
222 \r
223 /***********************************************************************************************************************\r
224 Global functions\r
225 ***********************************************************************************************************************/\r
226 void R_CGC_Create(void);\r
227 \r
228 /* Start user code for function. Do not edit comment generated here */\r
229 /* End user code. Do not edit comment generated here */\r
230 #endif