]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/cg_src/r_cg_cgc.h
FreeRTOS source:
[freertos] / FreeRTOS / Demo / CORTEX_R4F_RZ_T_GCC_IAR / src / cg_src / r_cg_cgc.h
1 /***********************************************************************************************************************\r
2 * DISCLAIMER\r
3 * This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
4 * No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
5 * applicable laws, including copyright laws. \r
6 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
7 * OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
8 * NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
9 * LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
10 * INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
11 * ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
12 * Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
13 * of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
14 * following link:\r
15 * http://www.renesas.com/disclaimer\r
16 *\r
17 * Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
18 ***********************************************************************************************************************/\r
19 \r
20 /***********************************************************************************************************************\r
21 * File Name    : r_cg_cgc.h\r
22 * Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
23 * Device(s)    : R7S910018CBG\r
24 * Tool-Chain   : GCCARM\r
25 * Description  : This file implements device driver for CGC module.\r
26 * Creation Date: 22/04/2015\r
27 ***********************************************************************************************************************/\r
28 #ifndef CGC_H\r
29 #define CGC_H\r
30 \r
31 /***********************************************************************************************************************\r
32 Macro definitions (Register bit)\r
33 ***********************************************************************************************************************/\r
34 /*\r
35     System Clock Control Register (SCKCR)\r
36 */\r
37 /* Peripheral Module Clock G (PCLKG) */\r
38 #define _CGC_PCLKG_0                  (0x00000000UL) /* 60 MHz */\r
39 #define _CGC_PCLKG_1                  (0x00000001UL) /* 30 MHz */\r
40 #define _CGC_PCLKG_2                  (0x00000002UL) /* 15 MHz */\r
41 #define _CGC_PCLKG_3                  (0x00000003UL) /* 7.5 MHz */\r
42 /* Peripheral Module Clock F (PCLKF) */\r
43 #define _CGC_PCLKF_0                  (0x00000000UL) /* 60 MHz */\r
44 #define _CGC_PCLKF_1                  (0x00000004UL) /* 30 MHz */\r
45 #define _CGC_PCLKF_2                  (0x00000008UL) /* 15 MHz */\r
46 #define _CGC_PCLKF_3                  (0x0000000CUL) /* 7.5 MHz */\r
47 /* Peripheral Module Clock E (PCLKE) */\r
48 #define _CGC_PCLKE_0                  (0x00000000UL) /* 75 MHz */\r
49 #define _CGC_PCLKE_1                  (0x00000010UL) /* 37.5 MHz */\r
50 #define _CGC_PCLKE_2                  (0x00000020UL) /* 18.75 MHz */\r
51 /* External Bus Clock (CKIO) */\r
52 #define _CGC_CKIO_0                   (0x00000000UL) /* 75 MHz */\r
53 #define _CGC_CKIO_1                   (0x00000100UL) /* 50 MHz */\r
54 #define _CGC_CKIO_2                   (0x00000200UL) /* 37.5 MHz */\r
55 #define _CGC_CKIO_3                   (0x00000300UL) /* 30 MHz */\r
56 #define _CGC_CKIO_4                   (0x00000400UL) /* 25 MHz */\r
57 #define _CGC_CKIO_5                   (0x00000500UL) /* 21.43 MHz */\r
58 #define _CGC_CKIO_6                   (0x00000600UL) /* 18.75 MHz */\r
59 /* Ether Clock E  (ETCLKE) */\r
60 #define _CGC_ETCKE_0                  (0x00000000UL) /* 25 MHz */\r
61 #define _CGC_ETCKE_1                  (0x00001000UL) /* 50 MHz */\r
62 #define _CGC_ETCKE_2                  (0x00003000UL) /* 25 MHz */\r
63 /* Ether Clock D  (ETCLKD) */\r
64 #define _CGC_ETCKD_0                  (0x00000000UL) /* 12.5 MHz */\r
65 #define _CGC_ETCKD_1                  (0x00004000UL) /* 6.25 MHz */\r
66 #define _CGC_ETCKD_2                  (0x00008000UL) /* 3.125 MHz */\r
67 #define _CGC_ETCKD_3                  (0x0000C000UL) /* 1.563 MHz */\r
68 /* High-Speed Serial Clock (SERICLK) */\r
69 #define _CGC_SERICLK_0                (0x00000000UL) /* 150 MHz */\r
70 #define _CGC_SERICLK_1                (0x00010000UL) /* 120 MHz */\r
71 /* USB Clock (USBMCLK) */\r
72 #define _CGC_UCK_0                    (0x00000000UL) /* 50 MHz */\r
73 #define _CGC_UCK_1                    (0x00020000UL) /* 24 MHz */\r
74 /* Trace Interface Clock (TCLK) */\r
75 #define _CGC_TCLK_0                   (0x00000000UL) /* 150 MHz */\r
76 #define _CGC_TCLK_1                   (0x00100000UL) /* 75 MHz */\r
77 \r
78 /*\r
79     System Clock Control Register 2 (SCKCR2)\r
80 */\r
81 #define _CGC_SKSEL0_PLL0              (0x00000000UL) /* PLL0 */\r
82 #define _CGC_SKSEL0_PLL1              (0x00000001UL) /* PLL1 */\r
83 \r
84 /*\r
85     Delta-Sigma Interface Clock Control Register (DSCR)\r
86 */\r
87 #define _CGC_DSSEL0_SLAVE             (0x00000000UL) /* Supplied from outside the LSI (slave operation) */\r
88 #define _CGC_DSSEL0_MASTER            (0x00000001UL) /* Supplied from CGC (master operation) */\r
89 #define _CGC_DSCLK0_0                 (0x00000000UL) /* 25 MHz */\r
90 #define _CGC_DSCLK0_1                 (0x00000002UL) /* 18.75 MHz */\r
91 #define _CGC_DSCLK0_2                 (0x00000004UL) /* 12.5 MHz */\r
92 #define _CGC_DSCLK0_3                 (0x00000006UL) /* 9.375 MHz */\r
93 #define _CGC_DSCLK0_4                 (0x00000008UL) /* 6.25 MHz */\r
94 #define _CGC_DSCLK0_POL_NORMAL        (0x00000000UL) /* Polarity not inverted (master and slave operation) */\r
95 #define _CGC_DSCLK0_POL_INVERT        (0x00000010UL) /* Polarity inverted (master and slave operation) */\r
96 #define _CGC_DSCLK0_SLAVE_MCLK0_2     (0x00000000UL) /* Clock input to MCLK0,MCLK1,MCLK2 pins are used */\r
97 #define _CGC_DSCLK0_SLAVE_MCLK0       (0x00000020UL) /* Clock input to MCLK0 pin is used */\r
98 #define _CGC_DSSEL1_SLAVE             (0x00000000UL) /* Supplied from outside the LSI (slave operation) */\r
99 #define _CGC_DSSEL1_MASTER            (0x00010000UL) /* Supplied from CGC (master operation) */\r
100 #define _CGC_DSCLK1_0                 (0x00000000UL) /* 25 MHz */\r
101 #define _CGC_DSCLK1_1                 (0x00020000UL) /* 18.75 MHz */\r
102 #define _CGC_DSCLK1_2                 (0x00040000UL) /* 12.5 MHz */\r
103 #define _CGC_DSCLK1_3                 (0x00060000UL) /* 9.375 MHz */\r
104 #define _CGC_DSCLK1_4                 (0x00080000UL) /* 6.25 MHz */\r
105 #define _CGC_DSCLK1_POL_NORMAL        (0x00000000UL) /* Polarity not inverted (master and slave operation) */\r
106 #define _CGC_DSCLK1_POL_INVERT        (0x00100000UL) /* Polarity inverted (master and slave operation) */\r
107 \r
108 /*\r
109     PLL1 Control Register (PLL1CR)\r
110 */\r
111 #define _CGC_PLL1_CPUCKSEL_150        (0x00U) /* 150 MHz */\r
112 #define _CGC_PLL1_CPUCKSEL_300        (0x01U) /* 300 MHz */\r
113 #define _CGC_PLL1_CPUCKSEL_450        (0x02U) /* 450 MHz */\r
114 #define _CGC_PLL1_CPUCKSEL_600        (0x03U) /* 600 MHz */\r
115 \r
116 /*\r
117     PLL1 Control Register 2 (PLL1CR2)\r
118 */\r
119 #define _CGC_PLL1_DISABLE             (0x00000000UL) /* PLL1 stops */\r
120 #define _CGC_PLL1_ENABLE              (0x00000001UL) /* PLL1 runs */\r
121 \r
122 /*\r
123     Low-Speed On-Chip Oscillator Control Register (LOCOCR)\r
124 */\r
125 #define _CGC_LOCO_RUN                 (0x00000000UL) /* LOCO Run */\r
126 #define _CGC_LOCO_STOP                (0x00000001UL) /* LOCO Stop */\r
127 \r
128 /*\r
129     Oscillation Stop Detection Control Register (OSTDCR)\r
130 */\r
131 /* Oscillation Stop Detection Interrupt Enable (OSTDIE) */\r
132 #define _CGC_OSC_STOP_DET_INT_DISABLE (0x00000000UL) /* Stop detection interrupt is disabled */\r
133 #define _CGC_OSC_STOP_DET_INT_ENABLE  (0x00000001UL) /* Stop detection interrupt is enabled */\r
134 /* Oscillation Stop Detection Function Enable (OSTDE) */\r
135 #define _CGC_OSC_STOP_DET_DISABLE     (0x00000000UL) /* Oscillation stop detection function is disabled */\r
136 #define _CGC_OSC_STOP_DET_ENABLE      (0x00000080UL) /* Oscillation stop detection function is enabled */\r
137 \r
138 /*\r
139     ECM Non-maskable Interrupt Configuration Register 0 (ECMNMICFG0)    \r
140 */\r
141 #define _ECM_NMI_OSC_STOP_DISABLE     (0x00000000UL) /* Stop detection NMI interrupt is disabled */\r
142 #define _ECM_NMI_OSC_STOP_ENABLE      (0x00080000UL) /* Stop detection NMI interrupt is enabled */\r
143 \r
144 /*\r
145     ECM Maskable Interrupt Configuration Register 0 (ECMMICFG0)\r
146 */\r
147 #define _ECM_MI_OSC_STOP_DISABLE      (0x00000000UL) /* Stop detection Maskable interrupt is disabled */\r
148 #define _ECM_MI_OSC_STOP_ENABLE       (0x00080000UL) /* Stop detection Maskable interrupt is enabled */\r
149 \r
150 /*\r
151     Debugging Interface Control Register (DBGIFCNT)\r
152 */\r
153 #define _SWV_SEL_NOOUTPUT             (0x00000000UL) /* SWV output is not output */\r
154 #define _SWV_SEL_TDO                  (0x00000001UL) /* SWV output is output from the TDO pin */\r
155 #define _SWV_SEL_TRACEDATA0           (0x00000002UL) /* SWV output is output from the TRACEDATA0 pin */\r
156 #define _SWV_SEL_TRACECTL             (0x00000003UL) /* SWV output is output from the TRACECTL pin */\r
157 \r
158 \r
159 /***********************************************************************************************************************\r
160 Macro definitions\r
161 ***********************************************************************************************************************/\r
162 #define _CGC_PLL_WAIT_CYCLE           (0x1D4CU) /* Wait 100us when switch clock source in PLL0 and PLL1 */\r
163 #define _CGC_LOCO_WAIT_CYCLE          (0x0BB8U) /* Wait 40us for LOCO oscillation stabilization */    \r
164 \r
165 /***********************************************************************************************************************\r
166 Typedef definitions\r
167 ***********************************************************************************************************************/\r
168 \r
169 /***********************************************************************************************************************\r
170 Global functions\r
171 ***********************************************************************************************************************/\r
172 void R_CGC_Create(void);\r
173 \r
174 /* Start user code for function. Do not edit comment generated here */\r
175 \r
176 void R_CPG_PLLWait(void);\r
177 void R_CPG_WriteEnable(void);\r
178 void R_CPG_WriteDisable(void);\r
179 \r
180 #define CPG_CPUCLK_150_MHz (0)\r
181 #define CPG_CPUCLK_300_MHz (1)\r
182 #define CPG_CPUCLK_450_MHz (2)\r
183 #define CPG_CPUCLK_600_MHz (3)\r
184 \r
185 #define CPG_PLL1_OFF       (0)\r
186 #define CPG_PLL1_ON        (1)\r
187 \r
188 #define CPG_SELECT_PLL0    (0)\r
189 #define CPG_SELECT_PLL1    (1)\r
190 \r
191 #define CPG_CKIO_75_MHz    (0)\r
192 #define CPG_CKIO_50_MHz    (1)\r
193 #define CPG_CKIO_37_5_MHz  (2)\r
194 #define CPG_CKIO_30_MHz    (3)\r
195 #define CPG_CKIO_25_MHz    (4)\r
196 #define CPG_CKIO_21_43_MHz (5)\r
197 #define CPG_CKIO_18_75_MHz (6)\r
198 \r
199 #define CPG_LOCO_ENABLE    (0x00000000)\r
200 #define CPG_LOCO_DISABLE   (0x00000001)\r
201 \r
202 /* End user code. Do not edit comment generated here */\r
203 #endif