From 916e9d34542f29a33c35c6b2e5db1a7a955e4cab Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Mon, 27 Feb 2023 16:42:26 +0100 Subject: [PATCH] pcu_l1_if_phy: add new PHY API function to initialize PHY The PHY implementations we currently have do not require any initialization that has to run directly on startup. This will change when we introduce support for the E1 based Ericsson RBS CCU. Then we will have to perform at least one elarly initialization (VTY config file). So lets add an API function for PHY initialization now. Related: OS#5198 Change-Id: Ibf2a3a058c826f6ee5b740eee72d5be94d460517 --- src/osmo-bts-litecell15/lc15_l1_if.c | 5 +++++ src/osmo-bts-oc2g/oc2g_l1_if.c | 5 +++++ src/osmo-bts-sysmo/sysmo_l1_if.c | 5 +++++ src/pcu_l1_if_phy.h | 1 + src/pcu_main.cpp | 7 +++++++ 5 files changed, 23 insertions(+) diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 580cdf09..043a3bac 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -404,3 +404,8 @@ int l1if_close_pdch(void *obj) talloc_free(fl1h); return 0; } + +int l1if_init(void) +{ + return 0; +} diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 48005a29..c827d727 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -409,3 +409,8 @@ int l1if_close_pdch(void *obj) talloc_free(fl1h); return 0; } + +int l1if_init(void) +{ + return 0; +} diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 18378b6b..348497f3 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -386,3 +386,8 @@ int l1if_close_pdch(void *obj) talloc_free(fl1h); return 0; } + +int l1if_init(void) +{ + return 0; +} diff --git a/src/pcu_l1_if_phy.h b/src/pcu_l1_if_phy.h index 318d0aa5..297883bc 100644 --- a/src/pcu_l1_if_phy.h +++ b/src/pcu_l1_if_phy.h @@ -3,6 +3,7 @@ #include #include +int l1if_init(void); void *l1if_open_pdch(uint8_t trx_no, uint32_t hlayer1, struct gsmtap_inst *gsmtap); int l1if_connect_pdch(void *obj, uint8_t ts); int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn, uint16_t arfcn, uint8_t block_nr, uint8_t *data, diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 901ee6cf..ec7bddd4 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -33,6 +33,7 @@ extern "C" { #include "pcu_vty.h" #include "coding_scheme.h" +#include "pcu_l1_if_phy.h" #include #include #include @@ -250,6 +251,12 @@ int main(int argc, char *argv[]) osmo_cpu_sched_vty_init(tall_pcu_ctx); logging_vty_add_deprecated_subsys(tall_pcu_ctx, "bssgp"); +#ifdef ENABLE_DIRECT_PHY + rc = l1if_init(); + if (rc < 0) + return -EINVAL; +#endif + handle_options(argc, argv); if ((!!spoof_mcc) + (!!spoof_mnc) == 1) { fprintf(stderr, "--mcc and --mnc must be specified "