rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1 | #ifndef _IDC_L5_STR_H |
| 2 | #define _IDC_L5_STR_H |
| 3 | |
| 4 | #if defined(CHIP10992) || defined(__NANO_UT__) |
| 5 | |
| 6 | |
| 7 | #include "kal_general_types.h" |
| 8 | #include "kal_public_defs.h" |
| 9 | #include "global_type.h" |
| 10 | #include "idc_l5_enum.h" |
| 11 | |
| 12 | |
| 13 | typedef struct |
| 14 | { |
| 15 | kal_uint32 band; |
| 16 | kal_uint32 ul_frequency; |
| 17 | kal_uint32 ul_bandwidth; |
| 18 | kal_uint32 dl_frequency; |
| 19 | kal_uint32 dl_bandwidth; |
| 20 | }idc_nrtc_pcell_config_struct; |
| 21 | |
| 22 | // may need arrays for NR BWP |
| 23 | typedef struct |
| 24 | { |
| 25 | kal_uint32 band; |
| 26 | kal_uint32 ul_frequency; // invalid = 0, i.e. DLCA |
| 27 | kal_uint32 ul_bandwidth; // invalid = 0, i.e. DLCA |
| 28 | kal_uint32 dl_frequency; |
| 29 | kal_uint32 dl_bandwidth; |
| 30 | }idc_nrtc_scell_config_struct; |
| 31 | |
| 32 | typedef struct |
| 33 | { |
| 34 | idc_dynamic_set_mode_enum dynamic_set_mode; // enable = 0, disable = 1, config = 2 |
| 35 | idc_laa_restricted_enum laa_restricted; // possible = 0, not possible = 1 |
| 36 | }l5_idc_nrtc_dynamic_set_struct; |
| 37 | |
| 38 | typedef struct |
| 39 | { |
| 40 | kal_uint32 freq_offset; |
| 41 | kal_int32 power; |
| 42 | }idc_psd_tuples_struct; |
| 43 | |
| 44 | typedef struct |
| 45 | { |
| 46 | kal_uint32 frequency; |
| 47 | kal_int32 attenuation; |
| 48 | }idc_filter_tuples_struct; |
| 49 | |
| 50 | typedef struct |
| 51 | { |
| 52 | kal_uint32 interpolate_points_num; |
| 53 | idc_psd_tuples_struct psd_tuples; |
| 54 | }idc_nrtc_psd_characteristics_struct; |
| 55 | |
| 56 | |
| 57 | typedef struct |
| 58 | { |
| 59 | idc_filter_type_enum filter_type; |
| 60 | kal_uint32 band; |
| 61 | kal_uint32 interpolate_points_num; |
| 62 | idc_filter_tuples_struct filter_tuples; |
| 63 | }idc_nrtc_filter_characteristics_struct; |
| 64 | |
| 65 | |
| 66 | typedef struct |
| 67 | { |
| 68 | LOCAL_PARA_HDR |
| 69 | kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para] |
| 70 | kal_uint32 modem_state; // inactive = 0, active = 1 |
| 71 | kal_uint32 cell_element_count; |
| 72 | }l5_idc_nrtc_dynamic_cfg_ind_struct; |
| 73 | |
| 74 | typedef struct |
| 75 | { |
| 76 | LOCAL_PARA_HDR |
| 77 | |
| 78 | kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para] |
| 79 | kal_uint32 cnf_status; // success = 0; failure = 1; |
| 80 | kal_uint32 modem_state; |
| 81 | kal_uint32 cell_element_count; |
| 82 | }l5_idc_nrtc_dynamic_cfg_query_cnf_struct; |
| 83 | |
| 84 | typedef struct |
| 85 | { |
| 86 | LOCAL_PARA_HDR |
| 87 | |
| 88 | kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para] |
| 89 | }l5_idc_nrtc_dynamic_cfg_query_req_struct; |
| 90 | |
| 91 | typedef struct |
| 92 | { |
| 93 | kal_uint32 dynamic_set_mode; //0-disable unsolicited notification; 1-enable unsolicited notification; 2-provide the wlan and bluetooth info for Modem |
| 94 | kal_uint32 wlan_radio_status; //0-wlan off; 1-wlan on; |
| 95 | kal_uint32 wlan_center_frequency; //wlan center frequency |
| 96 | kal_uint32 wlan_band_width; //wlan band width |
| 97 | kal_uint32 bluetooth_radio_status; //0-BT off; 1-BT on; |
| 98 | kal_int32 tx_power_threshold; //tx power threshold(in dBm) |
| 99 | kal_uint32 tx_averaging_period; //tx power evaluation period:uint-ms; range:10ms~10000ms |
| 100 | kal_uint32 hysterisis; //range:(1dB~11dB) |
| 101 | }l5_idc_nrtc_dynamic_info_set_cfg_struct; |
| 102 | |
| 103 | |
| 104 | typedef struct |
| 105 | { |
| 106 | LOCAL_PARA_HDR |
| 107 | |
| 108 | kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para] |
| 109 | l5_idc_nrtc_dynamic_info_set_cfg_struct dynamic_set_cfg;//dynamic nrtc cfg for modem |
| 110 | }l5_idc_nrtc_dynamic_info_set_req_struct; |
| 111 | |
| 112 | typedef struct |
| 113 | { |
| 114 | LOCAL_PARA_HDR |
| 115 | |
| 116 | kal_uint32 l5seq_id; // _CNF, _IND should return the same id [must be the first para] |
| 117 | kal_uint32 cnf_status; |
| 118 | }l5_idc_nrtc_dynamic_info_set_cnf_struct; |
| 119 | |
| 120 | |
| 121 | typedef struct |
| 122 | { |
| 123 | LOCAL_PARA_HDR |
| 124 | |
| 125 | kal_uint8 seq_id; // _CNF, _IND should return the same id |
| 126 | |
| 127 | kal_int32 modem_noise_figure; |
| 128 | kal_int32 modem_max_tx_power; |
| 129 | idc_nrtc_psd_characteristics_struct modem_psd_characteristics; |
| 130 | |
| 131 | kal_uint32 filter_characteristics_element_count; |
| 132 | idc_nrtc_filter_characteristics_struct modem_filter_characteristics; |
| 133 | }l5_idc_nrtc_static_cfg_ind_struct; |
| 134 | |
| 135 | typedef struct |
| 136 | { |
| 137 | LOCAL_PARA_HDR |
| 138 | |
| 139 | idc_cnf_status_enum cnf_status; // success = 0; failure = 1; |
| 140 | kal_uint8 seq_id; // _CNF, _IND should return the same id |
| 141 | }l5_idc_nrtc_static_cfg_cnf_struct; |
| 142 | |
| 143 | typedef struct |
| 144 | { |
| 145 | LOCAL_PARA_HDR |
| 146 | |
| 147 | l5_idc_mbim_cfg_type_enum static_mbim_cfg_type; // command: set(x), query(o), notification(x) |
| 148 | kal_uint8 seq_id; // _CNF, _IND should return the same id |
| 149 | }l5_idc_nrtc_static_cfg_req_struct; |
| 150 | |
| 151 | #endif |
| 152 | #endif |