aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-octphy/l1_utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/osmo-bts-octphy/l1_utils.c')
-rw-r--r--src/osmo-bts-octphy/l1_utils.c130
1 files changed, 130 insertions, 0 deletions
diff --git a/src/osmo-bts-octphy/l1_utils.c b/src/osmo-bts-octphy/l1_utils.c
new file mode 100644
index 00000000..fd399a65
--- /dev/null
+++ b/src/osmo-bts-octphy/l1_utils.c
@@ -0,0 +1,130 @@
+/* Layer 1 (PHY) Utilities of osmo-bts OCTPHY integration */
+
+/* Copyright (c) 2014 Octasic Inc. All rights reserved.
+ * Copyright (c) 2015 Harald Welte <laforge@gnumonks.org>
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+#include "l1_utils.h"
+#include <octphy/octvc1/gsm/octvc1_gsm_api.h>
+#include <octphy/octvc1/gsm/octvc1_gsm_id.h>
+#include <octphy/octvc1/hw/octvc1_hw_api.h>
+
+const struct value_string octphy_l1sapi_names[23] =
+{
+ { cOCTVC1_GSM_SAPI_ENUM_IDLE, "IDLE" },
+ { cOCTVC1_GSM_SAPI_ENUM_FCCH, "FCCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_SCH, "SCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_SACCH, "SACCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_SDCCH, "SDCCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_BCCH, "BCCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH,"PCH_AGCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_CBCH, "CBCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_RACH, "RACH" },
+ { cOCTVC1_GSM_SAPI_ENUM_TCHF, "TCH/F" },
+ { cOCTVC1_GSM_SAPI_ENUM_FACCHF, "FACCH/F" },
+ { cOCTVC1_GSM_SAPI_ENUM_TCHH, "TCH/H" },
+ { cOCTVC1_GSM_SAPI_ENUM_FACCHH, "FACCH/H" },
+ { cOCTVC1_GSM_SAPI_ENUM_NCH, "NCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PDTCH, "PDTCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PACCH, "PACCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PBCCH, "PBCCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PAGCH, "PAGCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PPCH, "PPCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PNCH, "PNCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PTCCH, "PTCCH" },
+ { cOCTVC1_GSM_SAPI_ENUM_PRACH, "PRACH" },
+ { 0, NULL }
+};
+
+const struct value_string octphy_dir_names[5] =
+{
+ { cOCTVC1_GSM_DIRECTION_ENUM_NONE, "None" },
+ { cOCTVC1_GSM_DIRECTION_ENUM_TX_BTS_MS, "TX_BTS_MS(DL)" },
+ { cOCTVC1_GSM_DIRECTION_ENUM_RX_BTS_MS, "RX_BTS_MS(UL)" },
+ { cOCTVC1_GSM_DIRECTION_ENUM_TX_BTS_MS | cOCTVC1_GSM_DIRECTION_ENUM_RX_BTS_MS, "BOTH" },
+ { 0, NULL }
+};
+
+const struct value_string octphy_clkmgr_state_vals[8] = {
+ { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_UNINITIALIZE, "UNINITIALIZED" },
+ { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_IDLE, "IDLE" },
+ { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_NO_EXT_CLOCK, "NO_EXT_CLOCK" },
+ { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_LOCKED, "LOCKED" },
+ { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_UNLOCKED, "UNLOCKED" },
+ { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_ERROR, "ERROR" },
+ { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_DISABLE, "DISABLED" },
+ { 0, NULL }
+};
+
+const struct value_string octphy_cid_vals[35] = {
+ { cOCTVC1_GSM_MSG_TRX_OPEN_CID, "TRX-OPEN" },
+ { cOCTVC1_GSM_MSG_TRX_CLOSE_CID, "TRX-CLOSE" },
+ { cOCTVC1_GSM_MSG_TRX_STATUS_CID, "TRX-STATUS" },
+ { cOCTVC1_GSM_MSG_TRX_INFO_CID, "TRX-INFO" },
+ { cOCTVC1_GSM_MSG_TRX_RESET_CID, "TRX-RESET" },
+ { cOCTVC1_GSM_MSG_TRX_MODIFY_CID, "TRX-MODIFY" },
+ { cOCTVC1_GSM_MSG_TRX_LIST_CID, "TRX-LIST" },
+ { cOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CID, "TRX-CLOSE-ALL" },
+ { cOCTVC1_GSM_MSG_TRX_START_RECORD_CID, "RECORD-START" },
+ { cOCTVC1_GSM_MSG_TRX_STOP_RECORD_CID, "RECORD-STOP" },
+ { cOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CID, "LCHAN-ACT" },
+ { cOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CID, "LCHAN-DEACT" },
+ { cOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CID, "LCHAN-STATUS" },
+ { cOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CID, "LCHAN-INFO" },
+ { cOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CID, "LCHAN-LIST" },
+ { cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CID,
+ "LCHAN-EMPTY-FRAME" },
+ { cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CID, "LCHAN-DATA" },
+ { cOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CID, "PCHAN-ACT" },
+ { cOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CID, "PCHAN-DEACT" },
+ { cOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CID, "PCHAN-STATUS" },
+ { cOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CID, "PCHAN-RESET" },
+ { cOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CID, "PCHAN-LIST" },
+ { cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CID, "PCHAN-INFO" },
+ { cOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CID,
+ "PCHAN-CIPH-MODIFY" },
+ { cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CID,
+ "PCHAN-CIPH-INFO" },
+ { cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CID,
+ "PCHAN-MEASUREMENT" },
+ { cOCTVC1_GSM_MSG_TRX_INFO_RF_CID, "RF-INFO" },
+ { cOCTVC1_GSM_MSG_TRX_MODIFY_RF_CID, "RF-MODIFY" },
+ { cOCTVC1_GSM_MSG_TAP_FILTER_LIST_CID, "TAP-FILTER-LIST" },
+ { cOCTVC1_GSM_MSG_TAP_FILTER_INFO_CID, "TAP-FILTER-INFO" },
+ { cOCTVC1_GSM_MSG_TAP_FILTER_STATS_CID, "TAP-FILTER-STATS" },
+ { cOCTVC1_GSM_MSG_TAP_FILTER_MODIFY_CID, "TAP-FILTER-MODIFY" },
+ { cOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID,
+ "LCHAN-RAW-DATA-START" },
+ { cOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID,
+ "LCHAN-RAW-DATA-STOP" },
+ { 0, NULL }
+};
+
+const struct value_string octphy_eid_vals[7] = {
+ { cOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EID, "TIME.ind" },
+ { cOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EID, "TRX-STATUS-CHG.ind" },
+ { cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EID,
+ "LCHAN-DATA.ind" },
+ { cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EID,
+ "LCHAN-RTS.ind" },
+ { cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EID,
+ "LCHAN-RACH.ind" },
+ { cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EID,
+ "LCHAN-RAW-DATA.ind" },
+ { 0, NULL }
+};