[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/service/config/kal_user_mem.h b/mcu/interface/service/config/kal_user_mem.h
new file mode 100644
index 0000000..c57f829
--- /dev/null
+++ b/mcu/interface/service/config/kal_user_mem.h
@@ -0,0 +1,686 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2005
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * kal_user_mem.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ * This file provides the control buffer size and numbers configuration.
+ *
+ * Author:
+ * -------
+ *
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/*********************************************************************
+ (C) _____ (year of first publication) Sasken communication
+ Technologies Limited, All rights reserved.
+* This file provides a template for .c files. This space
+* should be used to describe the file contents
+* Component-specific prefix : xxxx
+*********************************************************************/
+
+#ifndef _KAL_USER_MEM_H
+#define _KAL_USER_MEM_H
+
+#include "kal_general_types.h"
+#include "kal_public_defs.h"
+#include "stack_buff_pool.h"
+
+/**************************Customer config interface Begin********************/
+/*Customer interface I:
+ *
+ * Discription:
+ *
+ * Customer can adjust system memory size here.
+ * This value will be added into total size of system memory.
+ * Define a negative value to shrink(not recommended), positive value to increase.
+ *
+ * Tips:
+ * Customer may increase it if runs out of system memory(E.g
+ * Third party application use heavily KAL API like evshed_create, kal_create_sem,
+ * kal_create_eventgroup that consume system memory more than predefined value).
+ * Customer may also shrink this if want to save some RAM size. However, this
+ * is not recommended.
+ *
+ * See also:
+ * tools\sys_mem_gen.pl
+ *
+ *
+ * Build command :
+ * make c,r custom
+ *
+ *Build command on Modis:
+ * make clean_modis custom
+ * && make remake_modis custom
+ */
+#define CUSTOM_CFG_GLOBAL_MEM_SIZE_IN_BYTES 0
+
+/*Customer interface II:
+ *
+ * Discription:
+ * Customer can adjust event pool number for event scheduler
+ * This value is the actual event pool number
+ *
+ * Tips:
+ * It's rare for customer to adjust this value. However, in case
+ * of runs out of event when using event scheduler, this is the
+ * place for customer to adjust the event number. It's not recommended
+ * to shrink this value.
+ *
+ * Build command:
+ * make sysgen && make c,r config custom
+ *
+ * Build command on Modis:
+ * make sys_mem_gen_modis && make clean_modis config custom
+ * && make remake_modis config custom
+ * */
+
+/*Gen97 originally 120, because IMS feature move to MD from AP, need another 400 for ims_stack task, so become 520*/
+/*ism feature owner York.Li, Nick Wang, Mika Leinonen*/
+#if defined(__CS_SERVICE__) && defined(__PS_SERVICE__)
+#define KAL_MIN_EVSHED_BUFF_NUM 520
+#elif defined(__CS_SERVICE__)
+#define KAL_MIN_EVSHED_BUFF_NUM 40
+#else
+#define KAL_MIN_EVSHED_BUFF_NUM 40
+#endif /* defined(__CS_SERVICE__) && defined(__PS_SERVICE__) */
+
+/*Customer interface III:
+ *
+ * Discription:
+ * Customer can adjust control buffer size here.
+ * This value will be added into total number of control buffer.
+ * Define a negative value to decrease (not recommended ), positive
+ * value to increase.
+ *
+ * Tips:
+ * The control buffer number is well-tuned. It's not recommended to
+ * shrink this value.
+ *
+ * Build command:
+ * make sysgen && make c,r config custom
+ *
+ * Build command on Modis:
+ * make sys_mem_gen_modis && make clean_modis config custom
+ * && make remake_modis config custom
+ *
+ * */
+typedef enum {
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE32 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE64 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE128 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE256 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE512 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE1024 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE2048 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE4096 = 0,
+#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE8192 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE16384 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE32768 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE65536 = 0,
+ NUM_CUSTOM_CTRL_BUFF_POOL_SIZE100000 = 0,
+#endif
+} custom_ctrl_num_buff_pool_size;
+/**************************Customer config interface END**********************/
+
+
+/*
+ * NOTICE: The following are pre-defined configration. Cutomer should not
+ * modify here.
+ *
+ * */
+
+
+/*************************KAL private memory config stuff*******************/
+#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
+#define RPS_CREATED_CTRL_BUFF_POOLS 13
+#else /* __UMTS_RAT__ || __LTE_RAT__ */
+#define RPS_CREATED_CTRL_BUFF_POOLS 8
+#endif /* __UMTS_RAT__ || __LTE_RAT__ */
+
+/* Buffer thresholds expressed in percentage */
+#define FLC_CTRL_BUFF_UPPER_THRSHLD1 (90)
+#define FLC_CTRL_BUFF_UPPER_THRSHLD2 (95)
+
+/*************************************************************************
+ * Type Definitions
+ *************************************************************************/
+/* For performance reason, general buffer pool is allocated for 2^n size */
+typedef enum {
+ CTRL_BUFF_POOL_SIZE32 = 32,
+ CTRL_BUFF_POOL_SIZE64 = 64,
+ CTRL_BUFF_POOL_SIZE128 = 128,
+ CTRL_BUFF_POOL_SIZE256 = 256,
+ CTRL_BUFF_POOL_SIZE512 = 512,
+ CTRL_BUFF_POOL_SIZE1024 = 1024,
+ CTRL_BUFF_POOL_SIZE2048 = 2048,
+ CTRL_BUFF_POOL_SIZE4096 = 4096,
+#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
+ CTRL_BUFF_POOL_SIZE8192 = 8192,
+ CTRL_BUFF_POOL_SIZE16384 = 16384,
+ CTRL_BUFF_POOL_SIZE32768 = 32768,
+ CTRL_BUFF_POOL_SIZE65536 = 65536,
+ CTRL_BUFF_POOL_SIZE100000 = 100000,
+ CTRL_BUFF_POOL_MAX_BUFF_SIZE = CTRL_BUFF_POOL_SIZE100000
+#else /* __UMTS_RAT__ || __LTE_RAT__ */
+ CTRL_BUFF_POOL_MAX_BUFF_SIZE = CTRL_BUFF_POOL_SIZE4096
+#endif /* __UMTS_RAT__ || __LTE_RAT__ */
+} ctrl_buff_pool_size;
+
+
+#if defined(_SIMULATION) && !defined(__MASE__)
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 20,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 10,
+#if defined(__ESL_COSIM_LTE__)
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 40, //+32
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 19, //+16
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 10, //+8
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 6, //+4
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 3, //+2
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 2, //+1
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 1 //+1
+#else
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 8,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 3,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 2,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 2,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 1,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 1,
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#endif
+} ctrl_num_buff_pool_size;
+#elif defined(__KTEST__) && !defined(KTEST_STATIC_TEST)
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 20,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 8,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5
+} ctrl_num_buff_pool_size;
+#elif defined(__GEMINI_WCDMA__)
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 930,
+#if (defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))
+ NUM_CTRL_BUFF_POOL_SIZE64 = 600,
+#else /*(defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))*/
+ NUM_CTRL_BUFF_POOL_SIZE64 = 460,
+#endif /*(defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))*/
+ NUM_CTRL_BUFF_POOL_SIZE128 = 440,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 350,
+#if (defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))
+ NUM_CTRL_BUFF_POOL_SIZE512 = 110,
+#else /*(defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))*/
+ NUM_CTRL_BUFF_POOL_SIZE512 = 100,
+#endif /*(defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))*/
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 65,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 50,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 40,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 16,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 11,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 11,
+#if (GEMINI_PLUS >= 3)
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 7,
+#else
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 10,
+#endif
+#if defined(__MTK_TARGET__)
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#else
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5
+#endif
+} ctrl_num_buff_pool_size;
+#elif defined(__LTE_RAT__) && defined(__UMTS_RAT__)
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 930,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 450,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 300,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 350,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 85,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 65,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 50,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 15,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 13,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 6,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
+#if defined(__MTK_TARGET__)
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#else
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5
+#endif
+} ctrl_num_buff_pool_size;
+#elif defined(__LTE_RAT__)
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 635,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 290,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 120,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 160,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 36,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 40,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 50,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 7,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
+#if defined(__MTK_TARGET__)
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#else
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5 // for MoDIS Only - 3G ASN.1 CODEC usage
+#endif
+} ctrl_num_buff_pool_size;
+
+#elif defined(__UMTS_RAT__)
+
+#if defined(__UMTS_TDD128_MODE__)
+#if defined(__UMTS_R5__) /* __UMTS_R5__ */
+#if defined(__GEMINI__)
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 565,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 281,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 197,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 159,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 98,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 40,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 25,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 16,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 11,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 9,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
+#if defined(__MTK_TARGET__)
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#else
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5
+#endif
+} ctrl_num_buff_pool_size;
+#else
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 448,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 277,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 197,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 159,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 98,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 38,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 22,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 16,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 11,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 9,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
+#if defined(__MTK_TARGET__)
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#else
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5
+#endif
+} ctrl_num_buff_pool_size;
+#endif
+#endif /* __UMTS_R5__ */
+#else /* __UMTS_TDD128_MODE__ */
+#if defined(__UMTS_R7__) /*__UMTS_R7__*/
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 920,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 390,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 230,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 170,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 85,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 55,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 30,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 15,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 12,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 6,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
+#if defined(__MTK_TARGET__)
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#else
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5
+#endif
+} ctrl_num_buff_pool_size;
+#elif defined(__UMTS_R5__) /* __UMTS_R5__ */
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 831,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 285,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 218,
+#if defined(__GEMINI__)
+ NUM_CTRL_BUFF_POOL_SIZE256 = 185,
+#else
+ NUM_CTRL_BUFF_POOL_SIZE256 = 155,
+#endif /* __GEMINI__ */
+ NUM_CTRL_BUFF_POOL_SIZE512 = 75,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 43,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 26,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 15,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 12,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
+#if defined(__MTK_TARGET__)
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#else
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5
+#endif
+} ctrl_num_buff_pool_size;
+#else /* __UMTS_R5__ */
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 763,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 339,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 198,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 145,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 60,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 52,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 22,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 15,
+ NUM_CTRL_BUFF_POOL_SIZE8192 = 15,
+ NUM_CTRL_BUFF_POOL_SIZE16384 = 6,
+ NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
+#if defined(__MTK_TARGET__)
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 0
+#else
+ NUM_CTRL_BUFF_POOL_SIZE100000 = 5
+#endif
+} ctrl_num_buff_pool_size;
+#endif /* __UMTS_R5__ */
+#endif /* __UMTS_TDD128_MODE__ */
+
+#elif defined(__CS_SERVICE__) && defined(__PS_SERVICE__) /* __UMTS_RAT__ */
+
+/* GPRS Class B Solution */
+#if (GEMINI_PLUS > 2)
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 280,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 76,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 61,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 46,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 41,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 16,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 15,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 1
+} ctrl_num_buff_pool_size;
+#elif defined(__GEMINI__)
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 265,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 76,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 45,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 44,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 21,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 16,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 11,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 5
+} ctrl_num_buff_pool_size;
+#else /* defined(__GEMINI__) */
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 149,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 72,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 45,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 44,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 21,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 16,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 8,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 1
+} ctrl_num_buff_pool_size;
+#endif /* defined(__GEMINI__) */
+
+#elif defined(__CS_SERVICE__) /* __UMTS_RAT__ */
+
+#if defined(IC_BURNIN_TEST)
+
+/* Reduce the No. of buffer to reduce memory consumption. */
+
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 10,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 2,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 5,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 3,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 1
+} ctrl_num_buff_pool_size;
+
+#else /* LOW_COST_SUPPORT (default configuration for BASIC, UDVT load) */
+
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 63,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 20,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 30,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 17,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 8,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 8,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 4,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 0
+} ctrl_num_buff_pool_size;
+
+#endif /* LOW_COST_SUPPORT */
+
+#else
+
+typedef enum {
+ NUM_CTRL_BUFF_POOL_SIZE32 = 63,
+ NUM_CTRL_BUFF_POOL_SIZE64 = 20,
+ NUM_CTRL_BUFF_POOL_SIZE128 = 30,
+ NUM_CTRL_BUFF_POOL_SIZE256 = 17,
+ NUM_CTRL_BUFF_POOL_SIZE512 = 8,
+ NUM_CTRL_BUFF_POOL_SIZE1024 = 8,
+ NUM_CTRL_BUFF_POOL_SIZE2048 = 4,
+ NUM_CTRL_BUFF_POOL_SIZE4096 = 0
+} ctrl_num_buff_pool_size;
+
+#endif /* __UMTS_RAT__ */
+
+/*************************************************************************
+ * Exported Global Variables
+ *************************************************************************/
+extern buff_pool_info_struct ctrl_buff_pool_info_g[RPS_CREATED_CTRL_BUFF_POOLS];
+
+/*************************************************************************
+ * Exported Function Prototypes
+ *************************************************************************/
+extern void config_ctrl_buff_info(void);
+#endif /*_KAL_USER_MEM_H*/