blob: 8147a1bfbdc5d1acad28866429c67fbd08514ffd [file] [log] [blame]
#ifndef _IDC_L5_STR_H
#define _IDC_L5_STR_H
#if defined(CHIP10992) || defined(__NANO_UT__)
#include "kal_general_types.h"
#include "kal_public_defs.h"
#include "global_type.h"
#include "idc_l5_enum.h"
typedef struct
{
kal_uint32 band;
kal_uint32 ul_frequency;
kal_uint32 ul_bandwidth;
kal_uint32 dl_frequency;
kal_uint32 dl_bandwidth;
}idc_nrtc_pcell_config_struct;
// may need arrays for NR BWP
typedef struct
{
kal_uint32 band;
kal_uint32 ul_frequency; // invalid = 0, i.e. DLCA
kal_uint32 ul_bandwidth; // invalid = 0, i.e. DLCA
kal_uint32 dl_frequency;
kal_uint32 dl_bandwidth;
}idc_nrtc_scell_config_struct;
typedef struct
{
idc_dynamic_set_mode_enum dynamic_set_mode; // enable = 0, disable = 1, config = 2
idc_laa_restricted_enum laa_restricted; // possible = 0, not possible = 1
}l5_idc_nrtc_dynamic_set_struct;
typedef struct
{
kal_uint32 freq_offset;
kal_int32 power;
}idc_psd_tuples_struct;
typedef struct
{
kal_uint32 frequency;
kal_int32 attenuation;
}idc_filter_tuples_struct;
typedef struct
{
kal_uint32 interpolate_points_num;
idc_psd_tuples_struct psd_tuples;
}idc_nrtc_psd_characteristics_struct;
typedef struct
{
idc_filter_type_enum filter_type;
kal_uint32 band;
kal_uint32 interpolate_points_num;
idc_filter_tuples_struct filter_tuples;
}idc_nrtc_filter_characteristics_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para]
kal_uint32 modem_state; // inactive = 0, active = 1
kal_uint32 cell_element_count;
}l5_idc_nrtc_dynamic_cfg_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para]
kal_uint32 cnf_status; // success = 0; failure = 1;
kal_uint32 modem_state;
kal_uint32 cell_element_count;
}l5_idc_nrtc_dynamic_cfg_query_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para]
}l5_idc_nrtc_dynamic_cfg_query_req_struct;
typedef struct
{
kal_uint32 dynamic_set_mode; //0-disable unsolicited notification; 1-enable unsolicited notification; 2-provide the wlan and bluetooth info for Modem
kal_uint32 wlan_radio_status; //0-wlan off; 1-wlan on;
kal_uint32 wlan_center_frequency; //wlan center frequency
kal_uint32 wlan_band_width; //wlan band width
kal_uint32 bluetooth_radio_status; //0-BT off; 1-BT on;
kal_int32 tx_power_threshold; //tx power threshold(in dBm)
kal_uint32 tx_averaging_period; //tx power evaluation period:uint-ms; range:10ms~10000ms
kal_uint32 hysterisis; //range:(1dB~11dB)
}l5_idc_nrtc_dynamic_info_set_cfg_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para]
l5_idc_nrtc_dynamic_info_set_cfg_struct dynamic_set_cfg;//dynamic nrtc cfg for modem
}l5_idc_nrtc_dynamic_info_set_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para]
kal_uint32 cnf_status;
}l5_idc_nrtc_dynamic_info_set_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 seq_id; // _CNF, _IND should return the same id
kal_int32 modem_noise_figure;
kal_int32 modem_max_tx_power;
idc_nrtc_psd_characteristics_struct modem_psd_characteristics;
kal_uint32 filter_characteristics_element_count;
idc_nrtc_filter_characteristics_struct modem_filter_characteristics;
}l5_idc_nrtc_static_cfg_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
idc_cnf_status_enum cnf_status; // success = 0; failure = 1;
kal_uint8 seq_id; // _CNF, _IND should return the same id
}l5_idc_nrtc_static_cfg_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
l5_idc_mbim_cfg_type_enum static_mbim_cfg_type; // command: set(x), query(o), notification(x)
kal_uint8 seq_id; // _CNF, _IND should return the same id
}l5_idc_nrtc_static_cfg_req_struct;
#endif
#endif