| /***************************************************************************** |
| * 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) 2018 |
| * |
| * 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: |
| * --------- |
| * l4c_nrrc_struct.h |
| * |
| * Project: |
| * -------- |
| * |
| * |
| * Description: |
| * ------------ |
| * Messages and common definitions for L4C-NRRC interface |
| * |
| * Author: |
| * ------- |
| * ------- |
| * |
| ****************************************************************************/ |
| |
| #ifndef _L4C_NRRC_STRUCT_H_ |
| #define _L4C_NRRC_STRUCT_H_ |
| |
| #include "kal_general_types.h" |
| #include "kal_public_defs.h" |
| #include "ps_public_enum.h" |
| #include "ps_public_struct.h" |
| #include "mcd_l3_inc_struct.h" |
| #include "l3_inc_enums.h" |
| #include "nrrc_nvram_def.h" |
| #include "l4c_common_enum.h" |
| #include "l4c_as_inter_core_def.h" |
| |
| #ifdef __NR_RAT__ |
| #define MAX_CUSTOM_NR_COMB_LIST_MAX_LENGTH NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_WHITE_LIST_MAX_LENGTH |
| #else |
| #define MAX_CUSTOM_NR_COMB_LIST_MAX_LENGTH 2048 |
| #endif |
| |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| |
| kal_int32 ssRssi_in_qdbm; |
| kal_int32 ssRsrp_in_qdbm; |
| kal_int32 ssRsrq_in_qdb; |
| kal_int32 ssSinr_in_qdb; |
| |
| kal_int32 csiRsrp_in_qdbm; |
| kal_int32 csiRsrq_in_qdb; |
| kal_int32 csiSinr_in_qdb; |
| |
| kal_uint16 serv_nr_band; |
| l4c_signal_reporting_type_enum signal_report_type; |
| kal_uint8 thres_cross_signal_type; /* Applicable only if is_thres_cross is TRUE. |
| 1 - ssRSRP, 2 - ssRSRQ, 3 - ssRSRP + ssRSRQ, 4 - ssSINR, 5 - RSRP + ssSINR, 6 - ssRSRQ + ssSINR, 7 - All three*/ |
| kal_int16 ssSrxlev_in_qdb; /* range -32768 ~ 32767, invalid value:0x7fff */ |
| kal_int16 ssSqual_in_qdb; /* range -32768 ~ 32767, invalid value:0x7fff */ |
| } l4c_nrrc_cell_power_level_ind_struct; |
| |
| |
| |
| typedef l4c_4g5g_etws_setting_req_struct l4c_nrrc_etws_setting_req_struct; |
| |
| typedef l4c_4g5g_etws_information_ind_struct l4c_nrrc_etws_information_ind_struct; |
| |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_uint32 rcv_tick; /* The time tick when SIB9 is received by NRRC */ |
| kal_uint64 timeinfo_utc; /* 0~549755813887 */ |
| kal_bool is_day_light_saving_time_valid; |
| kal_uint8 day_light_saving_time; /* 2 bits */ |
| kal_bool is_leap_seconds_valid; |
| kal_int16 leap_seconds; /* -127~128 */ |
| kal_bool is_localtime_offset_valid; |
| kal_int8 localtime_offset; /* -63~64 */ |
| } l4c_nrrc_time_info_ind_struct; |
| |
| |
| typedef struct |
| { |
| kal_bool enable; |
| kal_uint32 t1; // The period to count number of SCG failure event (seconds) |
| kal_uint8 p1; // The specified number of SCG failure event |
| kal_uint32 t2; // Expired time - when to activate SCG after deactivation (seconds) |
| } scg_event_failure_config_struct; |
| |
| typedef struct |
| { |
| kal_bool enable; |
| kal_uint32 t1; // The period to count number of SCG release event (seconds) |
| kal_uint8 p1; // The specified number of SCG release event |
| kal_uint32 t2; // Expired time - when to activate SCG after deactivation (seconds) |
| } scg_event_release_config_struct; |
| |
| typedef union { |
| scg_event_failure_config_struct scg_event_failure_config; |
| scg_event_release_config_struct scg_event_release_config; |
| } scg_event_config_union; |
| |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| kal_bool allow_scg_add; |
| } l4c_nrrc_endc_deactivate_req_struct; |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| scg_event_enum scg_event; |
| scg_event_config_union scg_event_config; |
| } l4c_nrrc_scg_event_config_req_struct; |
| |
| |
| typedef struct { |
| LOCAL_PARA_HDR |
| scg_event_enum scg_event; |
| kal_bool endc_deactivate; |
| kal_bool allow_scg_add; |
| } l4c_nrrc_scg_event_ind_struct; |
| |
| typedef struct{ |
| LOCAL_PARA_HDR |
| set_plmn_freq_operation_enum operation; |
| plmn_id_struct plmn_id; |
| kal_uint8 num_of_freq; |
| NRARFCN freq[MAX_LTE_SET_STORED_NUM]; |
| } l4c_nrrc_set_plmn_stored_freq_req_struct; |
| |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| kal_bool vonr_enabled; |
| } l4c_nrrc_ims_config_req_struct; |
| |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| kal_bool is_voice_over_ims_ongoing; |
| } l4c_nrrc_ims_call_status_req_struct; |
| |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| l4c_source_id_enum src_id; |
| kal_bool is_last; |
| ca_band_comb_list_cmd_type_enum cmd; |
| ca_band_comb_list_type_enum type; |
| kal_char ca_comb_list[MAX_CUSTOM_NR_COMB_LIST_MAX_LENGTH]; |
| } l4c_nrrc_ca_band_comb_list_req_struct; |
| |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| l4c_source_id_enum src_id; |
| ca_band_comb_list_cmd_type_enum cmd; |
| kal_bool result; |
| ca_band_comb_list_type_enum type; |
| kal_char ca_comb_list[MAX_CUSTOM_NR_COMB_LIST_MAX_LENGTH]; |
| } l4c_nrrc_ca_band_comb_list_cnf_struct; |
| |
| typedef enum |
| { |
| NRRC_L4C_CUSTOM_BAR_LIST_ACTION_ADD = 0, |
| NRRC_L4C_CUSTOM_BAR_LIST_ACTION_DELETE, |
| NRRC_L4C_CUSTOM_BAR_LIST_ACTION_QUERY, |
| NRRC_L4C_CUSTOM_BAR_LIST_ACTION_INVALID = 0xff |
| } nrrc_l4c_custom_bar_list_action_enum; |
| |
| typedef enum |
| { |
| NRRC_L4C_CUSTOM_BAR_CAUSE_IDLE_CONNECTED, |
| NRRC_L4C_CUSTOM_BAR_CAUSE_CHECK_NEIGHBOR_SIGNAL |
| } nrrc_l4c_custom_bar_cause_enum; |
| |
| typedef struct |
| { |
| kal_uint32 narfcn; |
| kal_uint16 bar_time; // Unit: sec |
| } nrrc_l4c_bar_freq_info_struct; |
| |
| typedef struct |
| { |
| kal_uint32 narfcn; |
| kal_uint16 pci; |
| kal_uint16 bar_time; // Unit: sec |
| } nrrc_l4c_bar_cell_info_struct; |
| |
| /* MSG_ID_L4C_NRRC_CUSTOM_BAR_LIST_REQ */ |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| nrrc_l4c_custom_bar_list_action_enum action; |
| nrrc_l4c_custom_bar_cause_enum bar_cause; |
| kal_uint8 bar_freq_num; |
| nrrc_l4c_bar_freq_info_struct bar_freq_info[MAX_L4C_CUSTOM_BAR_FREQ_NUM]; |
| kal_uint8 bar_cell_num; |
| nrrc_l4c_bar_cell_info_struct bar_cell_info[MAX_L4C_CUSTOM_BAR_CELL_NUM]; |
| } l4c_nrrc_custom_bar_list_req_struct; |
| |
| /* MSG_ID_L4C_NRRC_CUSTOM_BAR_LIST_CNF */ |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| nrrc_l4c_custom_bar_list_action_enum action; |
| nrrc_l4c_custom_bar_cause_enum bar_cause; |
| kal_uint8 bar_freq_num; |
| nrrc_l4c_bar_freq_info_struct bar_freq_info[MAX_L4C_CUSTOM_BAR_FREQ_NUM]; |
| kal_uint8 bar_cell_num; |
| nrrc_l4c_bar_cell_info_struct bar_cell_info[MAX_L4C_CUSTOM_BAR_CELL_NUM]; |
| } l4c_nrrc_custom_bar_list_cnf_struct; |
| |
| typedef struct |
| { |
| LOCAL_PARA_HDR |
| kal_bool is_endc_drb_existent; |
| kal_bool is_nr_sa_drb_existent; |
| } l4c_nrrc_drb_info_ind_struct; |
| |
| #endif /* _L4C_NRRC_STRUCT_H_ */ |