From bbf0b958cf68f4762c608b6a1aa31df1ec61623f Mon Sep 17 00:00:00 2001 From: "lishuang.xie" Date: Wed, 6 Sep 2023 15:48:54 +0800 Subject: [PATCH] merge branch dev_ck_v2.1_bug#1038# to dev_ck_v2.1 1. update libhwque.a and hwque.h 2. pet_rfm1/ecs_rfm0/ecs_rfm1 main.c add call smart_hq_debug_init() 3. spu(case14)+arm(case3): pass 4. spu(case21)+arm(case21):pass 5. spu(case34)+arm(case0): pass 6. spu(case44)+arm(case0): pass --- public/ecs_rfm_spu0/top/src/main.s.c | 10 + public/ecs_rfm_spu1/top/src/main.s.c | 263 ++++++++++++++------------- public/pet_rfm_spu1/top/src/main.s.c | 10 + public/rtos/common/libhwque.a | Bin 7040 -> 8252 bytes public/rtos/inc/hwque.h | 261 ++++++++++++-------------- 5 files changed, 274 insertions(+), 270 deletions(-) diff --git a/public/ecs_rfm_spu0/top/src/main.s.c b/public/ecs_rfm_spu0/top/src/main.s.c index a122b6b..1ad2318 100644 --- a/public/ecs_rfm_spu0/top/src/main.s.c +++ b/public/ecs_rfm_spu0/top/src/main.s.c @@ -18,12 +18,22 @@ #include "log_client.h" #include "ucp_utility.h" #include "spu_shell.h" +#include "hwque.h" int32_t main(int32_t argc, char* argv[]) { UCP_PRINT_EMPTY("Hello world from ECS RFM SPU0,coreId[0x%x]", get_core_id()); debug_write(DBG_DDR_COMMON_IDX(get_core_id(), 0), PLATFORM_BUILD_DATA); + /* hw_debug_init */ + int32_t core_id = get_core_id(); + int ret = 0; + ret = smart_hq_debug_init((DBG_DDR_HW_ADDR_BASE+DBG_DDR_HW_LEN*core_id), DBG_DDR_HW_LEN); // 推荐384,实际512 + if (0 != ret) + { + debug_write(DBG_DDR_ERR_IDX(core_id, 46), ret); + } + spu_log_client_init(); ecs_rfm_spu0_drv_init(); diff --git a/public/ecs_rfm_spu1/top/src/main.s.c b/public/ecs_rfm_spu1/top/src/main.s.c index de45e96..ad1d4c1 100644 --- a/public/ecs_rfm_spu1/top/src/main.s.c +++ b/public/ecs_rfm_spu1/top/src/main.s.c @@ -1,141 +1,148 @@ -// +FHDR------------------------------------------------------------ -// Copyright (c) 2022 SmartLogic. -// ALL RIGHTS RESERVED -// ----------------------------------------------------------------- -// Filename : main.c -// Author : xianfeng.du -// Created On : 2022-06-25 -// Last Modified : -// ----------------------------------------------------------------- -// Description: -// -// -// -FHDR------------------------------------------------------------ - -#include "ucp_printf.h" -#include "rfm1_drv.h" -#include "ucp_heartbeat.h" -#include "ecs_rfm_spu1_top.h" -#include "msg_transfer_queue.h" +// +FHDR------------------------------------------------------------ +// Copyright (c) 2022 SmartLogic. +// ALL RIGHTS RESERVED +// ----------------------------------------------------------------- +// Filename : main.c +// Author : xianfeng.du +// Created On : 2022-06-25 +// Last Modified : +// ----------------------------------------------------------------- +// Description: +// +// +// -FHDR------------------------------------------------------------ + +#include "ucp_printf.h" +#include "rfm1_drv.h" +#include "ucp_heartbeat.h" +#include "ecs_rfm_spu1_top.h" +#include "msg_transfer_queue.h" #include "log_server.h" #include "ucp_utility.h" #include "phy_queue_proc.h" -#include "cpri_test_mode.h" -#include "spu_shell.h" -#include "gtimer_drv.h" -#include "rfm1_gtimer2.h" -#include "ecs_rfm_spu1_oam.h" -#include "phy_para.h" -#include "hw_cpri.h" - -#ifdef TEST_ENABLE -#include "fh_test.h" -#endif - -extern void ecs_rfm1_build_cell(uint32_t scsId, uint32_t flag); -extern void ecs_rfm1_delete_cell(uint32_t scsId, uint32_t nflag); - -#ifdef DDR_MONITOR -void spu_ddr_monitor() -{ - if (1 == do_read_volatile(DDR_MONITOR_ENABLE)) - { - clear_rfm1_gtimer2_1_intcnt(); - gtimer2_int_enable(0); - do_write(DDR_MONITOR_ENABLE, 0); - } - volatile uint32_t nMonitorCnt = do_read_volatile(DDR_MONITOR_CNT); - __ucps2_synch(0); - if (nMonitorCnt < get_rfm1_gtimer2_1_intcnt()) - { - gtimer2_int_disable(0); - do_write(DDR_MONITOR_CNT, 0); - } -} -#endif - -extern uint32_t gCpriCsuDummyFlag; - -int32_t main(int32_t argc, char* argv[]) -{ - UCP_PRINT_EMPTY("Hello world from ECS RFM SPU1,coreId[0x%x]", get_core_id()); - debug_write(DBG_DDR_COMMON_IDX(get_core_id(), 0), PLATFORM_BUILD_DATA); +#include "cpri_test_mode.h" +#include "spu_shell.h" +#include "gtimer_drv.h" +#include "rfm1_gtimer2.h" +#include "ecs_rfm_spu1_oam.h" +#include "phy_para.h" +#include "hw_cpri.h" +#include "hwque.h" - spu_log_client_init(); +#ifdef TEST_ENABLE +#include "fh_test.h" +#endif + +#ifdef DDR_MONITOR +void spu_ddr_monitor() +{ + if (1 == do_read_volatile(DDR_MONITOR_ENABLE)) + { + clear_rfm1_gtimer2_1_intcnt(); + gtimer2_int_enable(0); + do_write(DDR_MONITOR_ENABLE, 0); + } + volatile uint32_t nMonitorCnt = do_read_volatile(DDR_MONITOR_CNT); + __ucps2_synch(0); + if (nMonitorCnt < get_rfm1_gtimer2_1_intcnt()) + { + gtimer2_int_disable(0); + do_write(DDR_MONITOR_CNT, 0); + } +} +#endif + +extern uint32_t gCpriCsuDummyFlag; + +int32_t main(int32_t argc, char* argv[]) +{ + UCP_PRINT_EMPTY("Hello world from ECS RFM SPU1,coreId[0x%x]", get_core_id()); + debug_write(DBG_DDR_COMMON_IDX(get_core_id(), 0), PLATFORM_BUILD_DATA); + + /* hw_debug_init */ + int32_t core_id = get_core_id(); + int ret = 0; + ret = smart_hq_debug_init((DBG_DDR_HW_ADDR_BASE+DBG_DDR_HW_LEN*core_id), DBG_DDR_HW_LEN); // 推荐384,实际512 + if (0 != ret) + { + debug_write(DBG_DDR_ERR_IDX(core_id, 46), ret); + } + + spu_log_client_init(); spu_log_server_init(); - - ecs_rfm_spu1_drv_init(); - - ecs_rfm_spu1_msg_transfer_init(); - - spu_shell_init(); - - spu_shell_cpri_cmd(); - - oam_msg_init(); - - while (1) - { + + ecs_rfm_spu1_drv_init(); + + ecs_rfm_spu1_msg_transfer_init(); + + spu_shell_init(); + + spu_shell_cpri_cmd(); + + oam_msg_init(); + + while (1) + { #ifdef TEST_ENABLE - do_write(CSU_TX_ADVANCE_SAMPLE, 10000); // 10us - do_write(CSU_RX_TD_SAMPLE, 10000); - - check_test_outcome(0); + do_write(CSU_TX_ADVANCE_SAMPLE, 10000); // 10us + do_write(CSU_RX_TD_SAMPLE, 10000); + + check_test_outcome(0); #endif -#if 0 - if (1 == do_read_volatile(0x0A4D726C)) - { -#ifdef CPRI_TIMING_7D2U_TEST - ecs_rfm1_build_cell(NR_SCS_30K, 1); -#endif -#ifdef CPRI_TIMING_LTE_FDD_TEST - ecs_rfm1_build_cell(LTE_SCS_ID, 1); -#endif - do_write(0x0A4D726C, 2); - } - if (2 == do_read_volatile(0x0A4D726C)) - { - check_phy_cell(); - } - if (3 == do_read_volatile(0x0A4D726C)) - { -#ifdef CPRI_TIMING_7D2U_TEST - ecs_rfm1_delete_cell(NR_SCS_30K, 0); -#endif - -#ifdef CPRI_TIMING_LTE_FDD_TEST - ecs_rfm1_delete_cell(LTE_SCS_ID, 0); -#endif - do_write(0x0A4D726C, 0); - } - if (4 == do_read_volatile(0x0A4D726C)) - { -#ifdef CPRI_TIMING_7D2U_TEST - ecs_rfm1_delete_cell(NR_SCS_30K, 1); -#endif - -#ifdef CPRI_TIMING_LTE_FDD_TEST - ecs_rfm1_delete_cell(LTE_SCS_ID, 1); -#endif - do_write(0x0A4D726C, 0); - } -#endif - +#if 0 + if (1 == do_read_volatile(0x0A4D726C)) + { +#ifdef CPRI_TIMING_7D2U_TEST + ecs_rfm1_build_cell(NR_SCS_30K, 1); +#endif +#ifdef CPRI_TIMING_LTE_FDD_TEST + ecs_rfm1_build_cell(LTE_SCS_ID, 1); +#endif + do_write(0x0A4D726C, 2); + } + if (2 == do_read_volatile(0x0A4D726C)) + { + check_phy_cell(); + } + if (3 == do_read_volatile(0x0A4D726C)) + { +#ifdef CPRI_TIMING_7D2U_TEST + ecs_rfm1_delete_cell(NR_SCS_30K, 0); +#endif + +#ifdef CPRI_TIMING_LTE_FDD_TEST + ecs_rfm1_delete_cell(LTE_SCS_ID, 0); +#endif + do_write(0x0A4D726C, 0); + } + if (4 == do_read_volatile(0x0A4D726C)) + { +#ifdef CPRI_TIMING_7D2U_TEST + ecs_rfm1_delete_cell(NR_SCS_30K, 1); +#endif + +#ifdef CPRI_TIMING_LTE_FDD_TEST + ecs_rfm1_delete_cell(LTE_SCS_ID, 1); +#endif + do_write(0x0A4D726C, 0); + } +#endif + phy_queue_polling(); -#ifdef DISTRIBUTED_BS - check_cpri(); +#ifdef DISTRIBUTED_BS + check_cpri(); check_10ms_offset(); -#endif +#endif spu_log_server_proc(); - spu_shell_task(); -#ifdef DDR_MONITOR - spu_ddr_monitor(); -#endif - } - - return 0; -} - + spu_shell_task(); +#ifdef DDR_MONITOR + spu_ddr_monitor(); +#endif + } + + return 0; +} + diff --git a/public/pet_rfm_spu1/top/src/main.s.c b/public/pet_rfm_spu1/top/src/main.s.c index 4f9ee20..0820230 100644 --- a/public/pet_rfm_spu1/top/src/main.s.c +++ b/public/pet_rfm_spu1/top/src/main.s.c @@ -19,12 +19,22 @@ #include "ucp_utility.h" #include "spu_shell.h" #include "pet_rfm_spu1_oam.h" +#include "hwque.h" int32_t main(int32_t argc, char* argv[]) { UCP_PRINT_EMPTY("Hello world from PET RFM SPU1,coreId[0x%x]", get_core_id()); debug_write(DBG_DDR_COMMON_IDX(get_core_id(), 0), PLATFORM_BUILD_DATA); + /* hw_debug_init */ + int32_t core_id = get_core_id(); + int ret = 0; + ret = smart_hq_debug_init((DBG_DDR_HW_ADDR_BASE+DBG_DDR_HW_LEN*core_id), DBG_DDR_HW_LEN); // 推荐384,实际512 + if (0 != ret) + { + debug_write(DBG_DDR_ERR_IDX(core_id, 46), ret); + } + spu_log_client_init(); pet_rfm_spu1_drv_init(); diff --git a/public/rtos/common/libhwque.a b/public/rtos/common/libhwque.a index 1f6474e62cad22c24ac4c83d5513610ba080e985..243408a98912f445a9c5e0573a3df34f2def7a82 100644 GIT binary patch literal 8252 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