]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/libboard_samv7-ek/source/ov9740_config.c
Final V8.2.1 release ready for tagging:
[freertos] / FreeRTOS / Demo / CORTEX_M7_SAMV71_Xplained_IAR_Keil / libboard_samv7-ek / source / ov9740_config.c
1 /* ----------------------------------------------------------------------------\r
2  *         SAM Software Package License \r
3  * ----------------------------------------------------------------------------\r
4  * Copyright (c) 2013, Atmel Corporation\r
5  *\r
6  * All rights reserved.\r
7  *\r
8  * Redistribution and use in source and binary forms, with or without\r
9  * modification, are permitted provided that the following conditions are met:\r
10  *\r
11  * - Redistributions of source code must retain the above copyright notice,\r
12  * this list of conditions and the disclaimer below.\r
13  *\r
14  * Atmel's name may not be used to endorse or promote products derived from\r
15  * this software without specific prior written permission.\r
16  *\r
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
27  * ----------------------------------------------------------------------------\r
28  */\r
29 \r
30 /**\r
31  * \file\r
32  */\r
33 \r
34 /*------------------------------------------------------------------------------\r
35  *         Headers\r
36  *------------------------------------------------------------------------------*/\r
37 \r
38 #include "board.h"\r
39 \r
40 /*------------------------------------------------------------------------------\r
41  *         Local Variables\r
42  *------------------------------------------------------------------------------*/\r
43 \r
44 const struct ov_reg ov9740_yuv_vga[]= {\r
45 //@@ VGA 640x360 bin YUV DVP 60FPS (Full speed)\r
46 {0x0103,0x01},\r
47 {0x3026,0x00},\r
48 {0x3027,0x00},\r
49 {0x3002,0xe8},\r
50 {0x3004,0x03},\r
51 {0x3005,0xff},\r
52 {0x3703,0x42},\r
53 {0x3704,0x10},\r
54 {0x3705,0x45},\r
55 {0x3603,0xaa},\r
56 {0x3632,0x27},\r
57 {0x3620,0x66},\r
58 {0x3621,0xc0},\r
59 {0x0202,0x03},\r
60 {0x0203,0x43},\r
61 {0x3833,0x04},\r
62 {0x3835,0x02},\r
63 {0x4702,0x04},\r
64 {0x4704,0x00},\r
65 {0x4706,0x08},\r
66 {0x3819,0x6e},\r
67 {0x3817,0x94},\r
68 {0x3a18,0x00},\r
69 {0x3a19,0x7f},\r
70 {0x5003,0xa7},\r
71 {0x3631,0x5e},\r
72 {0x3633,0x50},\r
73 {0x3630,0xd2},\r
74 {0x3604,0x0c},\r
75 {0x3601,0x40},\r
76 {0x3602,0x16},\r
77 {0x3610,0xa1},\r
78 {0x3612,0x24},\r
79 {0x034a,0x02},\r
80 {0x034b,0xd3},\r
81 {0x034c,0x02},\r
82 {0x034d,0x80},\r
83 {0x034e,0x01},\r
84 {0x034f,0x68},\r
85 {0x0202,0x01},\r
86 {0x0203,0x9e},\r
87 {0x381a,0x44},\r
88 {0x3707,0x14},\r
89 {0x3622,0x9f},\r
90 {0x5841,0x04},\r
91 {0x4002,0x45},\r
92 {0x5000,0x01},\r
93 {0x5001,0x00},\r
94 {0x3406,0x00},\r
95 {0x5000,0xff},\r
96 {0x5001,0xef},\r
97 {0x5003,0xff},\r
98 {0x4005,0x18},\r
99 {0x3503,0x10},\r
100 {0x3a11,0xa0},\r
101 {0x3a1b,0x50},\r
102 {0x3a0f,0x50},\r
103 {0x3a10,0x4c},\r
104 {0x3a1e,0x4c},\r
105 {0x3a1f,0x26},\r
106 {0x3104,0x20},\r
107 {0x0305,0x03},\r
108 {0x0307,0x5f},\r
109 {0x0303,0x01},\r
110 {0x0301,0x0a},\r
111 {0x3010,0x01},\r
112 {0x300c,0x02},\r
113 {0x0340,0x02},\r
114 {0x0341,0x08},\r
115 {0x0342,0x04},\r
116 {0x0343,0xc0},\r
117 {0x0101,0x01},\r
118 {0x3a08,0x01},\r
119 {0x3a09,0x38},\r
120 {0x3a0e,0x01},\r
121 {0x3a14,0x09},\r
122 {0x3a15,0xc0},\r
123 {0x3a0a,0x01},\r
124 {0x3a0b,0x02},\r
125 {0x3a0d,0x02},\r
126 {0x3a02,0x10},\r
127 {0x3a03,0x30},\r
128 {0x3c0a,0x9c},\r
129 {0x3c0b,0x3f},\r
130 {0x529a,0x1 }, \r
131 {0x529b,0x2 }, \r
132 {0x529c,0x3 }, \r
133 {0x529d,0x5 },  \r
134 {0x529e,0x5 },  \r
135 {0x529f,0x28},   \r
136 {0x52a0,0x32}, \r
137 {0x52a2,0x0 },\r
138 {0x52a3,0x2 },\r
139 {0x52a4,0x0 },\r
140 {0x52a5,0x4 }, \r
141 {0x52a6,0x0 }, \r
142 {0x52a7,0x8 }, \r
143 {0x52a8,0x0 }, \r
144 {0x52a9,0x10},  \r
145 {0x52aa,0x0 }, \r
146 {0x52ab,0x38},  \r
147 {0x52ac,0x0 }, \r
148 {0x52ad,0x3c},  \r
149 {0x52ae,0x0 },  \r
150 {0x52af,0x4c}, \r
151 {0x5842,0x02},\r
152 {0x5843,0x5e},\r
153 {0x5844,0x04},\r
154 {0x5845,0x32},\r
155 {0x5846,0x03},\r
156 {0x5847,0x29},\r
157 {0x5848,0x02},\r
158 {0x5849,0xcc},\r
159 {0x5800,0x22},\r
160 {0x5801,0x1e},\r
161 {0x5802,0x1a},\r
162 {0x5803,0x1a},\r
163 {0x5804,0x1f},\r
164 {0x5805,0x26},\r
165 {0x5806,0xe },\r
166 {0x5807,0x9 },\r
167 {0x5808,0x7 },\r
168 {0x5809,0x8 },\r
169 {0x580a,0xb },\r
170 {0x580b,0x11},\r
171 {0x580c,0x5 },\r
172 {0x580d,0x2 },\r
173 {0x580e,0x0 },\r
174 {0x580f,0x0 },\r
175 {0x5810,0x3 },\r
176 {0x5811,0x7 },\r
177 {0x5812,0x4 },\r
178 {0x5813,0x1 },\r
179 {0x5814,0x0 },\r
180 {0x5815,0x0 },\r
181 {0x5816,0x3 },\r
182 {0x5817,0x7 },\r
183 {0x5818,0xc },\r
184 {0x5819,0x8 },\r
185 {0x581a,0x6 },\r
186 {0x581b,0x6 },\r
187 {0x581c,0x9 },\r
188 {0x581d,0x10},\r
189 {0x581e,0x20},\r
190 {0x581f,0x1b},\r
191 {0x5820,0x17},\r
192 {0x5821,0x18},\r
193 {0x5822,0x1d},\r
194 {0x5823,0x23},\r
195 {0x5824,0x5b},\r
196 {0x5825,0x6e},\r
197 {0x5826,0x6e},\r
198 {0x5827,0x7e},\r
199 {0x5828,0xab},\r
200 {0x5829,0x5e},\r
201 {0x582a,0x8a},\r
202 {0x582b,0x8a},\r
203 {0x582c,0x8a},\r
204 {0x582d,0x9d},\r
205 {0x582e,0x5b},\r
206 {0x582f,0x88},\r
207 {0x5830,0x88},\r
208 {0x5831,0x98},\r
209 {0x5832,0x9a},\r
210 {0x5833,0x4e},\r
211 {0x5834,0x8a},\r
212 {0x5835,0x79},\r
213 {0x5836,0x7a},\r
214 {0x5837,0xad},\r
215 {0x5838,0x9b},\r
216 {0x5839,0x9d},\r
217 {0x583a,0xad},\r
218 {0x583b,0x8e},\r
219 {0x583c,0x5c},\r
220 {0x583e,0x08},\r
221 {0x583f,0x04},\r
222 {0x5840,0x10},\r
223 {0x5480,0x07},   \r
224 {0x5481,0x16},   \r
225 {0x5482,0x2c},   \r
226 {0x5483,0x4d},  \r
227 {0x5484,0x59}, \r
228 {0x5485,0x64},   \r
229 {0x5486,0x6e},  \r
230 {0x5487,0x76},   \r
231 {0x5488,0x7f},   \r
232 {0x5489,0x86},  \r
233 {0x548a,0x94},   \r
234 {0x548b,0xa3}, \r
235 {0x548c,0xba},   \r
236 {0x548d,0xd2},   \r
237 {0x548e,0xe9},   \r
238 {0x548f,0x1e},\r
239 {0x5490,0x0f},\r
240 {0x5491,0xff},\r
241 {0x5492,0x0e},\r
242 {0x5493,0x34},\r
243 {0x5494,0x07},\r
244 {0x5495,0x1a},\r
245 {0x5496,0x04},\r
246 {0x5497,0x0e},\r
247 {0x5498,0x03},\r
248 {0x5499,0x82},\r
249 {0x549a,0x03},\r
250 {0x549b,0x20},\r
251 {0x549c,0x02}, \r
252 {0x549d,0xd7},\r
253 {0x549e,0x02},\r
254 {0x549f,0xa5},\r
255 {0x54a0,0x02},\r
256 {0x54a1,0x75},\r
257 {0x54a2,0x02},\r
258 {0x54a3,0x55},\r
259 {0x54a4,0x02},\r
260 {0x54a5,0x1c},\r
261 {0x54a6,0x01},\r
262 {0x54a7,0xea},\r
263 {0x54a8,0x01},\r
264 {0x54a9,0xae},\r
265 {0x54aa,0x01},\r
266 {0x54ab,0x7c},\r
267 {0x54ac,0x01},\r
268 {0x54ad,0x57},\r
269 {0x5180,0xf0},\r
270 {0x5181,0x00},\r
271 {0x5182,0x41},\r
272 {0x5183,0x42},\r
273 {0x5184,0x8f},\r
274 {0x5185,0x63},\r
275 {0x5186,0xce},\r
276 {0x5187,0xa8},\r
277 {0x5188,0x17},\r
278 {0x5189,0x1f},\r
279 {0x518a,0x27},\r
280 {0x518b,0x41},\r
281 {0x518c,0x34},\r
282 {0x518d,0xf0},\r
283 {0x518e,0x10},\r
284 {0x518f,0xff},\r
285 {0x5190,0x00},\r
286 {0x5191,0xff},\r
287 {0x5192,0x00},\r
288 {0x5193,0xff},\r
289 {0x5194,0x00},\r
290 {0x5380,0x1 },\r
291 {0x5381,0x0 },\r
292 {0x5382,0x0 },\r
293 {0x5383,0x17},\r
294 {0x5384,0x0 },\r
295 {0x5385,0x1 },\r
296 {0x5386,0x0 }, \r
297 {0x5387,0x0 }, \r
298 {0x5388,0x0 },  \r
299 {0x5389,0xad}, \r
300 {0x538a,0x0 },\r
301 {0x538b,0x11}, \r
302 {0x538c,0x0 },\r
303 {0x538d,0x0 },\r
304 {0x538e,0x0 },\r
305 {0x538f,0x7 },\r
306 {0x5390,0x0 }, \r
307 {0x5391,0x80}, \r
308 {0x5392,0x0 },\r
309 {0x5393,0xa0}, \r
310 {0x5394,0x18}, \r
311 {0x3c0a,0x9c},\r
312 {0x3c0b,0x3f},\r
313 {0x5501,0x14},\r
314 {0x5502,0x00}, \r
315 {0x5503,0x40},\r
316 {0x5504,0x00},\r
317 {0x5505,0x80},\r
318 {0x0100,0x01},\r
319 {0xFF, 0xFF}\r
320 };\r
321 \r
322 \r
323 \r
324 const struct ov_reg ov9740_yuv_sxga[]= {\r
325 //@@ WXGA 1280x720 YUV DVP 15FPS for card reader\r
326 {0x0103, 0x01},\r
327 {0x3026, 0x00},\r
328 {0x3027, 0x00},\r
329 {0x3002, 0xe8},\r
330 {0x3004, 0x03},\r
331 {0x3005, 0xff},\r
332 {0x3406, 0x00},\r
333 {0x3603, 0xaa},\r
334 {0x3632, 0x27},\r
335 {0x3620, 0x66},\r
336 {0x3621, 0xc0},\r
337 {0x3631, 0x5e},\r
338 {0x3633, 0x50},\r
339 {0x3630, 0xd2},\r
340 {0x3604, 0x0c},\r
341 {0x3601, 0x40},\r
342 {0x3602, 0x16},\r
343 {0x3610, 0xa1},\r
344 {0x3612, 0x24},\r
345 {0x3622, 0x9f},\r
346 {0x3703, 0x42},\r
347 {0x3704, 0x10},\r
348 {0x3705, 0x45},\r
349 {0x3707, 0x14},\r
350 {0x3833, 0x04},\r
351 {0x3835, 0x03},\r
352 {0x3819, 0x6e},\r
353 {0x3817, 0x94},\r
354 {0x3503, 0x10},\r
355 {0x3a18, 0x00},\r
356 {0x3a19, 0x7f},\r
357 {0x3a11, 0xa0},\r
358 {0x3a1a, 0x05},\r
359 {0x3a1b, 0x50},\r
360 {0x3a0f, 0x50},\r
361 {0x3a10, 0x4c},\r
362 {0x3a1e, 0x4c},\r
363 {0x3a1f, 0x26},\r
364 {0x4002, 0x45},\r
365 {0x4005, 0x18},\r
366 {0x4702, 0x04},\r
367 {0x4704, 0x00},\r
368 {0x4706, 0x08},\r
369 {0x5000, 0xff},\r
370 {0x5001, 0xef},\r
371 {0x5003, 0xff},\r
372 \r
373 {0x3104,0x20},\r
374 {0x0305,0x03},\r
375 {0x0307,0x4c},\r
376 {0x0303,0x01},\r
377 {0x0301,0x08},\r
378 {0x3010,0x01},\r
379 {0x300c,0x03},\r
380 \r
381 {0x0340, 0x03},\r
382 {0x0341, 0x07},\r
383 {0x0342, 0x06},\r
384 {0x0343, 0x62},\r
385 {0x034b, 0xd1},\r
386 {0x034c, 0x05},\r
387 {0x034d, 0x00},\r
388 {0x034e, 0x02},\r
389 {0x034f, 0xd0},\r
390 {0x0101, 0x01},\r
391 {0x3a08, 0x00},\r
392 {0x3a09, 0xe8},\r
393 {0x3a0e, 0x03},\r
394 {0x3a14, 0x15},\r
395 {0x3a15, 0xc6},\r
396 {0x3a0a, 0x00},\r
397 {0x3a0b, 0xc0},\r
398 {0x3a0d, 0x04},\r
399 {0x3a02, 0x18},\r
400 {0x3a03, 0x20},\r
401 {0x3c0a, 0x9c},\r
402 {0x3c0b, 0x3f},\r
403 {0x529a, 0x1 },\r
404 {0x529b, 0x2 },\r
405 {0x529c, 0x3 },\r
406 {0x529d, 0x5 },\r
407 {0x529e, 0x5 },\r
408 {0x529f, 0x28},\r
409 {0x52a0, 0x32},\r
410 {0x52a2, 0x0 },\r
411 {0x52a3, 0x2 },\r
412 {0x52a4, 0x0 },\r
413 {0x52a5, 0x4 },\r
414 {0x52a6, 0x0 },\r
415 {0x52a7, 0x8 },\r
416 {0x52a8, 0x0 },\r
417 {0x52a9, 0x10},\r
418 {0x52aa, 0x0 },\r
419 {0x52ab, 0x38},\r
420 {0x52ac, 0x0 },\r
421 {0x52ad, 0x3c},\r
422 {0x52ae, 0x0 },\r
423 {0x52af, 0x4c},\r
424 {0x5842, 0x02},\r
425 {0x5843, 0x5e},\r
426 {0x5844, 0x04},\r
427 {0x5845, 0x32},\r
428 {0x5846, 0x03},\r
429 {0x5847, 0x29},\r
430 {0x5848, 0x02},\r
431 {0x5849, 0xcc},\r
432 {0x5800, 0x22},\r
433 {0x5801, 0x1e},\r
434 {0x5802, 0x1a},\r
435 {0x5803, 0x1a},\r
436 {0x5804, 0x1f},\r
437 {0x5805, 0x26},\r
438 {0x5806, 0xe },\r
439 {0x5807, 0x9 },\r
440 {0x5808, 0x7 },\r
441 {0x5809, 0x8 },\r
442 {0x580a, 0xb },\r
443 {0x580b, 0x11},\r
444 {0x580c, 0x5 },\r
445 {0x580d, 0x2 },\r
446 {0x580e, 0x0 },\r
447 {0x580f, 0x0 },\r
448 {0x5810, 0x3 },\r
449 {0x5811, 0x7 },\r
450 {0x5812, 0x4 },\r
451 {0x5813, 0x1 },\r
452 {0x5814, 0x0 },\r
453 {0x5815, 0x0 },\r
454 {0x5816, 0x3 },\r
455 {0x5817, 0x7 },\r
456 {0x5818, 0xc },\r
457 {0x5819, 0x8 },\r
458 {0x581a, 0x6 },\r
459 {0x581b, 0x6 },\r
460 {0x581c, 0x9 },\r
461 {0x581d, 0x10},\r
462 {0x581e, 0x20},\r
463 {0x581f, 0x1b},\r
464 {0x5820, 0x17},\r
465 {0x5821, 0x18},\r
466 {0x5822, 0x1d},\r
467 {0x5823, 0x23},\r
468 {0x5824, 0x5b},\r
469 {0x5825, 0x6e},\r
470 {0x5826, 0x6e},\r
471 {0x5827, 0x7e},\r
472 {0x5828, 0xab},\r
473 {0x5829, 0x5e},\r
474 {0x582a, 0x8a},\r
475 {0x582b, 0x8a},\r
476 {0x582c, 0x8a},\r
477 {0x582d, 0x9d},\r
478 {0x582e, 0x5b},\r
479 {0x582f, 0x88},\r
480 {0x5830, 0x88},\r
481 {0x5831, 0x98},\r
482 {0x5832, 0x9a},\r
483 {0x5833, 0x4e},\r
484 {0x5834, 0x8a},\r
485 {0x5835, 0x79},\r
486 {0x5836, 0x7a},\r
487 {0x5837, 0xad},\r
488 {0x5838, 0x9b},\r
489 {0x5839, 0x9d},\r
490 {0x583a, 0xad},\r
491 {0x583b, 0x8e},\r
492 {0x583c, 0x5c},\r
493 {0x583e, 0x08},\r
494 {0x583f, 0x04},\r
495 {0x5840, 0x10},\r
496 {0x5480, 0x07},\r
497 {0x5481, 0x16},\r
498 {0x5482, 0x2c},\r
499 {0x5483, 0x4d},\r
500 {0x5484, 0x59},\r
501 {0x5485, 0x64},\r
502 {0x5486, 0x6e},\r
503 {0x5487, 0x76},\r
504 {0x5488, 0x7f},\r
505 {0x5489, 0x86},\r
506 {0x548a, 0x94},\r
507 {0x548b, 0xa3},\r
508 {0x548c, 0xba},\r
509 {0x548d, 0xd2},\r
510 {0x548e, 0xe9},\r
511 {0x548f, 0x1e},\r
512 {0x5490, 0x0f},\r
513 {0x5491, 0xff},\r
514 {0x5492, 0x0e},\r
515 {0x5493, 0x34},\r
516 {0x5494, 0x07},\r
517 {0x5495, 0x1a},\r
518 {0x5496, 0x04},\r
519 {0x5497, 0x0e},\r
520 {0x5498, 0x03},\r
521 {0x5499, 0x82},\r
522 {0x549a, 0x03},\r
523 {0x549b, 0x20},\r
524 {0x549c, 0x02},\r
525 {0x549d, 0xd7},\r
526 {0x549e, 0x02},\r
527 {0x549f, 0xa5},\r
528 {0x54a0, 0x02},\r
529 {0x54a1, 0x75},\r
530 {0x54a2, 0x02},\r
531 {0x54a3, 0x55},\r
532 {0x54a4, 0x02},\r
533 {0x54a5, 0x1c},\r
534 {0x54a6, 0x01},\r
535 {0x54a7, 0xea},\r
536 {0x54a8, 0x01},\r
537 {0x54a9, 0xae},\r
538 {0x54aa, 0x01},\r
539 {0x54ab, 0x7c},\r
540 {0x54ac, 0x01},\r
541 {0x54ad, 0x57},\r
542 {0x5180, 0xf0},\r
543 {0x5181, 0x00},\r
544 {0x5182, 0x41},\r
545 {0x5183, 0x42},\r
546 {0x5184, 0x8f},\r
547 {0x5185, 0x63},\r
548 {0x5186, 0xce},\r
549 {0x5187, 0xa8},\r
550 {0x5188, 0x17},\r
551 {0x5189, 0x1f},\r
552 {0x518a, 0x27},\r
553 {0x518b, 0x41},\r
554 {0x518c, 0x34},\r
555 {0x518d, 0xf0},\r
556 {0x518e, 0x10},\r
557 {0x518f, 0xff},\r
558 {0x5190, 0x00},\r
559 {0x5191, 0xff},\r
560 {0x5192, 0x00},\r
561 {0x5193, 0xff},\r
562 {0x5194, 0x00},\r
563 {0x5380, 0x1 },\r
564 {0x5381, 0x0 },\r
565 {0x5382, 0x0 },\r
566 {0x5383, 0x17},\r
567 {0x5384, 0x0 },\r
568 {0x5385, 0x1 },\r
569 {0x5386, 0x0 },\r
570 {0x5387, 0x0 },\r
571 {0x5388, 0x0 },\r
572 {0x5389, 0xad},\r
573 {0x538a, 0x0 },\r
574 {0x538b, 0x11},\r
575 {0x538c, 0x0 },\r
576 {0x538d, 0x0 },\r
577 {0x538e, 0x0 },\r
578 {0x538f, 0x7 },\r
579 {0x5390, 0x0 },\r
580 {0x5391, 0x80},\r
581 {0x5392, 0x0 },\r
582 {0x5393, 0xa0},\r
583 {0x5394, 0x18},\r
584 {0x3c0a, 0x9c},\r
585 {0x3c0b, 0x3f},\r
586 {0x5501, 0x14},\r
587 {0x5502, 0x00},\r
588 {0x5503, 0x40},\r
589 {0x5504, 0x00},\r
590 {0x5505, 0x80},\r
591 {0x5308, 0x40},\r
592 {0x5309, 0x60},\r
593 {0x3a11, 0xd0},\r
594 {0x3a1b, 0x78},\r
595 {0x3a0f, 0x78},\r
596 {0x3a10, 0x68},\r
597 {0x3a1e, 0x68},\r
598 {0x3a1f, 0x40},\r
599 {0x0100, 0x01},\r
600 {0xFF, 0xFF}\r
601 };\r
602 \r