blob: 5edeeec48601cca5470b372181e45e4be7f11ba1 [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) 2012
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 * Filename:
38 * ---------
39 * ccci_ims_if.h
40 *
41 * Project:
42 * --------
43 * MOLY
44 *
45 * Description:
46 * ------------
47 * CCCI_IMS header file
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ==========================================================================
54 * $Log$
55 *
56 * 03 23 2016 cs.huang
57 * [MOLY00169828] [IMS] EM CCCI Channel
58 * [CCCI IMS] Add IMS EM feature
59 *
60 * 03 23 2016 cs.huang
61 * [MOLY00169828] [IMS] EM CCCI Channel
62 * [CCCI IMS] Add IMS EM feature
63 *
64 * 03 23 2016 cs.huang
65 * [MOLY00169828] [IMS] EM CCCI Channel
66 * [CCCI IMS] Add IMS EM feature
67 *
68 * 12 22 2014 hsin-jun.tang
69 * [MOLY00088229] [CCCI IMS] Add latency measurement feature
70 * .
71 *
72 * 12 19 2014 hsin-jun.tang
73 * [MOLY00088228] [CCCI IMS] Add latency measurement feature
74 * [CCCI IMS] Add latency measurement feature
75 *
76 * 05 30 2013 ap.wang
77 * [MOLY00024263] [CCCI IMS] Add CCCI IMS Data Control channel
78 * [CCCI_IMS] Add IMS_DCTRL channel
79 *
80 * 01 17 2013 ian.cheng
81 * [MOLY00008993] [CCCI_SRV] CCCI_IMS 1st version
82 * [CCCI] CCCI_IMS 1st verison loopback support
83 ****************************************************************************/
84#ifndef _CCCI_IMS_IF_H
85#define _CCCI_IMS_IF_H
86#define CCCI_IMS_LATENCY_MEASUREMENT
87#include "kal_public_api.h"
88#include "ccci_if.h"
89
90typedef enum
91{
92 CCCI_IMS_CTRL = 0x00,
93 CCCI_IMS_VIDEO = 0x01,
94 CCCI_IMS_AUD = 0x02,
95 CCCI_IMS_DCTRL = 0x03,
96 CCCI_IMS_EM = 0x04,
97 CCCI_IMS_CH_MAX = 0x05,
98 CCCI_IMS_DEC_NUM = CCCI_IMS_CH_MAX
99} CCCI_IMS_CH_E;
100
101typedef void (* CCCI_IMSCALLBACK )(kal_uint8 ims_ch, ccci_io_request_t *p_ior);
102kal_bool ccci_ims_svc_init (void);
103kal_bool ccci_ims_dl_req (kal_uint32 ims_ch, ccci_io_request_t *p_ior);
104kal_bool ccci_ims_ulcb_reg (kal_uint8 ims_ch, CCCI_IMSCALLBACK ulcb_funp);
105
106typedef struct
107{
108 // IMS to CLDMA
109 kal_uint32 ccci_ims_mdims_to_hif_start;
110 kal_uint32 ccci_ims_mdims_to_hif_end;
111 kal_uint32 ccci_ims_mdims_to_hif_diff;
112 kal_uint32 ccci_ims_mdims_to_hif_count;
113
114 // CLDMA to IMS
115 kal_uint32 ccci_ims_hif_to_mdims_start;
116 kal_uint32 ccci_ims_hif_to_mdims_end;
117 kal_uint32 ccci_ims_hif_to_mdims_diff;
118 kal_uint32 ccci_ims_hif_to_mdims_count;
119 //
120 kal_uint32 ccci_ims_hif_task_interval;
121} ccci_ims_latency_t;
122
123#endif // _CCCI_IMS_IF_H