blob: 3cb0f6ba7984cea946995b01b1ebf5694934f093 [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) 2013
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 * dspfm_public.h
41 *
42 * Project:
43 * --------
44 * Moly
45 *
46 * Description:
47 * ------------
48 * Exported interface of LTE DSP file management
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 *
89 *
90 *------------------------------------------------------------------------------
91 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
92 *============================================================================
93 ****************************************************************************/
94
95#ifndef _DSPFM_PUBLIC_H
96#define _DSPFM_PUBLIC_H
97
98typedef enum{
99 DSPFM_OK = 0,
100 DSPFM_ERR_DSP_REGION_NOT_FOUND = -1,
101 DSPFM_ERR_DSP_FILE_NOT_OPEND = -2,
102 DSPFM_ERR_DSP_EXCEED_FILE_SIZE = -3,
103 DSPFM_ERR_DSP_READ_DATA_FAIL = -4,
104 DSPFM_ERR_DSP_READ_HEAD_DATA_FAIL = -5,
105 DSPFM_ERR_DSP_READ_TAIL_DATA_FAIL = -6,
106 DSPFM_ERR_DSP_GET_START_PAGE_FAIL = -7,
107 DSPFM_ERR_DSP_PTR_NOT_4B_ALIGN = -8,
108 DSPFM_ERR_DSP_OFFSET_NOT_4B_ALIGN = -9,
109 DSPFM_ERR_DSP_FAIL_GET_FILE_SIZE = -10,
110 DSPFM_ERR_DSP_FILE_SEEK_FAIL = -11,
111 DSPFM_ERR_DSP_GFH_READ_FAIL = -12,
112 DSPFM_ERR_DSP_WRONG_GFH_TYPE = -13,
113 DSPFM_ERR_DSP_VERSION_CHECK_FAIL = -14,
114 DSPFM_ERR_DSP_INVALID_GFH = -15,
115 DSPFM_ERR_FILE_SIZE_TOO_LARGE = -16,
116 DSPFM_ERR_DSP_FILE_OPEN_FAIL = -17,
117}dspfm_errot_t;
118
119/*!
120 * @brief Open DSP file
121 * @param none
122 * @return >0 - size of DSP image(not include GFH)
123 * <=0 - error code
124 */
125extern kal_int32 dspfm_open(void);
126
127/*!
128 * @brief Read size of data to ptr from offset
129 * @param ptr - destination addr
130 * offset - data offset
131 * size - data size
132 * @return 0 - success
133 * <0 - error code
134 */
135extern kal_int32 dspfm_read(kal_uint32 ptr, kal_uint32 offset, kal_uint32 size);
136
137/*!
138 * @brief Close DSP file
139 * @param none
140 * @return none
141 */
142extern void dspfm_close(void);
143
144/*!
145 * @brief Get GFH size in DSP image
146 * @param none
147 * @return size of DSP image's GFG
148 */
149extern kal_uint32 dspfm_get_DSP_GFH_length(void);
150
151
152#if defined(__MODEM_ONLY__)
153
154#define LTE_DSP_BIN_BASE 0x08000000
155
156#else /*else of __MODEM_ONLY__*/
157
158extern kal_uint32 Image$$EXTSRAM_DSP_DATA_ZI$$Base;
159#define LTE_DSP_BIN_BASE &Image$$EXTSRAM_DSP_DATA_ZI$$Base
160
161#endif
162
163
164
165#endif /*_DSPFM_PUBLIC_H*/