From dbef65eb4b465e9295cc27d1c5159d5dc7b3acaf Mon Sep 17 00:00:00 2001 From: Stephen Glancy Date: Mon, 20 Aug 2018 14:32:40 -0500 Subject: Adds explorer OMI training code Change-Id: Iedccb7e86f512474650db17ee6443e3ccaa8dc1e Original-Change-Id: Ic4fcd226eea7478ffff6cacb830f8e1e83e6f247 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64919 Reviewed-by: Louis Stermole Tested-by: Jenkins Server Reviewed-by: RYAN P. KING Reviewed-by: ANDRE A. MARIN Reviewed-by: Jennifer A. Stofer --- .../procedures/hwp/memory/lib/i2c/exp_i2c.H | 14 ++++++-- .../procedures/hwp/memory/lib/i2c/exp_i2c_fields.H | 40 +++++++++++----------- .../procedures/hwp/memory/lib/shared/exp_consts.H | 5 +++ 3 files changed, 37 insertions(+), 22 deletions(-) (limited to 'src/import/chips/ocmb/explorer') diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/i2c/exp_i2c.H b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/i2c/exp_i2c.H index 866e1277..3d7ae5c9 100644 --- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/i2c/exp_i2c.H +++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/i2c/exp_i2c.H @@ -62,7 +62,7 @@ inline fapi2::ReturnCode status_code( const fapi2::Target& i_data ) { // Set to a high number to make sure check for SUCCESS (== 0) isn't a fluke - size_t l_status = ~(0); + uint8_t l_status = ~(0); FAPI_TRY( status::get_status_code(i_target, i_data, l_status) ); // Technically many cmds have their own status code decoding..but SUCCESS is always 0. @@ -92,7 +92,8 @@ inline void fw_status_setup(size_t& o_size, std::vector& o_cmd_id) { o_size = FW_STATUS_BYTE_LEN; - o_cmd_id.assign({FW_STATUS}); + o_cmd_id.clear(); + o_cmd_id.push_back(FW_STATUS); } /// @@ -125,7 +126,16 @@ fapi_try_exit: inline void boot_config_setup(std::vector& io_data) { + // Need data length as well - boot config can only ever be written + io_data.insert(io_data.begin(), FW_BOOT_CONFIG_BYTE_LEN); + + // Then add the command io_data.insert(io_data.begin(), FW_BOOT_CONFIG); + + // Written commands need to be in the form of + // CMD + // DATA LEN + // DATA } /// diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/i2c/exp_i2c_fields.H b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/i2c/exp_i2c_fields.H index 2a8b8301..df60c4e5 100644 --- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/i2c/exp_i2c_fields.H +++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/i2c/exp_i2c_fields.H @@ -86,7 +86,7 @@ struct fieldTraits; template <> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0x0F; + static constexpr uint8_t COMPARISON_VAL = 0x0F; static constexpr const char* FIELD_STR = "SerDes Frequency"; template @@ -100,7 +100,7 @@ struct fieldTraits template <> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0x02; + static constexpr uint8_t COMPARISON_VAL = 0x02; static constexpr const char* FIELD_STR = "Lane mode"; template @@ -114,7 +114,7 @@ struct fieldTraits template <> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0x01; + static constexpr uint8_t COMPARISON_VAL = 0x01; static constexpr const char* FIELD_STR = "Boot mode"; template @@ -128,7 +128,7 @@ struct fieldTraits template <> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0x01; + static constexpr uint8_t COMPARISON_VAL = 0x01; static constexpr const char* FIELD_STR = "DL Layer Boot mode"; template @@ -142,7 +142,7 @@ struct fieldTraits template <> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0x02; + static constexpr uint8_t COMPARISON_VAL = 0x02; static constexpr const char* FIELD_STR = "Transport Layer"; template @@ -156,7 +156,7 @@ struct fieldTraits template <> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0x01; + static constexpr uint8_t COMPARISON_VAL = 0x01; static constexpr const char* FIELD_STR = "OpenCapi looptest test"; template @@ -170,7 +170,7 @@ struct fieldTraits template <> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0x01; + static constexpr uint8_t COMPARISON_VAL = 0x01; static constexpr const char* FIELD_STR = "FW Mode"; template @@ -184,7 +184,7 @@ struct fieldTraits template<> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0xFF; + static constexpr uint8_t COMPARISON_VAL = 0xFF; static constexpr const char* FIELD_STR = "Command ID"; template @@ -198,7 +198,7 @@ struct fieldTraits template<> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0xFF; + static constexpr uint8_t COMPARISON_VAL = 0xFF; static constexpr const char* FIELD_STR = "Status Code"; template @@ -212,7 +212,7 @@ struct fieldTraits template<> struct fieldTraits { - static constexpr size_t COMPARISON_VAL = 0x03; + static constexpr uint8_t COMPARISON_VAL = 0x03; static constexpr const char* FIELD_STR = "Boot Stage"; template @@ -275,7 +275,7 @@ namespace boot_cfg /// inline fapi2::ReturnCode get_serdes_freq(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -303,7 +303,7 @@ inline fapi2::ReturnCode set_serdes_freq(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -331,7 +331,7 @@ inline fapi2::ReturnCode set_lane_mode(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -358,7 +358,7 @@ inline fapi2::ReturnCode set_boot_mode(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -386,7 +386,7 @@ inline fapi2::ReturnCode set_dl_layer_boot_mode(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -415,7 +415,7 @@ inline fapi2::ReturnCode set_transport_layer(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -443,7 +443,7 @@ inline fapi2::ReturnCode set_loopback_test(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -476,7 +476,7 @@ namespace status /// inline fapi2::ReturnCode get_boot_stage(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -490,7 +490,7 @@ inline fapi2::ReturnCode get_boot_stage(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } @@ -504,7 +504,7 @@ inline fapi2::ReturnCode get_status_code(const fapi2::Target& i_target, const std::vector& i_data, - size_t& o_setting) + uint8_t& o_setting) { return get_field(i_target, i_data, o_setting); } diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H index bd2d51fd..803f7a45 100644 --- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H +++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H @@ -33,6 +33,9 @@ // *HWP Level: 2 // *HWP Consumed by: CI +#ifndef EXP_CONSTS_H +#define EXP_CONSTS_H + namespace mss { namespace exp @@ -120,3 +123,5 @@ enum boot_stages }// i2c }// exp }// mss + +#endif -- cgit v1.2.1