[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/l1/idc/idc_l5_str.h b/mcu/interface/l1/idc/idc_l5_str.h
new file mode 100644
index 0000000..8147a1b
--- /dev/null
+++ b/mcu/interface/l1/idc/idc_l5_str.h
@@ -0,0 +1,152 @@
+#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