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 PDLConfigRequestStruct p_ia_dl_config_req);
34 void nr5g_fapi_fill_dci_pdu(
35 p_nr5g_fapi_phy_instance_t p_phy_instance,
36 fapi_dl_pdcch_pdu_t * p_pdcch_pdu,
37 PDCIPDUStruct p_dci_pdu);
39 void nr5g_fapi_fill_dci_pdu(
40 p_nr5g_fapi_phy_instance_t p_phy_instance,
41 fapi_dl_pdcch_pdu_t * p_pdcch_pdu,
42 PDCIPDUStruct p_dci_pdu);
44 void nr5g_fapi_fill_pdsch_pdu(
45 p_nr5g_fapi_phy_instance_t p_phy_instance,
46 fapi_dl_pdsch_pdu_t * p_pdsch_pdu,
47 PDLSCHPDUStruct p_dlsch_pdu);
49 uint16_t nr5g_fapi_calculate_nEpreRatioOfPDCCHToSSB(
50 uint8_t beta_pdcch_1_0);
52 void nr5g_fapi_fill_ssb_pdu(
53 p_nr5g_fapi_phy_instance_t p_phy_instance,
54 PBCHPDUStruct p_bch_pdu,
55 fapi_dl_ssb_pdu_t * p_ssb_pdu);
57 void nr5g_fapi_fill_csi_rs_pdu(
58 p_nr5g_fapi_phy_instance_t p_phy_instance,
59 PCSIRSPDUStruct pCSIRSPdu,
60 fapi_dl_csi_rs_pdu_t * p_csi_rs_pdu);
63 uint8_t nr5g_fapi_calc_n_rbg_size(
66 uint32_t nr5g_fapi_calc_n_rbg_index_entry(
68 fapi_ul_pusch_pdu_t * p_pusch_pdu);
70 uint8_t nr5g_fapi_calc_alpha_scaling(
71 uint8_t fapi_alpha_scaling);
73 void nr5g_fapi_pusch_to_phy_ulsch_translation(
74 p_nr5g_fapi_phy_instance_t p_phy_instance,
75 nr5g_fapi_pusch_info_t * pusch_info,
76 fapi_ul_pusch_pdu_t * p_pusch_pdu,
77 ULSCHPDUStruct * p_ul_data_chan);
79 void nr5g_fapi_pusch_data_to_phy_ulsch_translation(
80 nr5g_fapi_pusch_info_t * p_pusch_info,
81 fapi_pusch_data_t * p_pusch_data,
82 ULSCHPDUStruct * p_ul_data_chan);
84 void nr5g_fapi_pusch_uci_to_phy_ulsch_translation(
85 fapi_pusch_uci_t * p_pusch_uci,
86 ULSCHPDUStruct * p_ul_data_chan);
88 void nr5g_fapi_pusch_ptrs_to_phy_ulsch_translation(
89 fapi_pusch_ptrs_t * p_pusch_ptrs,
90 ULSCHPDUStruct * p_ul_data_chan);
92 void nr5g_fapi_pusch_to_phy_ulsch_translation(
93 p_nr5g_fapi_phy_instance_t p_phy_instance,
94 nr5g_fapi_pusch_info_t * p_pusch_info,
95 fapi_ul_pusch_pdu_t * p_pusch_pdu,
96 ULSCHPDUStruct * p_ul_data_chan);
98 uint8_t nr5g_get_pucch_resources_group_id(
100 uint16_t initial_cyclic_shift,
101 uint8_t nr_of_symbols,
102 uint8_t start_symbol_index,
103 uint8_t time_domain_occ_idx,
104 nr5g_fapi_pucch_resources_t * p_pucch_resources);
106 void nr5g_fapi_pucch_to_phy_ulcch_uci_translation(
107 p_nr5g_fapi_phy_instance_t p_phy_instance,
108 nr5g_fapi_pucch_info_t * p_pucch_info,
109 fapi_ul_pucch_pdu_t * p_pucch_pdu,
110 uint8_t * num_groups,
111 nr5g_fapi_pucch_resources_t * p_pucch_resources,
112 ULCCHUCIPDUStruct * p_ul_ctrl_chan);
114 void nr5g_fapi_srs_to_phy_srs_translation(
115 p_nr5g_fapi_phy_instance_t p_phy_instance,
116 fapi_ul_srs_pdu_t * p_srs_pdu,
117 nr5g_fapi_srs_info_t * p_srs_info,
118 SRSPDUStruct * p_ul_srs_chan);
120 uint8_t nr5g_fapi_ul_tti_req_to_phy_translation(
121 p_nr5g_fapi_phy_instance_t p_phy_instance,
122 fapi_ul_tti_req_t * p_fapi_req,
123 PULConfigRequestStruct p_ia_ul_config_req);
125 uint8_t nr5g_fapi_ul_dci_req_to_phy_translation(
126 p_nr5g_fapi_phy_instance_t p_phy_instance,
127 fapi_ul_dci_req_t * p_fapi_req,
128 PULDCIRequestStruct p_ia_ul_dci_req);
130 uint8_t nr5g_fapi_tx_data_req_to_phy_translation(
131 p_nr5g_fapi_phy_instance_t p_phy_instance,
132 fapi_tx_data_req_t * p_fapi_req,
133 PTXRequestStruct p_ia_tx_req);
134 #endif //_NR5G_FAPI_FAP2PHY_P7_PVT_PROC_H_