1 /*******************************************************************************
\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
20 * http://www.renesas.com/disclaimer
\r
22 * Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.
\r
23 *******************************************************************************/
\r
24 /*******************************************************************************
\r
25 * System Name : RZ/T1 Init program
\r
26 * File Name : r_icu_init.h
\r
28 * Device : R7S9100xx
\r
29 * Abstract : API for ICU init
\r
30 * Tool-Chain : IAR Embedded Workbench Ver.7.20
\r
32 * H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)
\r
33 * Description : Initialize interrupt controller unit.
\r
35 *******************************************************************************/
\r
36 /*******************************************************************************
\r
37 * History : DD.MM.YYYY Version Description
\r
39 *******************************************************************************/
\r
41 #ifndef _R_ICU_INIT_HEADER_
\r
42 #define _R_ICU_INIT_HEADER_
\r
44 /*******************************************************************************
\r
46 *******************************************************************************/
\r
48 #define ICU_EXT_PIN_0 (0)
\r
49 #define ICU_EXT_PIN_1 (1)
\r
50 #define ICU_EXT_PIN_2 (2)
\r
51 #define ICU_EXT_PIN_3 (3)
\r
52 #define ICU_EXT_PIN_4 (4)
\r
53 #define ICU_EXT_PIN_5 (5)
\r
54 #define ICU_EXT_PIN_6 (6)
\r
55 #define ICU_EXT_PIN_7 (7)
\r
56 #define ICU_EXT_PIN_8 (8)
\r
57 #define ICU_EXT_PIN_9 (9)
\r
58 #define ICU_EXT_PIN_10 (10)
\r
59 #define ICU_EXT_PIN_11 (11)
\r
60 #define ICU_EXT_PIN_12 (12)
\r
61 #define ICU_EXT_PIN_13 (13)
\r
62 #define ICU_EXT_PIN_14 (14)
\r
63 #define ICU_EXT_PIN_15 (15)
\r
65 #define ICU_DETECT_LOW (0x00)
\r
66 #define ICU_DETECT_FALL (0x04)
\r
67 #define ICU_DETECT_RISE (0x08)
\r
68 #define ICU_DETECT_RISE_FALL (0x0C)
\r
70 #define ICU_DNF_DIVISION_1 (0)
\r
71 #define ICU_DNF_DIVISION_8 (1)
\r
72 #define ICU_DNF_DIVISION_32 (2)
\r
73 #define ICU_DNF_DIVISION_64 (3)
\r
74 #define ICU_DNF_NO_USE (4)
\r
76 #define ICU_VEC_NUM_1 (1)
\r
77 #define ICU_VEC_NUM_2 (2)
\r
78 #define ICU_VEC_NUM_3 (3)
\r
79 #define ICU_VEC_NUM_4 (4)
\r
80 #define ICU_VEC_NUM_5 (5)
\r
81 #define ICU_VEC_NUM_6 (6)
\r
82 #define ICU_VEC_NUM_7 (7)
\r
83 #define ICU_VEC_NUM_8 (8)
\r
84 #define ICU_VEC_NUM_9 (9)
\r
85 #define ICU_VEC_NUM_10 (10)
\r
86 #define ICU_VEC_NUM_11 (11)
\r
87 #define ICU_VEC_NUM_12 (12)
\r
88 #define ICU_VEC_NUM_13 (13)
\r
89 #define ICU_VEC_NUM_14 (14)
\r
90 #define ICU_VEC_NUM_15 (15)
\r
91 #define ICU_VEC_NUM_16 (16)
\r
92 #define ICU_VEC_NUM_17 (17)
\r
93 #define ICU_VEC_NUM_18 (18)
\r
94 #define ICU_VEC_NUM_19 (19)
\r
95 #define ICU_VEC_NUM_20 (20)
\r
96 #define ICU_VEC_NUM_21 (21)
\r
97 #define ICU_VEC_NUM_22 (22)
\r
98 #define ICU_VEC_NUM_23 (23)
\r
99 #define ICU_VEC_NUM_24 (24)
\r
100 #define ICU_VEC_NUM_25 (25)
\r
101 #define ICU_VEC_NUM_26 (26)
\r
102 #define ICU_VEC_NUM_27 (27)
\r
103 #define ICU_VEC_NUM_28 (28)
\r
104 #define ICU_VEC_NUM_29 (29)
\r
105 #define ICU_VEC_NUM_30 (30)
\r
106 #define ICU_VEC_NUM_31 (31)
\r
107 #define ICU_VEC_NUM_32 (32)
\r
108 #define ICU_VEC_NUM_33 (33)
\r
109 #define ICU_VEC_NUM_34 (34)
\r
110 #define ICU_VEC_NUM_35 (35)
\r
111 #define ICU_VEC_NUM_36 (36)
\r
112 #define ICU_VEC_NUM_37 (37)
\r
113 #define ICU_VEC_NUM_38 (38)
\r
114 #define ICU_VEC_NUM_39 (39)
\r
115 #define ICU_VEC_NUM_40 (40)
\r
116 #define ICU_VEC_NUM_41 (41)
\r
117 #define ICU_VEC_NUM_42 (42)
\r
118 #define ICU_VEC_NUM_43 (43)
\r
119 #define ICU_VEC_NUM_44 (44)
\r
120 #define ICU_VEC_NUM_45 (45)
\r
121 #define ICU_VEC_NUM_46 (46)
\r
122 #define ICU_VEC_NUM_47 (47)
\r
123 #define ICU_VEC_NUM_48 (48)
\r
124 #define ICU_VEC_NUM_49 (49)
\r
125 #define ICU_VEC_NUM_50 (50)
\r
126 #define ICU_VEC_NUM_51 (51)
\r
127 #define ICU_VEC_NUM_52 (52)
\r
128 #define ICU_VEC_NUM_53 (53)
\r
129 #define ICU_VEC_NUM_54 (54)
\r
130 #define ICU_VEC_NUM_55 (55)
\r
131 #define ICU_VEC_NUM_56 (56)
\r
132 #define ICU_VEC_NUM_57 (57)
\r
133 #define ICU_VEC_NUM_58 (58)
\r
134 #define ICU_VEC_NUM_59 (59)
\r
135 #define ICU_VEC_NUM_60 (60)
\r
136 #define ICU_VEC_NUM_61 (61)
\r
137 #define ICU_VEC_NUM_62 (62)
\r
138 #define ICU_VEC_NUM_63 (63)
\r
139 #define ICU_VEC_NUM_64 (64)
\r
140 #define ICU_VEC_NUM_65 (65)
\r
141 #define ICU_VEC_NUM_66 (66)
\r
142 #define ICU_VEC_NUM_67 (67)
\r
143 #define ICU_VEC_NUM_68 (68)
\r
144 #define ICU_VEC_NUM_69 (69)
\r
145 #define ICU_VEC_NUM_70 (70)
\r
146 #define ICU_VEC_NUM_73 (73)
\r
147 #define ICU_VEC_NUM_74 (74)
\r
148 #define ICU_VEC_NUM_75 (75)
\r
149 #define ICU_VEC_NUM_76 (76)
\r
150 #define ICU_VEC_NUM_77 (77)
\r
151 #define ICU_VEC_NUM_78 (78)
\r
152 #define ICU_VEC_NUM_79 (79)
\r
153 #define ICU_VEC_NUM_80 (80)
\r
154 #define ICU_VEC_NUM_81 (81)
\r
155 #define ICU_VEC_NUM_82 (82)
\r
156 #define ICU_VEC_NUM_83 (83)
\r
157 #define ICU_VEC_NUM_84 (84)
\r
158 #define ICU_VEC_NUM_85 (85)
\r
159 #define ICU_VEC_NUM_86 (86)
\r
160 #define ICU_VEC_NUM_87 (87)
\r
161 #define ICU_VEC_NUM_88 (88)
\r
162 #define ICU_VEC_NUM_89 (89)
\r
163 #define ICU_VEC_NUM_90 (90)
\r
164 #define ICU_VEC_NUM_91 (91)
\r
165 #define ICU_VEC_NUM_92 (92)
\r
166 #define ICU_VEC_NUM_93 (93)
\r
167 #define ICU_VEC_NUM_94 (94)
\r
168 #define ICU_VEC_NUM_95 (95)
\r
169 #define ICU_VEC_NUM_96 (96)
\r
170 #define ICU_VEC_NUM_97 (97)
\r
171 #define ICU_VEC_NUM_98 (98)
\r
172 #define ICU_VEC_NUM_99 (99)
\r
173 #define ICU_VEC_NUM_100 (100)
\r
174 #define ICU_VEC_NUM_101 (101)
\r
175 #define ICU_VEC_NUM_102 (102)
\r
176 #define ICU_VEC_NUM_103 (103)
\r
177 #define ICU_VEC_NUM_104 (104)
\r
178 #define ICU_VEC_NUM_105 (105)
\r
179 #define ICU_VEC_NUM_106 (106)
\r
180 #define ICU_VEC_NUM_107 (107)
\r
181 #define ICU_VEC_NUM_108 (108)
\r
182 #define ICU_VEC_NUM_109 (109)
\r
183 #define ICU_VEC_NUM_110 (110)
\r
184 #define ICU_VEC_NUM_111 (111)
\r
185 #define ICU_VEC_NUM_112 (112)
\r
186 #define ICU_VEC_NUM_113 (113)
\r
187 #define ICU_VEC_NUM_114 (114)
\r
188 #define ICU_VEC_NUM_115 (115)
\r
189 #define ICU_VEC_NUM_116 (116)
\r
190 #define ICU_VEC_NUM_117 (117)
\r
191 #define ICU_VEC_NUM_118 (118)
\r
192 #define ICU_VEC_NUM_119 (119)
\r
193 #define ICU_VEC_NUM_120 (120)
\r
194 #define ICU_VEC_NUM_121 (121)
\r
195 #define ICU_VEC_NUM_122 (122)
\r
196 #define ICU_VEC_NUM_123 (123)
\r
197 #define ICU_VEC_NUM_124 (124)
\r
198 #define ICU_VEC_NUM_125 (125)
\r
199 #define ICU_VEC_NUM_126 (126)
\r
200 #define ICU_VEC_NUM_127 (127)
\r
201 #define ICU_VEC_NUM_128 (128)
\r
202 #define ICU_VEC_NUM_145 (145)
\r
203 #define ICU_VEC_NUM_146 (146)
\r
204 #define ICU_VEC_NUM_147 (147)
\r
205 #define ICU_VEC_NUM_148 (148)
\r
206 #define ICU_VEC_NUM_149 (149)
\r
207 #define ICU_VEC_NUM_150 (150)
\r
208 #define ICU_VEC_NUM_151 (151)
\r
209 #define ICU_VEC_NUM_152 (152)
\r
210 #define ICU_VEC_NUM_153 (153)
\r
211 #define ICU_VEC_NUM_154 (154)
\r
212 #define ICU_VEC_NUM_155 (155)
\r
213 #define ICU_VEC_NUM_156 (156)
\r
214 #define ICU_VEC_NUM_157 (157)
\r
215 #define ICU_VEC_NUM_158 (158)
\r
216 #define ICU_VEC_NUM_159 (159)
\r
217 #define ICU_VEC_NUM_160 (160)
\r
218 #define ICU_VEC_NUM_161 (161)
\r
219 #define ICU_VEC_NUM_162 (162)
\r
220 #define ICU_VEC_NUM_163 (163)
\r
221 #define ICU_VEC_NUM_164 (164)
\r
222 #define ICU_VEC_NUM_165 (165)
\r
223 #define ICU_VEC_NUM_166 (166)
\r
224 #define ICU_VEC_NUM_167 (167)
\r
225 #define ICU_VEC_NUM_168 (168)
\r
226 #define ICU_VEC_NUM_169 (169)
\r
227 #define ICU_VEC_NUM_170 (170)
\r
228 #define ICU_VEC_NUM_171 (171)
\r
229 #define ICU_VEC_NUM_172 (172)
\r
230 #define ICU_VEC_NUM_173 (173)
\r
231 #define ICU_VEC_NUM_174 (174)
\r
232 #define ICU_VEC_NUM_175 (175)
\r
233 #define ICU_VEC_NUM_176 (176)
\r
234 #define ICU_VEC_NUM_177 (177)
\r
235 #define ICU_VEC_NUM_178 (178)
\r
236 #define ICU_VEC_NUM_179 (179)
\r
237 #define ICU_VEC_NUM_180 (180)
\r
238 #define ICU_VEC_NUM_181 (181)
\r
239 #define ICU_VEC_NUM_182 (182)
\r
240 #define ICU_VEC_NUM_183 (183)
\r
241 #define ICU_VEC_NUM_184 (184)
\r
242 #define ICU_VEC_NUM_185 (185)
\r
243 #define ICU_VEC_NUM_186 (186)
\r
244 #define ICU_VEC_NUM_187 (187)
\r
245 #define ICU_VEC_NUM_188 (188)
\r
246 #define ICU_VEC_NUM_189 (189)
\r
247 #define ICU_VEC_NUM_190 (190)
\r
248 #define ICU_VEC_NUM_191 (191)
\r
249 #define ICU_VEC_NUM_192 (192)
\r
250 #define ICU_VEC_NUM_193 (193)
\r
251 #define ICU_VEC_NUM_194 (194)
\r
252 #define ICU_VEC_NUM_195 (195)
\r
253 #define ICU_VEC_NUM_196 (196)
\r
254 #define ICU_VEC_NUM_197 (197)
\r
255 #define ICU_VEC_NUM_198 (198)
\r
256 #define ICU_VEC_NUM_199 (199)
\r
257 #define ICU_VEC_NUM_200 (200)
\r
258 #define ICU_VEC_NUM_201 (201)
\r
259 #define ICU_VEC_NUM_202 (202)
\r
260 #define ICU_VEC_NUM_203 (203)
\r
261 #define ICU_VEC_NUM_204 (204)
\r
262 #define ICU_VEC_NUM_205 (205)
\r
263 #define ICU_VEC_NUM_206 (206)
\r
264 #define ICU_VEC_NUM_207 (207)
\r
265 #define ICU_VEC_NUM_208 (208)
\r
266 #define ICU_VEC_NUM_209 (209)
\r
267 #define ICU_VEC_NUM_210 (210)
\r
268 #define ICU_VEC_NUM_211 (211)
\r
269 #define ICU_VEC_NUM_212 (212)
\r
270 #define ICU_VEC_NUM_213 (213)
\r
271 #define ICU_VEC_NUM_214 (214)
\r
272 #define ICU_VEC_NUM_215 (215)
\r
273 #define ICU_VEC_NUM_216 (216)
\r
274 #define ICU_VEC_NUM_217 (217)
\r
275 #define ICU_VEC_NUM_218 (218)
\r
276 #define ICU_VEC_NUM_219 (219)
\r
277 #define ICU_VEC_NUM_220 (220)
\r
278 #define ICU_VEC_NUM_221 (221)
\r
279 #define ICU_VEC_NUM_222 (222)
\r
280 #define ICU_VEC_NUM_223 (223)
\r
281 #define ICU_VEC_NUM_224 (224)
\r
282 #define ICU_VEC_NUM_225 (225)
\r
283 #define ICU_VEC_NUM_226 (226)
\r
284 #define ICU_VEC_NUM_227 (227)
\r
285 #define ICU_VEC_NUM_228 (228)
\r
286 #define ICU_VEC_NUM_229 (229)
\r
287 #define ICU_VEC_NUM_230 (230)
\r
288 #define ICU_VEC_NUM_231 (231)
\r
289 #define ICU_VEC_NUM_232 (232)
\r
290 #define ICU_VEC_NUM_233 (233)
\r
291 #define ICU_VEC_NUM_234 (234)
\r
292 #define ICU_VEC_NUM_235 (235)
\r
293 #define ICU_VEC_NUM_236 (236)
\r
294 #define ICU_VEC_NUM_237 (237)
\r
295 #define ICU_VEC_NUM_238 (238)
\r
296 #define ICU_VEC_NUM_239 (239)
\r
297 #define ICU_VEC_NUM_240 (240)
\r
298 #define ICU_VEC_NUM_241 (241)
\r
299 #define ICU_VEC_NUM_242 (242)
\r
300 #define ICU_VEC_NUM_243 (243)
\r
301 #define ICU_VEC_NUM_246 (246)
\r
302 #define ICU_VEC_NUM_247 (247)
\r
303 #define ICU_VEC_NUM_248 (248)
\r
304 #define ICU_VEC_NUM_249 (249)
\r
305 #define ICU_VEC_NUM_250 (250)
\r
306 #define ICU_VEC_NUM_251 (251)
\r
307 #define ICU_VEC_NUM_252 (252)
\r
308 #define ICU_VEC_NUM_254 (254)
\r
309 #define ICU_VEC_NUM_256 (256)
\r
310 #define ICU_VEC_NUM_257 (257)
\r
311 #define ICU_VEC_NUM_258 (258)
\r
312 #define ICU_VEC_NUM_259 (259)
\r
313 #define ICU_VEC_NUM_260 (260)
\r
314 #define ICU_VEC_NUM_261 (261)
\r
315 #define ICU_VEC_NUM_262 (262)
\r
316 #define ICU_VEC_NUM_263 (263)
\r
317 #define ICU_VEC_NUM_264 (264)
\r
318 #define ICU_VEC_NUM_265 (265)
\r
319 #define ICU_VEC_NUM_266 (266)
\r
320 #define ICU_VEC_NUM_267 (267)
\r
321 #define ICU_VEC_NUM_268 (268)
\r
322 #define ICU_VEC_NUM_269 (269)
\r
323 #define ICU_VEC_NUM_270 (270)
\r
324 #define ICU_VEC_NUM_271 (271)
\r
325 #define ICU_VEC_NUM_272 (272)
\r
326 #define ICU_VEC_NUM_273 (273)
\r
327 #define ICU_VEC_NUM_274 (274)
\r
328 #define ICU_VEC_NUM_275 (275)
\r
329 #define ICU_VEC_NUM_276 (276)
\r
330 #define ICU_VEC_NUM_277 (277)
\r
331 #define ICU_VEC_NUM_278 (278)
\r
332 #define ICU_VEC_NUM_279 (279)
\r
333 #define ICU_VEC_NUM_280 (280)
\r
334 #define ICU_VEC_NUM_281 (281)
\r
335 #define ICU_VEC_NUM_282 (282)
\r
336 #define ICU_VEC_NUM_283 (283)
\r
337 #define ICU_VEC_NUM_284 (284)
\r
338 #define ICU_VEC_NUM_285 (285)
\r
339 #define ICU_VEC_NUM_286 (286)
\r
340 #define ICU_VEC_NUM_287 (287)
\r
341 #define ICU_VEC_NUM_288 (288)
\r
342 #define ICU_VEC_NUM_289 (289)
\r
343 #define ICU_VEC_NUM_290 (290)
\r
344 #define ICU_VEC_NUM_291 (291)
\r
345 #define ICU_VEC_NUM_292 (292)
\r
346 #define ICU_VEC_NUM_293 (293)
\r
347 #define ICU_VEC_NUM_294 (294)
\r
349 #define ICU_TYPE_LEVEL (0)
\r
350 #define ICU_TYPE_EDGE (1)
\r
352 #define ICU_PRIORITY_0 (0)
\r
353 #define ICU_PRIORITY_1 (1)
\r
354 #define ICU_PRIORITY_2 (2)
\r
355 #define ICU_PRIORITY_3 (3)
\r
356 #define ICU_PRIORITY_4 (4)
\r
357 #define ICU_PRIORITY_5 (5)
\r
358 #define ICU_PRIORITY_6 (6)
\r
359 #define ICU_PRIORITY_7 (7)
\r
360 #define ICU_PRIORITY_8 (8)
\r
361 #define ICU_PRIORITY_9 (9)
\r
362 #define ICU_PRIORITY_10 (10)
\r
363 #define ICU_PRIORITY_11 (11)
\r
364 #define ICU_PRIORITY_12 (12)
\r
365 #define ICU_PRIORITY_13 (13)
\r
366 #define ICU_PRIORITY_14 (14)
\r
367 #define ICU_PRIORITY_15 (15)
\r
369 #define ICU_IEC_MASK_SET (1)
\r
371 #define ICU_PIC_EDGE_CLEAR (1)
\r
373 /*******************************************************************************
\r
374 Typedef definitions
\r
375 *******************************************************************************/
\r
377 /*******************************************************************************
\r
378 Exported global variables and functions (to be accessed by other files)
\r
379 *******************************************************************************/
\r
380 void R_ICU_Disable(uint32_t vec_num);
\r
381 void R_ICU_Enable(uint32_t vec_num);
\r
382 void R_ICU_ExtPinInit(uint16_t pin_num, uint8_t detect, uint32_t dnf_set);
\r
383 void R_ICU_Regist(uint32_t vec_num, uint32_t type, uint32_t priority, uint32_t isr_addr);
\r
384 void R_ICU_Disable(uint32_t vec_num);
\r
385 void R_ICU_Enable(uint32_t vec_num);
\r