diff --git a/public/ecs_rfm_spu1/driver/src/ecpri_roec.s.c b/public/ecs_rfm_spu1/driver/src/ecpri_roec.s.c index 3d94ec4..92c65cd 100644 --- a/public/ecs_rfm_spu1/driver/src/ecpri_roec.s.c +++ b/public/ecs_rfm_spu1/driver/src/ecpri_roec.s.c @@ -27,9 +27,6 @@ **********************************************************************************************************************/ void ecpri_roec_init(void) { - /* eCPRI buffer clear */ - memset_ucp((void *)ECPRI_BUF_ADDR, 0x00, ECPRI_BUF_SIZE); - /* config address range for descriptor */ do_write(&DESC_BEGIN_ADDR_2, ECPRI_RX_BUF_ADDR / ECPRI_DESC_ADDR_UNIT); do_write(&DESC_END_ADDR_2, (ECPRI_RX_BUF_ADDR + ECPRI_RX_BUF_SIZE) / ECPRI_DESC_ADDR_UNIT); diff --git a/public/test/testcases/case100/fronthaul/inc/ecpri_test_case100.h b/public/test/testcases/case100/fronthaul/inc/ecpri_test_case100.h index 514c7fd..30972c3 100644 --- a/public/test/testcases/case100/fronthaul/inc/ecpri_test_case100.h +++ b/public/test/testcases/case100/fronthaul/inc/ecpri_test_case100.h @@ -17,7 +17,6 @@ #ifdef ECS_RFM0 #include "ecpri_csu.h" -//#include "ecpri_que.h" #endif #ifdef ECS_RFM1 @@ -38,8 +37,18 @@ typedef struct EcpriLBTestResult /* --------------------------------------------------- --------------------------------------------------- */ #ifdef ECS_RFM0 -/* eCPRI test result update */ -void ecpri_test_result_update(void); +/* eCPRI test ECS_RFM0 init */ +void ecpri_test_ecs0_init(void); +/* eCPRI test PL packet process */ +void ecpri_test_pl_pkt_proc(uint32_t pkt_addr, uint16_t pkt_len); +/* eCPRI test ECS_RFM0 status check */ +void ecpri_test_ecs0_status_check(void); +/* eCPRI test ECS_RFM0 result update */ +void ecpri_test_ecs0_result_update(void); +#endif +#ifdef ECS_RFM1 +/* eCPRI test ECS_RFM1 init */ +void ecpri_test_ecs1_init(void); #endif diff --git a/public/test/testcases/case100/fronthaul/src/ecpri_test_case100.s.c b/public/test/testcases/case100/fronthaul/src/ecpri_test_case100.s.c index cfc5814..1a114d3 100644 --- a/public/test/testcases/case100/fronthaul/src/ecpri_test_case100.s.c +++ b/public/test/testcases/case100/fronthaul/src/ecpri_test_case100.s.c @@ -35,15 +35,11 @@ EcpriLBTestResult_t g_ecpri_lb_test_result = {0}; int32_t fh_data_init(void) { #ifdef ECS_RFM0 - memset_ucp((void *)&g_ecpri_lb_test_result, 0, sizeof(g_ecpri_lb_test_result)); + ecpri_test_ecs0_init(); +#endif - /* send flag init(symbol interrupt) */ - debug_write(ECPRI_DBG_IDX0(64), 0); /* ECS_RFM0: 0xB7E30100(64) */ - /* send length init */ - debug_write(ECPRI_DBG_IDX0(65), 0); /* ECS_RFM0: 0xB7E30104(65) */ - - /* eCPRI test flag init */ - debug_write(ECPRI_TEST_IDX0(0), g_ecpri_test_flag); /* ECS_RFM0: 0xB7E32000(0) */ +#ifdef ECS_RFM1 + ecpri_test_ecs1_init(); #endif return SUCCESS; @@ -93,19 +89,7 @@ int32_t fh_csu_test_init(void) void fh_data_check(uint32_t times) { #ifdef ECS_RFM0 - /* get eCPRI test flag */ - g_ecpri_test_flag = do_read_volatile(ECPRI_TEST_ADDR0(0)); /* ECS_RFM0: 0xB7E32000(0) */ - if (0 == g_ecpri_test_flag) - { - return; - } - - /* eCPRI test result update */ - ecpri_test_result_update(); - - /* clear eCPRI test flag */ - g_ecpri_test_flag = 0; - debug_write(ECPRI_TEST_IDX0(0), g_ecpri_test_flag); /* ECS_RFM0: 0xB7E32000(0) */ + ecpri_test_ecs0_status_check(); #endif } @@ -123,6 +107,27 @@ void fh_test_case(void) } #ifdef ECS_RFM0 +/********************************************************************************************************************** +* Function: ecpri_test_ecs0_init +* Description: eCPRI test ECS_RFM0 init +* Input: none +* Output: none +* Return: none +* Others: none +**********************************************************************************************************************/ +void ecpri_test_ecs0_init(void) +{ + memset_ucp((void *)&g_ecpri_lb_test_result, 0, sizeof(g_ecpri_lb_test_result)); + + /* send flag init(symbol interrupt) */ + debug_write(ECPRI_DBG_IDX0(64), 0); /* ECS_RFM0: 0xB7E30100(64) */ + /* send length init */ + debug_write(ECPRI_DBG_IDX0(65), 0); /* ECS_RFM0: 0xB7E30104(65) */ + + /* eCPRI test flag init */ + debug_write(ECPRI_TEST_IDX0(0), g_ecpri_test_flag); /* ECS_RFM0: 0xB7E32000(0) */ +} + /********************************************************************************************************************** * Function: ecpri_test_pl_pkt_proc * Description: eCPRI test PL packet process @@ -180,18 +185,59 @@ void ecpri_test_pl_pkt_proc(uint32_t pkt_addr, uint16_t pkt_len) } /********************************************************************************************************************** -* Function: ecpri_test_result_update -* Description: eCPRI test result update +* Function: ecpri_test_ecs0_status_check +* Description: eCPRI test ECS_RFM0 status check * Input: none * Output: none * Return: none * Others: none **********************************************************************************************************************/ -void ecpri_test_result_update(void) +void ecpri_test_ecs0_status_check(void) { - debug_write(ECPRI_TEST_IDX(4100), g_ecpri_lb_test_result.pl_stat.test_times); /* ECS_RFM0: 0xB7E36010(4100) */ - debug_write(ECPRI_TEST_IDX(4101), g_ecpri_lb_test_result.pl_stat.succ_times); /* ECS_RFM0: 0xB7E36014(4101) */ - debug_write(ECPRI_TEST_IDX(4102), g_ecpri_lb_test_result.pl_stat.fail_times); /* ECS_RFM0: 0xB7E36018(4102) */ + /* get eCPRI test flag */ + g_ecpri_test_flag = do_read_volatile(ECPRI_TEST_ADDR0(0)); /* ECS_RFM0: 0xB7E32000(0) */ + if (0 == g_ecpri_test_flag) + { + return; + } + + /* eCPRI test ECS_RFM0 result update */ + ecpri_test_ecs0_result_update(); + + /* clear eCPRI test flag */ + g_ecpri_test_flag = 0; + debug_write(ECPRI_TEST_IDX0(0), g_ecpri_test_flag); /* ECS_RFM0: 0xB7E32000(0) */ +} + +/********************************************************************************************************************** +* Function: ecpri_test_ecs0_result_update +* Description: eCPRI test ECS_RFM0 result update +* Input: none +* Output: none +* Return: none +* Others: none +**********************************************************************************************************************/ +void ecpri_test_ecs0_result_update(void) +{ + debug_write(ECPRI_TEST_IDX0(4100), g_ecpri_lb_test_result.pl_stat.test_times); /* ECS_RFM0: 0xB7E36010(4100) */ + debug_write(ECPRI_TEST_IDX0(4101), g_ecpri_lb_test_result.pl_stat.succ_times); /* ECS_RFM0: 0xB7E36014(4101) */ + debug_write(ECPRI_TEST_IDX0(4102), g_ecpri_lb_test_result.pl_stat.fail_times); /* ECS_RFM0: 0xB7E36018(4102) */ +} +#endif + +#ifdef ECS_RFM1 +/********************************************************************************************************************** +* Function: ecpri_test_ecs1_init +* Description: eCPRI test ECS_RFM1 init +* Input: none +* Output: none +* Return: none +* Others: none +**********************************************************************************************************************/ +void ecpri_test_ecs1_init(void) +{ + /* eCPRI buffer clear */ + memset_ucp((void *)ECPRI_BUF_ADDR, 0x00, ECPRI_BUF_SIZE); } #endif diff --git a/public/test/testcases/case101/fronthaul/src/ecpri_test_case101.s.c b/public/test/testcases/case101/fronthaul/src/ecpri_test_case101.s.c index 3de67b0..9f4ca65 100644 --- a/public/test/testcases/case101/fronthaul/src/ecpri_test_case101.s.c +++ b/public/test/testcases/case101/fronthaul/src/ecpri_test_case101.s.c @@ -283,6 +283,9 @@ void ecpri_test_ecs1_init(void) /* count index */ uint16_t i = 0; + /* eCPRI buffer clear */ + memset_ucp((void *)ECPRI_BUF_ADDR, 0x00, ECPRI_BUF_SIZE); + /* data conversion */ for (ant_id = 0; ant_id < ECPRI_ANT_NUM; ant_id++) { diff --git a/public/test/testcases/case102/fronthaul/src/ecpri_test_case102.s.c b/public/test/testcases/case102/fronthaul/src/ecpri_test_case102.s.c index 64d96fe..cdb2ff3 100644 --- a/public/test/testcases/case102/fronthaul/src/ecpri_test_case102.s.c +++ b/public/test/testcases/case102/fronthaul/src/ecpri_test_case102.s.c @@ -283,6 +283,9 @@ void ecpri_test_ecs1_init(void) /* count index */ uint16_t i = 0; + /* eCPRI buffer clear */ + memset_ucp((void *)ECPRI_BUF_ADDR, 0x00, ECPRI_BUF_SIZE); + /* data conversion */ for (ant_id = 0; ant_id < ECPRI_ANT_NUM; ant_id++) { diff --git a/public/test/testcases/case110/fronthaul/inc/ecpri_test_case110.h b/public/test/testcases/case110/fronthaul/inc/ecpri_test_case110.h new file mode 100644 index 0000000..5bac200 --- /dev/null +++ b/public/test/testcases/case110/fronthaul/inc/ecpri_test_case110.h @@ -0,0 +1,56 @@ +/********************************************************************************************************************** +* Copyright (C), 2022-2026, SMARTLOGIC TECHNOLOGY LTD. +* File Name: ecpri_test_case110.h +* Create Date: 23/12/18 +* Description: eCPRI Test Case110 Module Header File +* Change History: +*