blob: 6b4c4f7df40bed72cedd68ab2114fbc0ac4ed533 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * uart_sw.h
41 *
42 * Project:
43 * --------
44 * Maui_Software
45 *
46 * Description:
47 * ------------
48 * This file is intends for UART driver.
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 *
66 * removed!
67 * removed!
68 * removed!
69 *
70 * removed!
71 * removed!
72 * removed!
73 *
74 * removed!
75 * removed!
76 * removed!
77 *
78 * removed!
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 * removed!
85 *
86 * removed!
87 * removed!
88 * removed!
89 *
90 * removed!
91 * removed!
92 * removed!
93 *
94 * removed!
95 * removed!
96 * removed!
97 *
98 * removed!
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 * removed!
105 *
106 * removed!
107 * removed!
108 * removed!
109 *
110 * removed!
111 * removed!
112 * removed!
113 *
114 * removed!
115 * removed!
116 * removed!
117 *
118 * removed!
119 * removed!
120 * removed!
121 *
122 * removed!
123 * removed!
124 * removed!
125 *
126 * removed!
127 * removed!
128 * removed!
129 *
130 * removed!
131 * removed!
132 * removed!
133 *
134 * removed!
135 * removed!
136 * removed!
137 *
138 * removed!
139 * removed!
140 * removed!
141 *
142 * removed!
143 * removed!
144 * removed!
145 * removed!
146 * removed!
147 * removed!
148 *
149 * removed!
150 * removed!
151 * removed!
152 *
153 * removed!
154 * removed!
155 * removed!
156 *
157 * removed!
158 * removed!
159 * removed!
160 *
161 * removed!
162 * removed!
163 * removed!
164 *
165 * removed!
166 * removed!
167 * removed!
168 *
169 * removed!
170 * removed!
171 * removed!
172 *
173 * removed!
174 * removed!
175 * removed!
176 *
177 * removed!
178 * removed!
179 * removed!
180 *
181 * removed!
182 * removed!
183 * removed!
184 *
185 * removed!
186 * removed!
187 * removed!
188 *
189 * removed!
190 * removed!
191 * removed!
192 *
193 * removed!
194 * removed!
195 * removed!
196 *
197 * removed!
198 * removed!
199 * removed!
200 *
201 * removed!
202 * removed!
203 * removed!
204 *
205 * removed!
206 * removed!
207 * removed!
208 *
209 * removed!
210 * removed!
211 * removed!
212 *
213 * removed!
214 * removed!
215 * removed!
216 *
217 * removed!
218 * removed!
219 * removed!
220 *
221 * removed!
222 * removed!
223 * removed!
224 *
225 * removed!
226 * removed!
227 * removed!
228 *
229 * removed!
230 * removed!
231 * removed!
232 *
233 * removed!
234 * removed!
235 * removed!
236 *
237 * removed!
238 * removed!
239 * removed!
240 *
241 * removed!
242 * removed!
243 * removed!
244 *
245 * removed!
246 * removed!
247 * removed!
248 *
249 * removed!
250 * removed!
251 * removed!
252 *
253 * removed!
254 * removed!
255 * removed!
256 *
257 * removed!
258 * removed!
259 * removed!
260 *
261 * removed!
262 * removed!
263 * removed!
264 *
265 * removed!
266 * removed!
267 * removed!
268 *
269 * removed!
270 * removed!
271 * removed!
272 *
273 * removed!
274 * removed!
275 * removed!
276 *
277 * removed!
278 * removed!
279 * removed!
280 *
281 * removed!
282 * removed!
283 * removed!
284 *
285 * removed!
286 * removed!
287 * removed!
288 *
289 * removed!
290 * removed!
291 * removed!
292 *
293 * removed!
294 * removed!
295 * removed!
296 *
297 * removed!
298 * removed!
299 * removed!
300 *
301 * removed!
302 * removed!
303 * removed!
304 *
305 * removed!
306 * removed!
307 * removed!
308 *
309 * removed!
310 * removed!
311 * removed!
312 *
313 * removed!
314 * removed!
315 * removed!
316 *
317 * removed!
318 * removed!
319 * removed!
320 *
321 * removed!
322 * removed!
323 * removed!
324 *
325 * removed!
326 * removed!
327 * removed!
328 *
329 * removed!
330 * removed!
331 * removed!
332 *
333 * removed!
334 * removed!
335 * removed!
336 *
337 * removed!
338 * removed!
339 * removed!
340 *
341 * removed!
342 * removed!
343 * removed!
344 *
345 * removed!
346 * removed!
347 * removed!
348 *
349 * removed!
350 * removed!
351 * removed!
352 *
353 * removed!
354 * removed!
355 * removed!
356 *
357 * removed!
358 * removed!
359 * removed!
360 *
361 * removed!
362 * removed!
363 * removed!
364 *
365 * removed!
366 * removed!
367 * removed!
368 *
369 * removed!
370 * removed!
371 * removed!
372 *
373 * removed!
374 * removed!
375 * removed!
376 *
377 * removed!
378 * removed!
379 * removed!
380 *
381 * removed!
382 * removed!
383 * removed!
384 *
385 * removed!
386 * removed!
387 * removed!
388 *
389 * removed!
390 * removed!
391 * removed!
392 *
393 * removed!
394 * removed!
395 * removed!
396 * removed!
397 * removed!
398 * removed!
399 * removed!
400 * removed!
401 * removed!
402 * removed!
403 * removed!
404 * removed!
405 * removed!
406 * removed!
407 * removed!
408 * removed!
409 * removed!
410 * removed!
411 * removed!
412 * removed!
413 * removed!
414 * removed!
415 * removed!
416 * removed!
417 * removed!
418 * removed!
419 * removed!
420 * removed!
421 * removed!
422 * removed!
423 * removed!
424 * removed!
425 * removed!
426 * removed!
427 * removed!
428 * removed!
429 * removed!
430 * removed!
431 * removed!
432 * removed!
433 * removed!
434 * removed!
435 * removed!
436 * removed!
437 * removed!
438 * removed!
439 * removed!
440 * removed!
441 * removed!
442 * removed!
443 * removed!
444 * removed!
445 * removed!
446 * removed!
447 * removed!
448 * removed!
449 * removed!
450 * removed!
451 * removed!
452 * removed!
453 * removed!
454 * removed!
455 * removed!
456 * removed!
457 * removed!
458 * removed!
459 * removed!
460 * removed!
461 * removed!
462 * removed!
463 * removed!
464 * removed!
465 * removed!
466 * removed!
467 * removed!
468 * removed!
469 * removed!
470 * removed!
471 * removed!
472 * removed!
473 * removed!
474 * removed!
475 * removed!
476 * removed!
477 * removed!
478 * removed!
479 * removed!
480 * removed!
481 * removed!
482 * removed!
483 * removed!
484 * removed!
485 * removed!
486 * removed!
487 * removed!
488 * removed!
489 * removed!
490 * removed!
491 * removed!
492 * removed!
493 * removed!
494 * removed!
495 * removed!
496 * removed!
497 * removed!
498 * removed!
499 * removed!
500 * removed!
501 * removed!
502 * removed!
503 * removed!
504 * removed!
505 * removed!
506 * removed!
507 * removed!
508 * removed!
509 * removed!
510 * removed!
511 * removed!
512 * removed!
513 * removed!
514 * removed!
515 * removed!
516 * removed!
517 * removed!
518 * removed!
519 * removed!
520 * removed!
521 * removed!
522 * removed!
523 * removed!
524 * removed!
525 * removed!
526 * removed!
527 * removed!
528 * removed!
529 * removed!
530 * removed!
531 * removed!
532 * removed!
533 * removed!
534 * removed!
535 * removed!
536 * removed!
537 * removed!
538 * removed!
539 * removed!
540 * removed!
541 * removed!
542 * removed!
543 * removed!
544 * removed!
545 * removed!
546 * removed!
547 * removed!
548 * removed!
549 * removed!
550 * removed!
551 * removed!
552 * removed!
553 * removed!
554 * removed!
555 * removed!
556 * removed!
557 * removed!
558 * removed!
559 * removed!
560 * removed!
561 * removed!
562 * removed!
563 * removed!
564 * removed!
565 * removed!
566 * removed!
567 * removed!
568 * removed!
569 * removed!
570 * removed!
571 * removed!
572 * removed!
573 * removed!
574 * removed!
575 * removed!
576 * removed!
577 * removed!
578 * removed!
579 * removed!
580 * removed!
581 * removed!
582 * removed!
583 *------------------------------------------------------------------------------
584 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
585 *============================================================================
586 ****************************************************************************/
587#ifndef UART_SW_H
588#define UART_SW_H
589
590#include "drv_features.h"
591#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
592#include "bmd.h"
593#include "drv_comm.h"
594#include "dcl.h"
595
596 #include "kal_general_types.h"
597 #include "kal_public_defs.h"
598
599#if 0
600#ifdef __UART3_SUPPORT__
601/* under construction !*/
602/* under construction !*/
603#else /*__UART3_SUPPORT__*/
604/* under construction !*/
605/* under construction !*/
606#endif /*__UART3_SUPPORT__*/
607#endif
608#define MAX_UART_PORT_NUM 2
609#define MAX_UART_TUNNEL_NUM 4
610
611
612typedef enum { //toy add for single tunnel vfifo.
613 uart1_rx_tunnel=0,
614 uart1_tx_tunnel,
615 uart2_rx_tunnel,
616 uart2_tx_tunnel,
617 uart3_rx_tunnel,
618 uart3_tx_tunnel,
619 uart_null_tunnel=99 /* a dummy tunnel for those who doesn't use physical port */
620} UART_TUNNEL;
621
622
623/*UART Customization */
624typedef struct{
625 kal_uint8* rx_adrs;
626 kal_uint8* tx_adrs;
627 kal_uint8* txisr_adrs;
628 kal_uint16 rx_len;
629 kal_uint16 tx_len;
630 kal_uint16 txisr_len;
631 module_type owerid; // only the specified owner can use it
632}UART_ring_buffer_struct;
633
634#if defined(__DMA_UART_VFIFO_SINGLE_TUNNEL__)
635typedef struct { // toy modify for VFIFO single tunnel
636 UART_ring_buffer_struct ring[MAX_UART_PORT_NUM];
637 #ifndef __UART_SUPPORT_6_VFIFO_CHANNEL__
638 UART_TUNNEL not_support_VFIFO_TUNNEL1;
639 UART_TUNNEL not_support_VFIFO_TUNNEL2;
640 #endif
641} UART_rings_struct;
642#else
643typedef struct {
644 UART_ring_buffer_struct ring[MAX_UART_PORT_NUM];
645 kal_uint16 not_support_VFIFO;
646} UART_rings_struct;
647#endif
648
649typedef struct {
650 const UART_rings_struct * (*UART_Get_Data)(void);
651}UART_customize_function_struct;
652
653
654/*UART customize*/
655extern void uart_customize_init(void);
656/*for VFIFO*/
657
658#endif /*UART_SW_H*/
659
660