1 /******************************************************************************
3 * Copyright (c) 2019 Intel.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 *******************************************************************************/
21 * This file consist of macros, structures and prototypes of all FAPI
26 #ifndef _NR5G_FAPI_FAP2PHY_P7_PVT_PROC_H_
27 #define _NR5G_FAPI_FAP2PHY_P7_PVT_PROC_H_
29 uint8_t nr5g_fapi_dl_tti_req_to_phy_translation(
30 p_nr5g_fapi_phy_instance_t p_phy_instance,
31 fapi_dl_tti_req_t * p_fapi_req,
32 fapi_vendor_msg_t * p_fapi_vendor_msg,
33 PDLConfigRequestStruct p_ia_dl_config_req);
35 void nr5g_fapi_dl_tti_req_to_phy_translation_vendor_ext(
36 p_nr5g_fapi_phy_instance_t p_phy_instance,
37 fapi_vendor_msg_t * p_fapi_vendor_msg,
38 PDLConfigRequestStruct p_ia_dl_config_req);
40 void nr5g_fapi_fill_dci_pdu(
41 p_nr5g_fapi_phy_instance_t p_phy_instance,
42 fapi_dl_pdcch_pdu_t * p_pdcch_pdu,
43 PDCIPDUStruct p_dci_pdu);
45 void nr5g_fapi_fill_pdsch_pdu(
46 p_nr5g_fapi_phy_instance_t p_phy_instance,
47 fapi_dl_pdsch_pdu_t * p_pdsch_pdu,
48 PDLSCHPDUStruct p_dlsch_pdu);
50 uint16_t nr5g_fapi_calculate_nEpreRatioOfPDCCHToSSB(
51 uint8_t beta_pdcch_1_0);
53 uint16_t nr5g_fapi_calculate_nEpreRatioOfDmrsToSSB(
54 uint8_t power_control_offset_ss);
56 uint16_t nr5g_fapi_calculate_nEpreRatioOfPDSCHToSSB(
57 uint8_t power_control_offset);
59 void nr5g_fapi_fill_ssb_pdu(
60 p_nr5g_fapi_phy_instance_t p_phy_instance,
61 PBCHPDUStruct p_bch_pdu,
62 fapi_dl_ssb_pdu_t * p_ssb_pdu);
64 void nr5g_fapi_fill_csi_rs_pdu(
65 p_nr5g_fapi_phy_instance_t p_phy_instance,
66 fapi_dl_csi_rs_pdu_t * p_csi_rs_pdu,
67 PCSIRSPDUStruct pCSIRSPdu);
70 uint8_t nr5g_fapi_calc_n_rbg_size(
73 uint32_t nr5g_fapi_calc_n_rbg_index_entry(
75 fapi_ul_pusch_pdu_t * p_pusch_pdu);
77 void nr5g_fapi_pusch_data_to_phy_ulsch_translation(
78 nr5g_fapi_pusch_info_t * p_pusch_info,
79 fapi_pusch_data_t * p_pusch_data,
80 ULSCHPDUStruct * p_ul_data_chan);
82 void nr5g_fapi_pusch_uci_to_phy_ulsch_translation(
83 fapi_pusch_uci_t * p_pusch_uci,
84 ULSCHPDUStruct * p_ul_data_chan);
86 void nr5g_fapi_pusch_ptrs_to_phy_ulsch_translation(
87 fapi_pusch_ptrs_t * p_pusch_ptrs,
88 ULSCHPDUStruct * p_ul_data_chan);
90 void nr5g_fapi_pusch_to_phy_ulsch_translation(
91 p_nr5g_fapi_phy_instance_t p_phy_instance,
92 nr5g_fapi_pusch_info_t * p_pusch_info,
93 fapi_ul_pusch_pdu_t * p_pusch_pdu,
94 ULSCHPDUStruct * p_ul_data_chan);
96 uint8_t nr5g_get_pucch_resources_group_id(
98 uint16_t initial_cyclic_shift,
99 uint8_t nr_of_symbols,
100 uint8_t start_symbol_index,
101 uint8_t time_domain_occ_idx,
102 nr5g_fapi_pucch_resources_t * p_pucch_resources);
104 void nr5g_fapi_pucch_to_phy_ulcch_uci_translation(
105 p_nr5g_fapi_phy_instance_t p_phy_instance,
106 nr5g_fapi_pucch_info_t * p_pucch_info,
107 fapi_ul_pucch_pdu_t * p_pucch_pdu,
108 ULCCHUCIPDUStruct * p_ul_ctrl_chan);
110 void nr5g_fapi_srs_to_phy_srs_translation(
111 p_nr5g_fapi_phy_instance_t p_phy_instance,
112 fapi_ul_srs_pdu_t * p_srs_pdu,
113 nr5g_fapi_srs_info_t * p_srs_info,
114 SRSPDUStruct * p_ul_srs_chan);
116 uint8_t nr5g_fapi_ul_tti_req_to_phy_translation(
118 p_nr5g_fapi_phy_instance_t p_phy_instance,
119 fapi_ul_tti_req_t * p_fapi_req,
120 fapi_vendor_msg_t * p_fapi_vendor_msg,
121 PULConfigRequestStruct p_ia_ul_config_req);
123 void nr5g_fapi_ul_tti_req_to_phy_translation_vendor_ext(
124 fapi_vendor_msg_t * p_fapi_vendor_msg,
125 PULConfigRequestStruct p_ia_ul_config_req);
127 uint8_t nr5g_fapi_ul_tti_req_to_phy_translation_vendor_ext_symbol_no(
129 fapi_vendor_msg_t * p_fapi_vendor_msg,
130 PULConfigRequestStruct p_ia_ul_config_req,
133 uint8_t nr5g_fapi_ul_dci_req_to_phy_translation(
134 p_nr5g_fapi_phy_instance_t p_phy_instance,
135 fapi_ul_dci_req_t * p_fapi_req,
136 PULDCIRequestStruct p_ia_ul_dci_req);
138 void nr5g_fapi_ul_dci_req_to_phy_translation_vendor_ext(
139 p_nr5g_fapi_phy_instance_t p_phy_instance,
140 fapi_vendor_msg_t * p_fapi_vendor_msg,
141 PULDCIRequestStruct p_ia_ul_dci_req);
143 uint8_t nr5g_fapi_tx_data_req_to_phy_translation(
144 p_nr5g_fapi_phy_instance_t p_phy_instance,
145 fapi_tx_data_req_t * p_fapi_req,
146 fapi_vendor_msg_t * p_fapi_vendor_msg,
147 PTXRequestStruct p_ia_tx_req);
149 void nr5g_fapi_tx_data_req_to_phy_translation_vendor_ext(
150 fapi_vendor_msg_t * p_fapi_vendor_msg,
151 PTXRequestStruct p_phy_req);
153 #endif //_NR5G_FAPI_FAP2PHY_P7_PVT_PROC_H_