blob: e95d8e2cc3ec8bf43baa62f44dad35736334334b [file] [log] [blame]
/*****************************************************************************
* 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) 2007
*
* 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).
*
*****************************************************************************/
/****************************************************************************
* PARTS OF THIS FILE ARE AUTOGENERATED
* DO NOT EDIT EXCEPT BETWEEN LINES MARKED !BEGIN MANUAL CODE and !END MANUAL CODE
* Assignment :
* CONFIDENTIAL
* Copyright (c) 2000-2005, UbiNetics Ltd. All rights reserved.
* Cambridge Technology Centre
* Melbourn Royston
* Herts SG8 6DP UK
* Tel: +44 1763 262222
*
****************************************************************************
* !BEGIN MANUAL CODE! (HEADERS)
*
* COMPONENT: (Insert Component Name)
* MODULE: $RCSfile: rsvas_enum.h,v $
* VERSION: $Revision: 1.0 $
* DATED: $Date: 2009/06/12 14:22:29 $
* AUTHOR:
* DESCRIPTION: Check Header for full description
*
****************************************************************************/
/* !END MANUAL CODE! (HEADERS) */
/*****************************************************************************
* 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!
****************************************************************************/
#if !defined(_RSVAS_ENUM_H)
#define _RSVAS_ENUM_H
#include <c2k_rsva_enums.h>
#define RSVAS_GET_BYTE1_FROM_ENUM(x) ((((kal_uint32)(x))>>24) & 0x000000FF)
#define RSVAS_GET_BYTE2_FROM_ENUM(x) ((((kal_uint32)(x))>>16) & 0x000000FF)
#define RSVAS_GET_BYTE3_FROM_ENUM(x) ((((kal_uint32)(x))>> 8) & 0x000000FF)
#define RSVAS_GET_BYTE4_FROM_ENUM(x) (((kal_uint32)(x)) & 0x000000FF)
#define RSVAS_INVALID_SIM_INDEX 0x000000FF
#define RSVAS_INVALID_RAT_INDEX 0x000000FF
/* Dennis Weng 2010/02/26: [SIM_ADD_HERE] if support tri-SIM in the future, just add as following code. */
/* Dennis Weng 2010/02/26: [RAT_ADD_HERE] if support another RAT in the future, just add as following code. */
/* Dennis Weng 2010/03/05: for effective, rsvas_id_enum is designed as a bit structure
1st byte is unique in this enum, start from 0,
2nd byte is SIM index, start from 0, otherwise fill 0xFF.
3rd byte is RAT index, start from 0, otherwise fill 0xFF.
4th byte is FORCE PREEMPT index, start from 0, otherwise fill 0xFF.
FORCE PREEMP index is the index of modules which may send RESOURCE_RES_OCCUPY_REQ with OCCUPY_FORCE_PREEMPT. */
#define RSVAS_GET_SIM_INDEX_FROM_ENUM(x) RSVAS_GET_BYTE2_FROM_ENUM(x)
#define RSVAS_GET_RAT_INDEX_FROM_ENUM(x) RSVAS_GET_BYTE3_FROM_ENUM(x)
/* Dennis Weng 2010/10/15: mapping SIM index and RAT index to rsvas_id_enum
only for AS
PS. cannot not input RSVAS_INVALID_SIM_INDEX or RSVAS_INVALID_RAT_INDEX */
#define RSVAS_GET_RSVAS_ID_ENUM_FROM_INDEX(sim_index, rat_index) ((rsvas_id_enum)(((((((((sim_index)*7)+(rat_index+1)) << 8)+sim_index) << 8) + rat_index) << 8) + 0xFF))
/* Dennis Weng 2010/10/15: shift rsvas_id_enum by SIM index */
#define RSVAS_SHIFT_RSVAS_ID_ENUM(x, sim_index) ((rsvas_id_enum)((x)+(((((sim_index)*7) << 8)+(sim_index)) << 16)))
/* From Gen93, EL2 is devided into 3 task and each task need to send suspend_req individually
In order to send suspend_req in correct sequence, RSVAS ask EL2 to set sending sequence firstly by calling rsvas_update_el2_suspend_sequence
The LSB 2 bit represent first module to send suspend_req, and so on : */
#define el2_first_module(x) ((x) & 0x03)
#define el2_second_module(x) ((x>>2) & 0x03)
#define el2_third_module(x) ((x>>4) & 0x03)
typedef enum
{
RSVAS_MODE_SWITCH_INIT = 0,
RSVAS_MODE_SWITCH_START = 1,
RSVAS_MODE_SWITCH_CNF_SEND = 2,
} rsvas_mode_switch_status;
typedef enum
{
RSVAS_GEMINI_CONFIG_NEEDED = 0,
RSVAS_GEMINI_CONFIG_START = 1,
RSVAS_GEMINI_CONFIG_END = 2,
} rsvas_gemini_config_status;
typedef enum {
RSVAS_SIM_CONNECTED = 0,
RSVAS_SIM_LIMITED_CONNECTED = 1,
RSVAS_SIM_VIRTUAL_CONNECTED = 2,
RSVAS_SIM_IDLE_WITH_SERVICE = 3,
RSVAS_SIM_IDLE = 4,
RSVAS_SIM_VIRTUAL = 5,
RSVAS_SIM_LIMITED_VIRTUAL = 6,
RSVAS_SIM_SUSPENDED = 7,
RSVAS_SIM_STATUS_NUM = 8
} rsvas_sim_status;
typedef enum {
RSVAS_SIM_INVALID_TRANSITION = 0,
RSVAS_SIM_STEADY_CONNECTED = 1,
RSVAS_SIM_CONNECTED2IDLE = 2,
RSVAS_SIM_STEADY_IDLE_WITH_SERVICE = 3,
RSVAS_SIM_STEADY_IDLE = 4,
RSVAS_SIM_IDLE2CONNECTED = 5,
RSVAS_SIM_IDLE2VIRTUAL = 6,
RSVAS_SIM_IDLE2SUSPENDED = 7,
RSVAS_SIM_STEADY_VIRTUAL = 8,
RSVAS_SIM_VIRTUAL2CONNECTED = 9,
RSVAS_SIM_VIRTUAL2SUSPENDED = 10,
RSVAS_SIM_STEADY_SUSPENDED = 11,
RSVAS_SIM_STEADY_VIRTUAL_CONNECTED = 12,
RSVAS_SIM_VIRTUALCONNECTED2CONNECTED = 13,
RSVAS_SIM_CONNECTED2VIRTUALCONNECTED = 14,
RSVAS_SIM_VIRTUALCONNECTED2SUSPENED = 15,
RSVAS_SIM_VIRTUALCONNECTED2VIRTUAL = 16,
RSVAS_SIM_SUSPENDED2CONNECTED = 17,
RSVAS_SIM_SUSPENDED2IDLE = 18,
RSVAS_SIM_VIRTUAL2IDLE = 19,
RSVAS_SIM_SUSPENDED2VIRTUAL = 20,
RSVAS_SIM_STEADY_LIMITED_CONNECTED = 21,
RSVAS_SIM_LIMITEDCONNECTED2CONNECTED = 22,
RSVAS_SIM_CONNECTED2LIMITEDCONNECTED = 23,
RSVAS_SIM_LIMITEDCONNECTED2VIRTUALCONNECTED = 24,
RSVAS_SIM_VIRTUALCONNECTED2LIMITEDCONNECTED = 25,
RSVAS_SIM_LIMITEDCONNECTED2IDLE = 26,
RSVAS_SIM_LIMITEDCONNECTED2SUSPENDED = 27,
RSVAS_SIM_LIMITEDCONNECTED2VIRTUAL = 28,
RSVAS_SIM_LIMITEDCONNECTED2LIMITEDVIRTUAL = 29,
RSVAS_SIM_STEADY_LIMITED_VIRTUAL = 30,
RSVAS_SIM_LIMITEDVIRTUAL2LIMITEDCONNECTED = 31,
RSVAS_SIM_LIMITEDVIRTUAL2CONNECTED = 32,
RSVAS_SIM_LIMITEDVIRTUAL2IDLE = 33,
RSVAS_SIM_LIMITEDVIRTUAL2VIRTUAL = 34,
RSVAS_SIM_LIMITEDVIRTUAL2SUSPENDED = 35,
RSVAS_SIM_CONNECTED2LIMITEDVIRTUAL = 36,
RSVAS_SIM_VIRTUALCONNECTED2LIMITEDVIRTUAL = 37,
RSVAS_SIM_IDLE2LIMITEDVIRTUAL = 38,
RSVAS_SIM_VIRTUAL2LIMITEDVIRTUAL = 39,
RSVAS_SIM_SUSPENDED2LIMITEDVIRTUAL = 40,
RSVAS_SIM_TRANSITION_NUM = 41
} rsvas_sim_transition;
typedef enum
{
RSVAS_REQUEST_SOURCE_RSIM_ACCESS = 0
,RSVAS_REQUEST_SOURCE_SRLTE_ENHANCEMENT = 1
,RSVAS_REQUEST_SOURCE_SRLTE_ENHANCEMENT_TOLERENT = 2
} rsvas_virtual_connect_request_type_enum;
/**
* For GEN97
*/
typedef enum {
RSVAS_CONNECTED_AFTER_VC_RESUME,
RSVAS_SUSPEND_AFTER_VC_RESUME, //for race condition, AS release service before return VC_suspend_cnf
RSVAS_VIRTUAL_IDLE_AFTER_VC_RESUME, //for race condition, AS release service before return VC_suspend_cnf
RSVAS_ABORT_SUSPEND_AFTER_VC_RESUME, //AS release connection in VC
RSVAS_ABORT_VIRTUAL_IDLE_AFTER_VC_RESUME, //AS release connection in VC
RSVAS_ABORT_IDLE_AFTER_VC_RESUME, //AS release connection in VC
} rsvas_virtual_connected_resume_action_enum;
/**
* For DR-DSDS/DSDA
*/
typedef enum {
RSVAS_GEMINI_GAP_ALLOWED = 0
,RSVAS_GEMINI_GAP_NOT_ALLOWED = 1
} rsvas_gemini_gap_status_enum;
#endif /* _RSVAS_ENUM_H */