diff options
author | Anusha Reddy Rangareddygari <anusrang@in.ibm.com> | 2016-05-04 12:28:25 +0200 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-05-05 01:18:54 -0400 |
commit | c90202f245da58039853e8193d028fe9eb483f9f (patch) | |
tree | ce44d9381355deadad2bc53c8f6a7dad9776912d /import/chips/p9/procedures/hwp/perv/p9_perv_sbe_cmn.C | |
parent | ccade972b384204fd6f0be112d2715ecd2cd5be8 (diff) | |
download | talos-sbe-c90202f245da58039853e8193d028fe9eb483f9f.tar.gz talos-sbe-c90202f245da58039853e8193d028fe9eb483f9f.zip |
IPL optimized codes
Change-Id: I60bd09be22ae75561667253204ffd33c6fdeb58d
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24060
Tested-by: Jenkins Server
Tested-by: PPE CI
Tested-by: Hostboot CI
Reviewed-by: Soma Bhanutej <soma.bhanu@in.ibm.com>
Reviewed-by: Sangeetha T S <sangeet2@in.ibm.com>
Reviewed-by: PARVATHI RACHAKONDA <prachako@in.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24061
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/hwp/perv/p9_perv_sbe_cmn.C')
-rw-r--r-- | import/chips/p9/procedures/hwp/perv/p9_perv_sbe_cmn.C | 207 |
1 files changed, 29 insertions, 178 deletions
diff --git a/import/chips/p9/procedures/hwp/perv/p9_perv_sbe_cmn.C b/import/chips/p9/procedures/hwp/perv/p9_perv_sbe_cmn.C index f2917668..3faaa0c8 100644 --- a/import/chips/p9/procedures/hwp/perv/p9_perv_sbe_cmn.C +++ b/import/chips/p9/procedures/hwp/perv/p9_perv_sbe_cmn.C @@ -88,11 +88,14 @@ fapi2::ReturnCode p9_perv_sbe_cmn_array_init_module(const fapi2::buffer<uint16_t> l_scan_count; fapi2::buffer<uint16_t> l_misr_a_value; fapi2::buffer<uint16_t> l_misr_b_value; + fapi2::buffer<uint16_t> l_regions; fapi2::buffer<uint64_t> l_data64; int l_timeout = 0; fapi2::buffer<uint64_t> l_data64_clk_region; FAPI_INF("Entering ..."); + i_regions.extractToRight<5, 11>(l_regions); + FAPI_DBG("Drop vital fence (moved to arrayinit from sacn0 module)"); //Setting CPLT_CTRL1 register value l_data64.flush<0>(); @@ -101,17 +104,11 @@ fapi2::ReturnCode p9_perv_sbe_cmn_array_init_module(const FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_CPLT_CTRL1_CLEAR, l_data64)); FAPI_DBG("Start pervasive regions Clocks"); - l_data64_clk_region.flush<0>(); //Setting CLK_REGION register value l_data64_clk_region.insertFromRight<PERV_1_CLK_REGION_CLOCK_CMD, PERV_1_CLK_REGION_CLOCK_CMD_LEN> (0b01); //CLK_REGION.CLOCK_CMD = 0b01 l_data64_clk_region.setBit<4>(); //CLK_REGION.CLOCK_REGION_PERV = 1 - //CLK_REGION.SEL_THOLD_SL = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_SL>(); - //CLK_REGION.SEL_THOLD_NSL = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_NSL>(); - //CLK_REGION.SEL_THOLD_ARY = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_ARY>(); + l_data64_clk_region.setBit<48, 3>(); //CLK_REGION.SEL_THOLD_ALL = 0b111 FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_CLK_REGION, l_data64_clk_region)); @@ -126,17 +123,11 @@ fapi2::ReturnCode p9_perv_sbe_cmn_array_init_module(const FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_SPA_MASK, 0xFFFFFFFFFFFFFFFF)); FAPI_DBG("Stop Pervasive regions clocks"); - l_data64_clk_region.flush<0>(); //Setting CLK_REGION register value l_data64_clk_region.insertFromRight<PERV_1_CLK_REGION_CLOCK_CMD, PERV_1_CLK_REGION_CLOCK_CMD_LEN> (0b10); //CLK_REGION.CLOCK_CMD = 0b10 l_data64_clk_region.setBit<4>(); //CLK_REGION.CLOCK_REGION_PERV = 1 - //CLK_REGION.SEL_THOLD_SL = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_SL>(); - //CLK_REGION.SEL_THOLD_NSL = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_NSL>(); - //CLK_REGION.SEL_THOLD_ARY = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_ARY>(); + l_data64_clk_region.setBit<48, 3>(); //CLK_REGION.SEL_THOLD_ALL = 0b111 FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_CLK_REGION, l_data64_clk_region)); @@ -155,28 +146,7 @@ fapi2::ReturnCode p9_perv_sbe_cmn_array_init_module(const l_data64.writeBit<PERV_1_BIST_TC_SRAM_ABIST_MODE_DC>(i_select_sram); //BIST.TC_EDRAM_ABIST_MODE_DC = i_select_edram l_data64.writeBit<PERV_1_BIST_TC_EDRAM_ABIST_MODE_DC>(i_select_edram); - //BIST.BIST_PERV = i_regions.getBit<5>() - l_data64.writeBit<4>(i_regions.getBit<5>()); - //BIST.BIST_UNIT1 = i_regions.getBit<6>() - l_data64.writeBit<5>(i_regions.getBit<6>()); - //BIST.BIST_UNIT2 = i_regions.getBit<7>() - l_data64.writeBit<6>(i_regions.getBit<7>()); - //BIST.BIST_UNIT3 = i_regions.getBit<8>() - l_data64.writeBit<7>(i_regions.getBit<8>()); - //BIST.BIST_UNIT4 = i_regions.getBit<9>() - l_data64.writeBit<8>(i_regions.getBit<9>()); - //BIST.BIST_UNIT5 = i_regions.getBit<10>() - l_data64.writeBit<9>(i_regions.getBit<10>()); - //BIST.BIST_UNIT6 = i_regions.getBit<11>() - l_data64.writeBit<10>(i_regions.getBit<11>()); - //BIST.BIST_UNIT7 = i_regions.getBit<12>() - l_data64.writeBit<11>(i_regions.getBit<12>()); - //BIST.BIST_UNIT8 = i_regions.getBit<13>() - l_data64.writeBit<12>(i_regions.getBit<13>()); - //BIST.BIST_UNIT9 = i_regions.getBit<14>() - l_data64.writeBit<13>(i_regions.getBit<14>()); - //BIST.BIST_UNIT10 = i_regions.getBit<15>() - l_data64.writeBit<14>(i_regions.getBit<15>()); + l_data64.insertFromRight<4, 11>(l_regions); //BIST.BIST_ALL_UNITS = l_regions FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_BIST, l_data64)); FAPI_DBG("l_data64 value:%#018lX", l_data64); @@ -184,62 +154,17 @@ fapi2::ReturnCode p9_perv_sbe_cmn_array_init_module(const //Setting CLK_REGION register value FAPI_TRY(fapi2::getScom(i_target_chiplets, PERV_CLK_REGION, l_data64_clk_region)); - //CLK_REGION.CLOCK_REGION_PERV = i_regions.getBit<5>() - l_data64_clk_region.writeBit<4>(i_regions.getBit<5>()); - //CLK_REGION.CLOCK_REGION_UNIT1 = i_regions.getBit<6>() - l_data64_clk_region.writeBit<5>(i_regions.getBit<6>()); - //CLK_REGION.CLOCK_REGION_UNIT2 = i_regions.getBit<7>() - l_data64_clk_region.writeBit<6>(i_regions.getBit<7>()); - //CLK_REGION.CLOCK_REGION_UNIT3 = i_regions.getBit<8>() - l_data64_clk_region.writeBit<7>(i_regions.getBit<8>()); - //CLK_REGION.CLOCK_REGION_UNIT4 = i_regions.getBit<9>() - l_data64_clk_region.writeBit<8>(i_regions.getBit<9>()); - //CLK_REGION.CLOCK_REGION_UNIT5 = i_regions.getBit<10>() - l_data64_clk_region.writeBit<9>(i_regions.getBit<10>()); - //CLK_REGION.CLOCK_REGION_UNIT6 = i_regions.getBit<11>() - l_data64_clk_region.writeBit<10>(i_regions.getBit<11>()); - //CLK_REGION.CLOCK_REGION_UNIT7 = i_regions.getBit<12>() - l_data64_clk_region.writeBit<11>(i_regions.getBit<12>()); - //CLK_REGION.CLOCK_REGION_UNIT8 = i_regions.getBit<13>() - l_data64_clk_region.writeBit<12>(i_regions.getBit<13>()); - //CLK_REGION.CLOCK_REGION_UNIT9 = i_regions.getBit<14>() - l_data64_clk_region.writeBit<13>(i_regions.getBit<14>()); - //CLK_REGION.CLOCK_REGION_UNIT10 = i_regions.getBit<15>() - l_data64_clk_region.writeBit<14>(i_regions.getBit<15>()); - //CLK_REGION.SEL_THOLD_SL = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_SL>(); - //CLK_REGION.SEL_THOLD_NSL = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_NSL>(); - //CLK_REGION.SEL_THOLD_ARY = 1 - l_data64_clk_region.setBit<PERV_1_CLK_REGION_SEL_THOLD_ARY>(); + //CLK_REGION.CLOCK_REGION_ALL_UNITS = l_regions + l_data64_clk_region.insertFromRight<4, 11>(l_regions); + l_data64_clk_region.setBit<48, 3>(); //CLK_REGION.SEL_THOLD_ALL = 0b111 FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_CLK_REGION, l_data64_clk_region)); FAPI_DBG("Drop Region fences"); //Setting CPLT_CTRL1 register value l_data64.flush<0>(); - l_data64.writeBit<PERV_1_CPLT_CTRL1_TC_PERV_REGION_FENCE> - (i_regions.getBit<5>()); //CPLT_CTRL1.TC_PERV_REGION_FENCE = i_regions.getBit<5>() - //CPLT_CTRL1.TC_REGION1_FENCE = i_regions.getBit<6>() - l_data64.writeBit<5>(i_regions.getBit<6>()); - //CPLT_CTRL1.TC_REGION2_FENCE = i_regions.getBit<7>() - l_data64.writeBit<6>(i_regions.getBit<7>()); - //CPLT_CTRL1.TC_REGION3_FENCE = i_regions.getBit<8>() - l_data64.writeBit<PERV_1_CPLT_CTRL1_TC_REGION3_FENCE>(i_regions.getBit<8>()); - //CPLT_CTRL1.TC_REGION4_FENCE = i_regions.getBit<9>() - l_data64.writeBit<8>(i_regions.getBit<9>()); - //CPLT_CTRL1.TC_REGION5_FENCE = i_regions.getBit<10>() - l_data64.writeBit<9>(i_regions.getBit<10>()); - //CPLT_CTRL1.TC_REGION6_FENCE = i_regions.getBit<11>() - l_data64.writeBit<10>(i_regions.getBit<11>()); - //CPLT_CTRL1.TC_REGION7_FENCE = i_regions.getBit<12>() - l_data64.writeBit<11>(i_regions.getBit<12>()); - //CPLT_CTRL1.UNUSED_12B = i_regions.getBit<13>() - l_data64.writeBit<PERV_1_CPLT_CTRL1_UNUSED_12B>(i_regions.getBit<13>()); - //CPLT_CTRL1.UNUSED_13B = i_regions.getBit<14>() - l_data64.writeBit<PERV_1_CPLT_CTRL1_UNUSED_13B>(i_regions.getBit<14>()); - //CPLT_CTRL1.UNUSED_14B = i_regions.getBit<15>() - l_data64.writeBit<PERV_1_CPLT_CTRL1_UNUSED_14B>(i_regions.getBit<15>()); + //CPLT_CTRL1.TC_ALL_REGIONS_FENCE = l_regions + l_data64.insertFromRight<4, 11>(l_regions); FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_CPLT_CTRL1_CLEAR, l_data64)); FAPI_DBG("Setup: loopcount , OPCG engine start ABIST, run-N mode"); @@ -338,12 +263,12 @@ fapi_try_exit: /// @brief Region value settings /// -/// @param[in] i_target_chiplet Reference to TARGET_TYPE_PERV target -/// @param[in] i_regions_value regions except vital and pll -/// @param[out] o_regions_value regions value +/// @param[in] i_target_chip Reference to TARGET_TYPE_PERV target ATTR_PG of the corresponding chiplet +/// @param[in] i_regions_value regions except vital and pll +/// @param[out] o_regions_value regions value /// @return FAPI2_RC_SUCCESS if success, else error code. fapi2::ReturnCode p9_perv_sbe_cmn_regions_setup_16(const - fapi2::Target<fapi2::TARGET_TYPE_PERV>& i_target_chiplet, + fapi2::Target<fapi2::TARGET_TYPE_PERV>& i_target_chip, const fapi2::buffer<uint16_t> i_regions_value, fapi2::buffer<uint16_t>& o_regions_value) { @@ -353,7 +278,7 @@ fapi2::ReturnCode p9_perv_sbe_cmn_regions_setup_16(const FAPI_INF("Entering ..."); FAPI_DBG("Reading ATTR_PG"); - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PG, i_target_chiplet, l_read_attr)); + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PG, i_target_chip, l_read_attr)); FAPI_DBG("ATTR_PG Value : %#018lX", l_read_attr); FAPI_DBG("i_regions_value input from calling function: %#018lX", @@ -448,10 +373,15 @@ fapi2::ReturnCode p9_perv_sbe_cmn_scan0_module(const const fapi2::buffer<uint16_t> i_regions, const fapi2::buffer<uint16_t> i_scan_types) { + fapi2::buffer<uint16_t> l_regions; + fapi2::buffer<uint16_t> l_scan_types; fapi2::buffer<uint64_t> l_data64; int l_timeout = 0; FAPI_INF("Entering ..."); + i_regions.extractToRight<5, 11>(l_regions); + i_scan_types.extractToRight<4, 12>(l_scan_types); + FAPI_DBG("raise Vital clock region fence"); //Setting CPLT_CTRL1 register value l_data64.flush<0>(); @@ -462,103 +392,24 @@ fapi2::ReturnCode p9_perv_sbe_cmn_scan0_module(const FAPI_DBG("Raise region fences for scanned regions"); //Setting CPLT_CTRL1 register value l_data64.flush<0>(); - //CPLT_CTRL1.TC_PERV_REGION_FENCE = 1 - l_data64.setBit<PERV_1_CPLT_CTRL1_TC_PERV_REGION_FENCE>(); - l_data64.setBit<5>(); //CPLT_CTRL1.TC_REGION1_FENCE = 1 - l_data64.setBit<6>(); //CPLT_CTRL1.TC_REGION2_FENCE = 1 - //CPLT_CTRL1.TC_REGION3_FENCE = 1 - l_data64.setBit<PERV_1_CPLT_CTRL1_TC_REGION3_FENCE>(); - l_data64.setBit<8>(); //CPLT_CTRL1.TC_REGION4_FENCE = 1 - l_data64.setBit<9>(); //CPLT_CTRL1.TC_REGION5_FENCE = 1 - l_data64.setBit<10>(); //CPLT_CTRL1.TC_REGION6_FENCE = 1 - l_data64.setBit<11>(); //CPLT_CTRL1.TC_REGION7_FENCE = 1 - l_data64.setBit<PERV_1_CPLT_CTRL1_UNUSED_12B>(); //CPLT_CTRL1.UNUSED_12B = 1 - l_data64.setBit<PERV_1_CPLT_CTRL1_UNUSED_13B>(); //CPLT_CTRL1.UNUSED_13B = 1 - l_data64.setBit<PERV_1_CPLT_CTRL1_UNUSED_14B>(); //CPLT_CTRL1.UNUSED_14B = 1 + l_data64.setBit<4, 11>(); //CPLT_CTRL1.TC_ALL_REGIONS_FENCE = 0b11111111111 FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_CPLT_CTRL1_OR, l_data64)); FAPI_DBG("Setup all Clock Domains and Clock Types"); //Setting CLK_REGION register value FAPI_TRY(fapi2::getScom(i_target_chiplets, PERV_CLK_REGION, l_data64)); - //CLK_REGION.CLOCK_REGION_PERV = i_regions.getBit<5>() - l_data64.writeBit<4>(i_regions.getBit<5>()); - //CLK_REGION.CLOCK_REGION_UNIT1 = i_regions.getBit<6>() - l_data64.writeBit<5>(i_regions.getBit<6>()); - //CLK_REGION.CLOCK_REGION_UNIT2 = i_regions.getBit<7>() - l_data64.writeBit<6>(i_regions.getBit<7>()); - //CLK_REGION.CLOCK_REGION_UNIT3 = i_regions.getBit<8>() - l_data64.writeBit<7>(i_regions.getBit<8>()); - //CLK_REGION.CLOCK_REGION_UNIT4 = i_regions.getBit<9>() - l_data64.writeBit<8>(i_regions.getBit<9>()); - //CLK_REGION.CLOCK_REGION_UNIT5 = i_regions.getBit<10>() - l_data64.writeBit<9>(i_regions.getBit<10>()); - //CLK_REGION.CLOCK_REGION_UNIT6 = i_regions.getBit<11>() - l_data64.writeBit<10>(i_regions.getBit<11>()); - //CLK_REGION.CLOCK_REGION_UNIT7 = i_regions.getBit<12>() - l_data64.writeBit<11>(i_regions.getBit<12>()); - //CLK_REGION.CLOCK_REGION_UNIT8 = i_regions.getBit<13>() - l_data64.writeBit<12>(i_regions.getBit<13>()); - //CLK_REGION.CLOCK_REGION_UNIT9 = i_regions.getBit<14>() - l_data64.writeBit<13>(i_regions.getBit<14>()); - //CLK_REGION.CLOCK_REGION_UNIT10 = i_regions.getBit<15>() - l_data64.writeBit<14>(i_regions.getBit<15>()); - //CLK_REGION.SEL_THOLD_SL = 1 - l_data64.setBit<PERV_1_CLK_REGION_SEL_THOLD_SL>(); - //CLK_REGION.SEL_THOLD_NSL = 1 - l_data64.setBit<PERV_1_CLK_REGION_SEL_THOLD_NSL>(); - //CLK_REGION.SEL_THOLD_ARY = 1 - l_data64.setBit<PERV_1_CLK_REGION_SEL_THOLD_ARY>(); + //CLK_REGION.CLOCK_REGION_ALL_UNITS = l_regions + l_data64.insertFromRight<4, 11>(l_regions); + l_data64.setBit<48, 3>(); //CLK_REGION.SEL_THOLD_ALL = 0b111 FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_CLK_REGION, l_data64)); FAPI_DBG("Write scan select register"); //Setting SCAN_REGION_TYPE register value l_data64.flush<0>(); //SCAN_REGION_TYPE = 0 - //SCAN_REGION_TYPE.SCAN_REGION_PERV = i_regions.getBit<5>() - l_data64.writeBit<4>(i_regions.getBit<5>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT1 = i_regions.getBit<6>() - l_data64.writeBit<5>(i_regions.getBit<6>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT2 = i_regions.getBit<7>() - l_data64.writeBit<6>(i_regions.getBit<7>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT3 = i_regions.getBit<8>() - l_data64.writeBit<7>(i_regions.getBit<8>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT4 = i_regions.getBit<9>() - l_data64.writeBit<8>(i_regions.getBit<9>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT5 = i_regions.getBit<10>() - l_data64.writeBit<9>(i_regions.getBit<10>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT6 = i_regions.getBit<11>() - l_data64.writeBit<10>(i_regions.getBit<11>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT7 = i_regions.getBit<12>() - l_data64.writeBit<11>(i_regions.getBit<12>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT8 = i_regions.getBit<13>() - l_data64.writeBit<12>(i_regions.getBit<13>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT9 = i_regions.getBit<14>() - l_data64.writeBit<13>(i_regions.getBit<14>()); - //SCAN_REGION_TYPE.SCAN_REGION_UNIT10 = i_regions.getBit<15>() - l_data64.writeBit<14>(i_regions.getBit<15>()); - //SCAN_REGION_TYPE.SCAN_TYPE_FUNC = i_scan_types.getBit<4>() - l_data64.writeBit<48>(i_scan_types.getBit<4>()); - //SCAN_REGION_TYPE.SCAN_TYPE_CFG = i_scan_types.getBit<5>() - l_data64.writeBit<49>(i_scan_types.getBit<5>()); - //SCAN_REGION_TYPE.SCAN_TYPE_CCFG_GPTR = i_scan_types.getBit<6>() - l_data64.writeBit<50>(i_scan_types.getBit<6>()); - //SCAN_REGION_TYPE.SCAN_TYPE_REGF = i_scan_types.getBit<7>() - l_data64.writeBit<51>(i_scan_types.getBit<7>()); - //SCAN_REGION_TYPE.SCAN_TYPE_LBIST = i_scan_types.getBit<8>() - l_data64.writeBit<52>(i_scan_types.getBit<8>()); - //SCAN_REGION_TYPE.SCAN_TYPE_ABIST = i_scan_types.getBit<9>() - l_data64.writeBit<53>(i_scan_types.getBit<9>()); - //SCAN_REGION_TYPE.SCAN_TYPE_REPR = i_scan_types.getBit<10>() - l_data64.writeBit<54>(i_scan_types.getBit<10>()); - //SCAN_REGION_TYPE.SCAN_TYPE_TIME = i_scan_types.getBit<11>() - l_data64.writeBit<55>(i_scan_types.getBit<11>()); - //SCAN_REGION_TYPE.SCAN_TYPE_BNDY = i_scan_types.getBit<12>() - l_data64.writeBit<56>(i_scan_types.getBit<12>()); - //SCAN_REGION_TYPE.SCAN_TYPE_FARR = i_scan_types.getBit<13>() - l_data64.writeBit<57>(i_scan_types.getBit<13>()); - //SCAN_REGION_TYPE.SCAN_TYPE_CMSK = i_scan_types.getBit<14>() - l_data64.writeBit<58>(i_scan_types.getBit<14>()); - //SCAN_REGION_TYPE.SCAN_TYPE_INEX = i_scan_types.getBit<15>() - l_data64.writeBit<59>(i_scan_types.getBit<15>()); + //SCAN_REGION_TYPE.SCAN_REGION_ALL_UNITS = l_regions + l_data64.insertFromRight<4, 11>(l_regions); + //SCAN_REGION_TYPE.SCAN_ALL_TYPES = l_scan_types + l_data64.insertFromRight<48, 12>(l_scan_types); FAPI_TRY(fapi2::putScom(i_target_chiplets, PERV_SCAN_REGION_TYPE, l_data64)); FAPI_DBG("set OPCG_REG0 register bit 0='0'"); |